summaryrefslogtreecommitdiff
path: root/arch/s390/include/asm/ipl.h
diff options
context:
space:
mode:
authorMartin Schwidefsky <schwidefsky@de.ibm.com>2015-10-29 12:28:26 +0300
committerMartin Schwidefsky <schwidefsky@de.ibm.com>2015-11-27 11:24:14 +0300
commit1a36a39e225d3558fb3776a3d3d7736cf1ec9f60 (patch)
tree63a1c8892ff95dac939beb6e7a13456fcec20cb7 /arch/s390/include/asm/ipl.h
parentf08b8414632c9f256e33f0a18104d8d5e103d204 (diff)
downloadlinux-1a36a39e225d3558fb3776a3d3d7736cf1ec9f60.tar.xz
s390/dump: rework CPU register dump code
To collect the CPU registers of the crashed system allocated a single page with memblock_alloc_base and use it as a copy buffer. Replace the stop-and-store-status sigp with a store-status-at-address sigp in smp_save_dump_cpus() and smp_store_status(). In both cases the target CPU is already stopped and store-status-at-address avoids the detour via the absolute zero page. For kexec simplify s390_reset_system and call store_status() before the prefix register of the boot CPU has been set to zero. Use STPX to store the prefix register and remove dump_prefix_page. Acked-by: Michael Holzheu <holzheu@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Diffstat (limited to 'arch/s390/include/asm/ipl.h')
-rw-r--r--arch/s390/include/asm/ipl.h3
1 files changed, 1 insertions, 2 deletions
diff --git a/arch/s390/include/asm/ipl.h b/arch/s390/include/asm/ipl.h
index 86634e71b69f..1dc55db8cd81 100644
--- a/arch/s390/include/asm/ipl.h
+++ b/arch/s390/include/asm/ipl.h
@@ -87,7 +87,6 @@ struct ipl_parameter_block {
* IPL validity flags
*/
extern u32 ipl_flags;
-extern u32 dump_prefix_page;
struct dump_save_areas {
struct save_area_ext **areas;
@@ -176,7 +175,7 @@ enum diag308_rc {
extern int diag308(unsigned long subcode, void *addr);
extern void diag308_reset(void);
-extern void store_status(void);
+extern void store_status(void (*fn)(void *), void *data);
extern void lgr_info_log(void);
#endif /* _ASM_S390_IPL_H */