Commit 01de145d authored by Demi Marie Obenour's avatar Demi Marie Obenour Committed by Ard Biesheuvel

efi: Actually enable the ESRT under Xen

The ESRT can be parsed if EFI_PARAVIRT is enabled, even if EFI_MEMMAP is
not.  Also allow the ESRT to be in reclaimable memory, as that is where
future Xen versions will put it.
Reported-by: default avatarMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: default avatarDemi Marie Obenour <demi@invisiblethingslab.com>
Tested-by: default avatarMarek Marczykowski-Górecki <marmarek@invisiblethingslab.com>
Signed-off-by: default avatarArd Biesheuvel <ardb@kernel.org>
parent c0fecaa4
...@@ -247,7 +247,7 @@ void __init efi_esrt_init(void) ...@@ -247,7 +247,7 @@ void __init efi_esrt_init(void)
int rc; int rc;
phys_addr_t end; phys_addr_t end;
if (!efi_enabled(EFI_MEMMAP)) if (!efi_enabled(EFI_MEMMAP) && !efi_enabled(EFI_PARAVIRT))
return; return;
pr_debug("esrt-init: loading.\n"); pr_debug("esrt-init: loading.\n");
...@@ -258,7 +258,9 @@ void __init efi_esrt_init(void) ...@@ -258,7 +258,9 @@ void __init efi_esrt_init(void)
if (rc < 0 || if (rc < 0 ||
(!(md.attribute & EFI_MEMORY_RUNTIME) && (!(md.attribute & EFI_MEMORY_RUNTIME) &&
md.type != EFI_BOOT_SERVICES_DATA && md.type != EFI_BOOT_SERVICES_DATA &&
md.type != EFI_RUNTIME_SERVICES_DATA)) { md.type != EFI_RUNTIME_SERVICES_DATA &&
md.type != EFI_ACPI_RECLAIM_MEMORY &&
md.type != EFI_ACPI_MEMORY_NVS)) {
pr_warn("ESRT header is not in the memory map.\n"); pr_warn("ESRT header is not in the memory map.\n");
return; return;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment