s390: simplify disabled_wait
The disabled_wait() function uses its argument as the PSW address when it stops the CPU with a wait PSW that is disabled for interrupts. The different callers sometimes use a specific number like 0xdeadbeef to indicate a specific failure, the early boot code uses 0 and some other calls sites use __builtin_return_address(0). At the time a dump is created the current PSW and the registers of a CPU are written to lowcore to make them avaiable to the dump analysis tool. For a CPU stopped with disabled_wait the PSW and the registers do not really make sense together, the PSW address does not point to the function the registers belong to. Simplify disabled_wait() by using _THIS_IP_ for the PSW address and drop the argument to the function. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
@@ -318,12 +318,7 @@ void panic(const char *fmt, ...)
|
||||
}
|
||||
#endif
|
||||
#if defined(CONFIG_S390)
|
||||
{
|
||||
unsigned long caller;
|
||||
|
||||
caller = (unsigned long)__builtin_return_address(0);
|
||||
disabled_wait(caller);
|
||||
}
|
||||
disabled_wait();
|
||||
#endif
|
||||
pr_emerg("---[ end Kernel panic - not syncing: %s ]---\n", buf);
|
||||
local_irq_enable();
|
||||
|
Reference in New Issue
Block a user