Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Enumerations | Functions | Variables
ipl.h File Reference
#include <asm/types.h>
#include <asm/cio.h>
#include <asm/setup.h>

Go to the source code of this file.

Data Structures

struct  ipl_list_hdr
 
struct  ipl_block_fcp
 
struct  ipl_block_ccw
 
struct  ipl_parameter_block
 
struct  ipl_info
 

Macros

#define IPL_PARMBLOCK_ORIGIN   0x2000
 
#define IPL_PARM_BLK_FCP_LEN
 
#define IPL_PARM_BLK0_FCP_LEN   (sizeof(struct ipl_block_fcp) + 8)
 
#define IPL_PARM_BLK_CCW_LEN
 
#define IPL_PARM_BLK0_CCW_LEN   (sizeof(struct ipl_block_ccw) + 8)
 
#define IPL_MAX_SUPPORTED_VERSION   (0)
 
#define IPL_PARMBLOCK_START
 
#define IPL_PARMBLOCK_SIZE   (IPL_PARMBLOCK_START->hdr.len)
 
#define DIAG308_VMPARM_SIZE   64
 
#define DIAG308_SCPDATA_SIZE
 

Enumerations

enum  { IPL_DEVNO_VALID = 1, IPL_PARMBLOCK_VALID = 2, IPL_NSS_VALID = 4 }
 
enum  ipl_type {
  IPL_TYPE_UNKNOWN = 1, IPL_TYPE_CCW = 2, IPL_TYPE_FCP = 4, IPL_TYPE_FCP_DUMP = 8,
  IPL_TYPE_NSS = 16
}
 
enum  diag308_subcode {
  DIAG308_REL_HSA = 2, DIAG308_IPL = 3, DIAG308_DUMP = 4, DIAG308_SET = 5,
  DIAG308_STORE = 6
}
 
enum  diag308_ipl_type { DIAG308_IPL_TYPE_FCP = 0, DIAG308_IPL_TYPE_CCW = 2 }
 
enum  diag308_opt { DIAG308_IPL_OPT_IPL = 0x10, DIAG308_IPL_OPT_DUMP = 0x20 }
 
enum  diag308_flags { DIAG308_FLAGS_LP_VALID = 0x80 }
 
enum  diag308_vm_flags { DIAG308_VM_FLAGS_NSS_VALID = 0x80, DIAG308_VM_FLAGS_VP_VALID = 0x40 }
 
enum  diag308_rc { DIAG308_RC_OK = 0x0001, DIAG308_RC_NOCONFIG = 0x0102 }
 

Functions

struct ipl_list_hdr __attribute__ ((packed))
 
struct ipl_parameter_block __attribute__ ((packed, aligned(4096)))
 
void do_reipl (void)
 
void do_halt (void)
 
void do_poff (void)
 
void ipl_save_parameters (void)
 
void ipl_update_parameters (void)
 
size_t append_ipl_vmparm (char *, size_t)
 
size_t append_ipl_scpdata (char *, size_t)
 
void setup_ipl (void)
 
int diag308 (unsigned long subcode, void *addr)
 
void diag308_reset (void)
 
void store_status (void)
 
void lgr_info_log (void)
 

Variables

u32 len
 
u8 reserved1 [3]
 
u8 version
 
u32 blk0_len
 
u8 pbt
 
u8 flags
 
u16 reserved2
 
u8 opt
 
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 []
 
u8 load_parm [8]
 
u8 vm_flags
 
u32 vm_parm_len
 
u8 nss_name [8]
 
u8 vm_parm [DIAG308_VMPARM_SIZE]
 
struct ipl_list_hdr hdr
 
union {
   struct ipl_block_fcp   fcp
 
   struct ipl_block_ccw   ccw
 
ipl_info
 
u32 ipl_flags
 
u32 dump_prefix_page
 
unsigned int zfcpdump_prefix_array []
 
enum { ... }  __attribute__
 

Macro Definition Documentation

#define DIAG308_SCPDATA_SIZE
Value:

Definition at line 60 of file ipl.h.

#define DIAG308_VMPARM_SIZE   64

Definition at line 59 of file ipl.h.

#define IPL_MAX_SUPPORTED_VERSION   (0)

Definition at line 26 of file ipl.h.

#define IPL_PARM_BLK0_CCW_LEN   (sizeof(struct ipl_block_ccw) + 8)

Definition at line 24 of file ipl.h.

#define IPL_PARM_BLK0_FCP_LEN   (sizeof(struct ipl_block_fcp) + 8)

Definition at line 19 of file ipl.h.

#define IPL_PARM_BLK_CCW_LEN
Value:
(sizeof(struct ipl_list_hdr) + \

Definition at line 21 of file ipl.h.

#define IPL_PARM_BLK_FCP_LEN
Value:
(sizeof(struct ipl_list_hdr) + \

Definition at line 16 of file ipl.h.

#define IPL_PARMBLOCK_ORIGIN   0x2000

Definition at line 14 of file ipl.h.

#define IPL_PARMBLOCK_SIZE   (IPL_PARMBLOCK_START->hdr.len)

Definition at line 30 of file ipl.h.

#define IPL_PARMBLOCK_START
Value:

Definition at line 28 of file ipl.h.

Enumeration Type Documentation

anonymous enum
Enumerator:
IPL_DEVNO_VALID 
IPL_PARMBLOCK_VALID 
IPL_NSS_VALID 

Definition at line 99 of file ipl.h.

Enumerator:
DIAG308_FLAGS_LP_VALID 

Definition at line 155 of file ipl.h.

Enumerator:
DIAG308_IPL_TYPE_FCP 
DIAG308_IPL_TYPE_CCW 

Definition at line 145 of file ipl.h.

Enumerator:
DIAG308_IPL_OPT_IPL 
DIAG308_IPL_OPT_DUMP 

Definition at line 150 of file ipl.h.

enum diag308_rc
Enumerator:
DIAG308_RC_OK 
DIAG308_RC_NOCONFIG 

Definition at line 164 of file ipl.h.

Enumerator:
DIAG308_REL_HSA 
DIAG308_IPL 
DIAG308_DUMP 
DIAG308_SET 
DIAG308_STORE 

Definition at line 137 of file ipl.h.

Enumerator:
DIAG308_VM_FLAGS_NSS_VALID 
DIAG308_VM_FLAGS_VP_VALID 

Definition at line 159 of file ipl.h.

enum ipl_type
Enumerator:
IPL_TYPE_UNKNOWN 
IPL_TYPE_CCW 
IPL_TYPE_FCP 
IPL_TYPE_FCP_DUMP 
IPL_TYPE_NSS 

Definition at line 105 of file ipl.h.

Function Documentation

struct ipl_list_hdr __attribute__ ( (packed)  )
read

Definition at line 171 of file esd_usb2.c.

size_t append_ipl_scpdata ( char ,
size_t   
)

Definition at line 376 of file ipl.c.

size_t append_ipl_vmparm ( char ,
size_t   
)

Definition at line 313 of file ipl.c.

int diag308 ( unsigned long  subcode,
void addr 
)

Definition at line 168 of file ipl.c.

void diag308_reset ( void  )
void do_halt ( void  )
void do_poff ( void  )
void do_reipl ( void  )
void ipl_save_parameters ( void  )

Definition at line 1973 of file ipl.c.

void ipl_update_parameters ( void  )

Definition at line 1964 of file ipl.c.

void lgr_info_log ( void  )

Definition at line 134 of file lgr.c.

void setup_ipl ( void  )

Definition at line 1937 of file ipl.c.

void store_status ( void  )

Variable Documentation

enum { ... } __attribute__
u32 blk0_len

Definition at line 44 of file ipl.h.

u32 bootprog

Definition at line 66 of file ipl.h.

u64 br_lba

Definition at line 68 of file ipl.h.

Definition at line 86 of file ipl.h.

u16 devno

Definition at line 62 of file ipl.h.

u32 dump_prefix_page

Definition at line 2025 of file ipl.c.

Definition at line 85 of file ipl.h.

u8 flags

Definition at line 46 of file ipl.h.

Definition at line 83 of file ipl.h.

u32 ipl_flags

Definition at line 131 of file ipl.h.

u32 len

Definition at line 41 of file ipl.h.

u8 load_parm[8]

Definition at line 75 of file ipl.h.

__u64 lun

Definition at line 65 of file ipl.h.

u8 nss_name[8]

Definition at line 82 of file ipl.h.

u8 opt

Definition at line 59 of file ipl.h.

u8 pbt

Definition at line 45 of file ipl.h.

u8 reserved1[84]

Definition at line 42 of file ipl.h.

u8 reserved2[2]

Definition at line 47 of file ipl.h.

u8 reserved3[3]

Definition at line 61 of file ipl.h.

__u8 reserved4

Definition at line 63 of file ipl.h.

unsigned char reserved5

Definition at line 67 of file ipl.h.

unsigned char reserved6

Definition at line 70 of file ipl.h.

u8 scp_data[]

Definition at line 71 of file ipl.h.

u32 scp_data_len

Definition at line 69 of file ipl.h.

u8 version

Definition at line 43 of file ipl.h.

u8 vm_flags

Definition at line 79 of file ipl.h.

Definition at line 83 of file ipl.h.

u32 vm_parm_len

Definition at line 81 of file ipl.h.

volatile u64 wwpn

Definition at line 64 of file ipl.h.

unsigned int zfcpdump_prefix_array[]