Permit loading of efirt module even when there's no EFI to call. The
module loading is successful, but attempts to use it will not be successful. This is similar to what we do (did?) with ACPI on non-ACPI systems. We succeed if we can't find the necessary information to hook into EFI, but still fail if we're unable to allocate resources if we do find EFI. Not Objected to by: kib@ MFC Afer: 3 days
This commit is contained in:
parent
beced2eabd
commit
8bece6062d
@ -355,14 +355,14 @@ efi_init(void)
|
||||
if (efi_systbl_phys == 0) {
|
||||
if (bootverbose)
|
||||
printf("EFI systbl not available\n");
|
||||
return (ENXIO);
|
||||
return (0);
|
||||
}
|
||||
efi_systbl = (struct efi_systbl *)PHYS_TO_DMAP(efi_systbl_phys);
|
||||
if (efi_systbl->st_hdr.th_sig != EFI_SYSTBL_SIG) {
|
||||
efi_systbl = NULL;
|
||||
if (bootverbose)
|
||||
printf("EFI systbl signature invalid\n");
|
||||
return (ENXIO);
|
||||
return (0);
|
||||
}
|
||||
efi_cfgtbl = (efi_systbl->st_cfgtbl == 0) ? NULL :
|
||||
(struct efi_cfgtbl *)efi_systbl->st_cfgtbl;
|
||||
@ -379,7 +379,7 @@ efi_init(void)
|
||||
if (efihdr == NULL) {
|
||||
if (bootverbose)
|
||||
printf("EFI map is not present\n");
|
||||
return (ENXIO);
|
||||
return (0);
|
||||
}
|
||||
efisz = (sizeof(struct efi_map_header) + 0xf) & ~0xf;
|
||||
map = (struct efi_md *)((uint8_t *)efihdr + efisz);
|
||||
|
Loading…
Reference in New Issue
Block a user