mirror of
https://github.com/Fishwaldo/linux-bl808.git
synced 2025-06-17 20:25:19 +00:00
s390/ipl: read IPL report at early boot
Read the IPL Report block provided by secure-boot, add the entries of the certificate list to the system key ring and print the list of components. PR: Adjust to Vasilys bootdata_preserved patch set. Preserve ipl_cert_list for later use in kexec_file. Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com> Signed-off-by: Philipp Rudo <prudo@linux.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
d29af5b7a8
commit
9641b8cc73
10 changed files with 301 additions and 17 deletions
|
@ -122,6 +122,13 @@ static char *dump_type_str(enum dump_type type)
|
|||
|
||||
int __bootdata_preserved(ipl_block_valid);
|
||||
struct ipl_parameter_block __bootdata_preserved(ipl_block);
|
||||
int __bootdata_preserved(ipl_secure_flag);
|
||||
|
||||
unsigned long __bootdata_preserved(ipl_cert_list_addr);
|
||||
unsigned long __bootdata_preserved(ipl_cert_list_size);
|
||||
|
||||
unsigned long __bootdata(early_ipl_comp_list_addr);
|
||||
unsigned long __bootdata(early_ipl_comp_list_size);
|
||||
|
||||
static int reipl_capabilities = IPL_TYPE_UNKNOWN;
|
||||
|
||||
|
@ -267,6 +274,15 @@ static ssize_t ipl_type_show(struct kobject *kobj, struct kobj_attribute *attr,
|
|||
|
||||
static struct kobj_attribute sys_ipl_type_attr = __ATTR_RO(ipl_type);
|
||||
|
||||
static ssize_t ipl_secure_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr, char *page)
|
||||
{
|
||||
return sprintf(page, "%i\n", !!ipl_secure_flag);
|
||||
}
|
||||
|
||||
static struct kobj_attribute sys_ipl_secure_attr =
|
||||
__ATTR(secure, 0444, ipl_secure_show, NULL);
|
||||
|
||||
static ssize_t ipl_vm_parm_show(struct kobject *kobj,
|
||||
struct kobj_attribute *attr, char *page)
|
||||
{
|
||||
|
@ -362,6 +378,7 @@ static struct attribute *ipl_fcp_attrs[] = {
|
|||
&sys_ipl_fcp_bootprog_attr.attr,
|
||||
&sys_ipl_fcp_br_lba_attr.attr,
|
||||
&sys_ipl_ccw_loadparm_attr.attr,
|
||||
&sys_ipl_secure_attr.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
@ -377,6 +394,7 @@ static struct attribute *ipl_ccw_attrs_vm[] = {
|
|||
&sys_ipl_device_attr.attr,
|
||||
&sys_ipl_ccw_loadparm_attr.attr,
|
||||
&sys_ipl_vm_parm_attr.attr,
|
||||
&sys_ipl_secure_attr.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
@ -384,6 +402,7 @@ static struct attribute *ipl_ccw_attrs_lpar[] = {
|
|||
&sys_ipl_type_attr.attr,
|
||||
&sys_ipl_device_attr.attr,
|
||||
&sys_ipl_ccw_loadparm_attr.attr,
|
||||
&sys_ipl_secure_attr.attr,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue