Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v5.3 154 lines 2.8 kB view raw
1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */ 2#ifndef _ASM_S390_UAPI_IPL_H 3#define _ASM_S390_UAPI_IPL_H 4 5#include <linux/types.h> 6 7/* IPL Parameter List header */ 8struct ipl_pl_hdr { 9 __u32 len; 10 __u8 flags; 11 __u8 reserved1[2]; 12 __u8 version; 13} __packed; 14 15#define IPL_PL_FLAG_IPLPS 0x80 16#define IPL_PL_FLAG_SIPL 0x40 17#define IPL_PL_FLAG_IPLSR 0x20 18 19/* IPL Parameter Block header */ 20struct ipl_pb_hdr { 21 __u32 len; 22 __u8 pbt; 23} __packed; 24 25/* IPL Parameter Block types */ 26enum ipl_pbt { 27 IPL_PBT_FCP = 0, 28 IPL_PBT_SCP_DATA = 1, 29 IPL_PBT_CCW = 2, 30}; 31 32/* IPL Parameter Block 0 with common fields */ 33struct ipl_pb0_common { 34 __u32 len; 35 __u8 pbt; 36 __u8 flags; 37 __u8 reserved1[2]; 38 __u8 loadparm[8]; 39 __u8 reserved2[84]; 40} __packed; 41 42#define IPL_PB0_FLAG_LOADPARM 0x80 43 44/* IPL Parameter Block 0 for FCP */ 45struct ipl_pb0_fcp { 46 __u32 len; 47 __u8 pbt; 48 __u8 reserved1[3]; 49 __u8 loadparm[8]; 50 __u8 reserved2[304]; 51 __u8 opt; 52 __u8 reserved3[3]; 53 __u8 cssid; 54 __u8 reserved4[1]; 55 __u16 devno; 56 __u8 reserved5[4]; 57 __u64 wwpn; 58 __u64 lun; 59 __u32 bootprog; 60 __u8 reserved6[12]; 61 __u64 br_lba; 62 __u32 scp_data_len; 63 __u8 reserved7[260]; 64 __u8 scp_data[]; 65} __packed; 66 67#define IPL_PB0_FCP_OPT_IPL 0x10 68#define IPL_PB0_FCP_OPT_DUMP 0x20 69 70/* IPL Parameter Block 0 for CCW */ 71struct ipl_pb0_ccw { 72 __u32 len; 73 __u8 pbt; 74 __u8 flags; 75 __u8 reserved1[2]; 76 __u8 loadparm[8]; 77 __u8 reserved2[84]; 78 __u16 reserved3 : 13; 79 __u8 ssid : 3; 80 __u16 devno; 81 __u8 vm_flags; 82 __u8 reserved4[3]; 83 __u32 vm_parm_len; 84 __u8 nss_name[8]; 85 __u8 vm_parm[64]; 86 __u8 reserved5[8]; 87} __packed; 88 89#define IPL_PB0_CCW_VM_FLAG_NSS 0x80 90#define IPL_PB0_CCW_VM_FLAG_VP 0x40 91 92/* IPL Parameter Block 1 for additional SCP data */ 93struct ipl_pb1_scp_data { 94 __u32 len; 95 __u8 pbt; 96 __u8 scp_data[]; 97} __packed; 98 99/* IPL Report List header */ 100struct ipl_rl_hdr { 101 __u32 len; 102 __u8 flags; 103 __u8 reserved1[2]; 104 __u8 version; 105 __u8 reserved2[8]; 106} __packed; 107 108/* IPL Report Block header */ 109struct ipl_rb_hdr { 110 __u32 len; 111 __u8 rbt; 112 __u8 reserved1[11]; 113} __packed; 114 115/* IPL Report Block types */ 116enum ipl_rbt { 117 IPL_RBT_CERTIFICATES = 1, 118 IPL_RBT_COMPONENTS = 2, 119}; 120 121/* IPL Report Block for the certificate list */ 122struct ipl_rb_certificate_entry { 123 __u64 addr; 124 __u64 len; 125} __packed; 126 127struct ipl_rb_certificates { 128 __u32 len; 129 __u8 rbt; 130 __u8 reserved1[11]; 131 struct ipl_rb_certificate_entry entries[]; 132} __packed; 133 134/* IPL Report Block for the component list */ 135struct ipl_rb_component_entry { 136 __u64 addr; 137 __u64 len; 138 __u8 flags; 139 __u8 reserved1[5]; 140 __u16 certificate_index; 141 __u8 reserved2[8]; 142}; 143 144#define IPL_RB_COMPONENT_FLAG_SIGNED 0x80 145#define IPL_RB_COMPONENT_FLAG_VERIFIED 0x40 146 147struct ipl_rb_components { 148 __u32 len; 149 __u8 rbt; 150 __u8 reserved1[11]; 151 struct ipl_rb_component_entry entries[]; 152} __packed; 153 154#endif