|
@@ -16,7 +16,6 @@
|
|
|
|
|
|
#define PARMAREA 0x10400
|
|
#define PARMAREA 0x10400
|
|
#define MEMORY_CHUNKS 16 /* max 0x7fff */
|
|
#define MEMORY_CHUNKS 16 /* max 0x7fff */
|
|
-#define IPL_PARMBLOCK_ORIGIN 0x2000
|
|
|
|
|
|
|
|
#ifndef __ASSEMBLY__
|
|
#ifndef __ASSEMBLY__
|
|
|
|
|
|
@@ -97,82 +96,9 @@ extern char vmpoff_cmd[];
|
|
#define SET_CONSOLE_3215 do { console_mode = 2; } while (0)
|
|
#define SET_CONSOLE_3215 do { console_mode = 2; } while (0)
|
|
#define SET_CONSOLE_3270 do { console_mode = 3; } while (0)
|
|
#define SET_CONSOLE_3270 do { console_mode = 3; } while (0)
|
|
|
|
|
|
-struct ipl_list_hdr {
|
|
|
|
- u32 len;
|
|
|
|
- u8 reserved1[3];
|
|
|
|
- u8 version;
|
|
|
|
- u32 blk0_len;
|
|
|
|
- u8 pbt;
|
|
|
|
- u8 flags;
|
|
|
|
- u16 reserved2;
|
|
|
|
-} __attribute__((packed));
|
|
|
|
-
|
|
|
|
-struct ipl_block_fcp {
|
|
|
|
- u8 reserved1[313-1];
|
|
|
|
- u8 opt;
|
|
|
|
- u8 reserved2[3];
|
|
|
|
- u16 reserved3;
|
|
|
|
- u16 devno;
|
|
|
|
- u8 reserved4[4];
|
|
|
|
- u64 wwpn;
|
|
|
|
- u64 lun;
|
|
|
|
- u32 bootprog;
|
|
|
|
- u8 reserved5[12];
|
|
|
|
- u64 br_lba;
|
|
|
|
- u32 scp_data_len;
|
|
|
|
- u8 reserved6[260];
|
|
|
|
- u8 scp_data[];
|
|
|
|
-} __attribute__((packed));
|
|
|
|
-
|
|
|
|
-struct ipl_block_ccw {
|
|
|
|
- u8 load_param[8];
|
|
|
|
- u8 reserved1[84];
|
|
|
|
- u8 reserved2[2];
|
|
|
|
- u16 devno;
|
|
|
|
- u8 vm_flags;
|
|
|
|
- u8 reserved3[3];
|
|
|
|
- u32 vm_parm_len;
|
|
|
|
-} __attribute__((packed));
|
|
|
|
-
|
|
|
|
-struct ipl_parameter_block {
|
|
|
|
- struct ipl_list_hdr hdr;
|
|
|
|
- union {
|
|
|
|
- struct ipl_block_fcp fcp;
|
|
|
|
- struct ipl_block_ccw ccw;
|
|
|
|
- } ipl_info;
|
|
|
|
-} __attribute__((packed));
|
|
|
|
-
|
|
|
|
-#define IPL_PARM_BLK_FCP_LEN (sizeof(struct ipl_list_hdr) + \
|
|
|
|
- sizeof(struct ipl_block_fcp))
|
|
|
|
-
|
|
|
|
-#define IPL_PARM_BLK_CCW_LEN (sizeof(struct ipl_list_hdr) + \
|
|
|
|
- sizeof(struct ipl_block_ccw))
|
|
|
|
-
|
|
|
|
-#define IPL_MAX_SUPPORTED_VERSION (0)
|
|
|
|
-
|
|
|
|
-/*
|
|
|
|
- * IPL validity flags and parameters as detected in head.S
|
|
|
|
- */
|
|
|
|
-extern u32 ipl_flags;
|
|
|
|
-extern u16 ipl_devno;
|
|
|
|
-
|
|
|
|
-extern void do_reipl(void);
|
|
|
|
-extern void ipl_save_parameters(void);
|
|
|
|
-
|
|
|
|
-enum {
|
|
|
|
- IPL_DEVNO_VALID = 1,
|
|
|
|
- IPL_PARMBLOCK_VALID = 2,
|
|
|
|
- IPL_NSS_VALID = 4,
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
#define NSS_NAME_SIZE 8
|
|
#define NSS_NAME_SIZE 8
|
|
-
|
|
|
|
extern char kernel_nss_name[];
|
|
extern char kernel_nss_name[];
|
|
|
|
|
|
-#define IPL_PARMBLOCK_START ((struct ipl_parameter_block *) \
|
|
|
|
- IPL_PARMBLOCK_ORIGIN)
|
|
|
|
-#define IPL_PARMBLOCK_SIZE (IPL_PARMBLOCK_START->hdr.len)
|
|
|
|
-
|
|
|
|
#else /* __ASSEMBLY__ */
|
|
#else /* __ASSEMBLY__ */
|
|
|
|
|
|
#ifndef __s390x__
|
|
#ifndef __s390x__
|