diff options
author | Michael Holzheu <holzheu@de.ibm.com> | 2007-04-27 10:01:49 -0400 |
---|---|---|
committer | Martin Schwidefsky <schwidefsky@de.ibm.com> | 2007-04-27 10:01:44 -0400 |
commit | 411ed3225733dbd83b4cbaaa992ef80d6ec1534e (patch) | |
tree | 388aeac39e9fad5f7cadcc8fcbf0838811f5829d /include/asm-s390/ipl.h | |
parent | 7039d3a11c4b4b59f9ef933b4b0a28304bdd07d1 (diff) |
[S390] zfcpdump support.
s390 machines provide hardware support for creating Linux dumps on SCSI
disks. For creating a dump a special purpose dump Linux is used. The first
32 MB of memory are saved by the hardware before the dump Linux is
booted. Via an SCLP interface, the saved memory can be accessed from
Linux. This patch exports memory and registers of the crashed Linux to
userspace via a debugfs file. For more information refer to
Documentation/s390/zfcpdump.txt, which is included in this patch.
Signed-off-by: Michael Holzheu <holzheu@de.ibm.com>
Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
Diffstat (limited to 'include/asm-s390/ipl.h')
-rw-r--r-- | include/asm-s390/ipl.h | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/include/asm-s390/ipl.h b/include/asm-s390/ipl.h index 15bb0b529551..bdcd448d43fb 100644 --- a/include/asm-s390/ipl.h +++ b/include/asm-s390/ipl.h | |||
@@ -8,6 +8,8 @@ | |||
8 | #define _ASM_S390_IPL_H | 8 | #define _ASM_S390_IPL_H |
9 | 9 | ||
10 | #include <asm/types.h> | 10 | #include <asm/types.h> |
11 | #include <asm/cio.h> | ||
12 | #include <asm/setup.h> | ||
11 | 13 | ||
12 | #define IPL_PARMBLOCK_ORIGIN 0x2000 | 14 | #define IPL_PARMBLOCK_ORIGIN 0x2000 |
13 | 15 | ||
@@ -79,6 +81,7 @@ struct ipl_parameter_block { | |||
79 | extern u32 ipl_flags; | 81 | extern u32 ipl_flags; |
80 | 82 | ||
81 | extern u32 dump_prefix_page; | 83 | extern u32 dump_prefix_page; |
84 | |||
82 | extern void do_reipl(void); | 85 | extern void do_reipl(void); |
83 | extern void ipl_save_parameters(void); | 86 | extern void ipl_save_parameters(void); |
84 | 87 | ||
@@ -88,6 +91,35 @@ enum { | |||
88 | IPL_NSS_VALID = 4, | 91 | IPL_NSS_VALID = 4, |
89 | }; | 92 | }; |
90 | 93 | ||
94 | enum ipl_type { | ||
95 | IPL_TYPE_UNKNOWN = 1, | ||
96 | IPL_TYPE_CCW = 2, | ||
97 | IPL_TYPE_FCP = 4, | ||
98 | IPL_TYPE_FCP_DUMP = 8, | ||
99 | IPL_TYPE_NSS = 16, | ||
100 | }; | ||
101 | |||
102 | struct ipl_info | ||
103 | { | ||
104 | enum ipl_type type; | ||
105 | union { | ||
106 | struct { | ||
107 | struct ccw_dev_id dev_id; | ||
108 | } ccw; | ||
109 | struct { | ||
110 | struct ccw_dev_id dev_id; | ||
111 | u64 wwpn; | ||
112 | u64 lun; | ||
113 | } fcp; | ||
114 | struct { | ||
115 | char name[NSS_NAME_SIZE + 1]; | ||
116 | } nss; | ||
117 | } data; | ||
118 | }; | ||
119 | |||
120 | extern struct ipl_info ipl_info; | ||
121 | extern void setup_ipl_info(void); | ||
122 | |||
91 | /* | 123 | /* |
92 | * DIAG 308 support | 124 | * DIAG 308 support |
93 | */ | 125 | */ |