mirror of
https://github.com/edk2-porting/linux-next.git
synced 2024-12-20 19:23:57 +08:00
s390/ipl: add definitions for the IPL report block
To transport the information required for secure boot a new IPL report will be created at boot time. It will be written to memory right after the IPL parameter block. To work with the IPL report a couple of additional structure definitions are added the the uapi/ipl.h header. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
5f1207fbe7
commit
d29af5b7a8
@ -7,10 +7,15 @@
|
||||
/* IPL Parameter List header */
|
||||
struct ipl_pl_hdr {
|
||||
__u32 len;
|
||||
__u8 reserved1[3];
|
||||
__u8 flags;
|
||||
__u8 reserved1[2];
|
||||
__u8 version;
|
||||
} __packed;
|
||||
|
||||
#define IPL_PL_FLAG_IPLPS 0x80
|
||||
#define IPL_PL_FLAG_SIPL 0x40
|
||||
#define IPL_PL_FLAG_IPLSR 0x20
|
||||
|
||||
/* IPL Parameter Block header */
|
||||
struct ipl_pb_hdr {
|
||||
__u32 len;
|
||||
@ -91,4 +96,59 @@ struct ipl_pb1_scp_data {
|
||||
__u8 scp_data[];
|
||||
} __packed;
|
||||
|
||||
/* IPL Report List header */
|
||||
struct ipl_rl_hdr {
|
||||
__u32 len;
|
||||
__u8 flags;
|
||||
__u8 reserved1[2];
|
||||
__u8 version;
|
||||
__u8 reserved2[8];
|
||||
} __packed;
|
||||
|
||||
/* IPL Report Block header */
|
||||
struct ipl_rb_hdr {
|
||||
__u32 len;
|
||||
__u8 rbt;
|
||||
__u8 reserved1[11];
|
||||
} __packed;
|
||||
|
||||
/* IPL Report Block types */
|
||||
enum ipl_rbt {
|
||||
IPL_RBT_CERTIFICATES = 1,
|
||||
IPL_RBT_COMPONENTS = 2,
|
||||
};
|
||||
|
||||
/* IPL Report Block for the certificate list */
|
||||
struct ipl_rb_certificate_entry {
|
||||
__u64 addr;
|
||||
__u64 len;
|
||||
} __packed;
|
||||
|
||||
struct ipl_rb_certificates {
|
||||
__u32 len;
|
||||
__u8 rbt;
|
||||
__u8 reserved1[11];
|
||||
struct ipl_rb_certificate_entry entries[];
|
||||
} __packed;
|
||||
|
||||
/* IPL Report Block for the component list */
|
||||
struct ipl_rb_component_entry {
|
||||
__u64 addr;
|
||||
__u64 len;
|
||||
__u8 flags;
|
||||
__u8 reserved1[5];
|
||||
__u16 certificate_index;
|
||||
__u8 reserved2[8];
|
||||
};
|
||||
|
||||
#define IPL_RB_COMPONENT_FLAG_SIGNED 0x80
|
||||
#define IPL_RB_COMPONENT_FLAG_VERIFIED 0x40
|
||||
|
||||
struct ipl_rb_components {
|
||||
__u32 len;
|
||||
__u8 rbt;
|
||||
__u8 reserved1[11];
|
||||
struct ipl_rb_component_entry entries[];
|
||||
} __packed;
|
||||
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user