diff options
-rw-r--r-- | arch/s390/include/uapi/asm/ipl.h | 62 |
1 files changed, 61 insertions, 1 deletions
diff --git a/arch/s390/include/uapi/asm/ipl.h b/arch/s390/include/uapi/asm/ipl.h index 3b513b39fca0..fd32b1cd80d2 100644 --- a/arch/s390/include/uapi/asm/ipl.h +++ b/arch/s390/include/uapi/asm/ipl.h | |||
@@ -7,10 +7,15 @@ | |||
7 | /* IPL Parameter List header */ | 7 | /* IPL Parameter List header */ |
8 | struct ipl_pl_hdr { | 8 | struct ipl_pl_hdr { |
9 | __u32 len; | 9 | __u32 len; |
10 | __u8 reserved1[3]; | 10 | __u8 flags; |
11 | __u8 reserved1[2]; | ||
11 | __u8 version; | 12 | __u8 version; |
12 | } __packed; | 13 | } __packed; |
13 | 14 | ||
15 | #define IPL_PL_FLAG_IPLPS 0x80 | ||
16 | #define IPL_PL_FLAG_SIPL 0x40 | ||
17 | #define IPL_PL_FLAG_IPLSR 0x20 | ||
18 | |||
14 | /* IPL Parameter Block header */ | 19 | /* IPL Parameter Block header */ |
15 | struct ipl_pb_hdr { | 20 | struct ipl_pb_hdr { |
16 | __u32 len; | 21 | __u32 len; |
@@ -91,4 +96,59 @@ struct ipl_pb1_scp_data { | |||
91 | __u8 scp_data[]; | 96 | __u8 scp_data[]; |
92 | } __packed; | 97 | } __packed; |
93 | 98 | ||
99 | /* IPL Report List header */ | ||
100 | struct 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 */ | ||
109 | struct ipl_rb_hdr { | ||
110 | __u32 len; | ||
111 | __u8 rbt; | ||
112 | __u8 reserved1[11]; | ||
113 | } __packed; | ||
114 | |||
115 | /* IPL Report Block types */ | ||
116 | enum ipl_rbt { | ||
117 | IPL_RBT_CERTIFICATES = 1, | ||
118 | IPL_RBT_COMPONENTS = 2, | ||
119 | }; | ||
120 | |||
121 | /* IPL Report Block for the certificate list */ | ||
122 | struct ipl_rb_certificate_entry { | ||
123 | __u64 addr; | ||
124 | __u64 len; | ||
125 | } __packed; | ||
126 | |||
127 | struct 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 */ | ||
135 | struct 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 | |||
147 | struct ipl_rb_components { | ||
148 | __u32 len; | ||
149 | __u8 rbt; | ||
150 | __u8 reserved1[11]; | ||
151 | struct ipl_rb_component_entry entries[]; | ||
152 | } __packed; | ||
153 | |||
94 | #endif | 154 | #endif |