diff options
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 | */ |
