Blame efi-dont-map-boot-services-on-32bit.patch
|
Josh Boyer |
bc12142 |
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
|
|
Josh Boyer |
bc12142 |
index 3ae4128..ff7dc70 100644
|
|
Josh Boyer |
bc12142 |
--- a/arch/x86/platform/efi/efi.c
|
|
Josh Boyer |
bc12142 |
+++ b/arch/x86/platform/efi/efi.c
|
|
Josh Boyer |
bc12142 |
@@ -659,10 +659,13 @@ void __init efi_enter_virtual_mode(void)
|
|
Josh Boyer |
bc12142 |
|
|
Josh Boyer |
bc12142 |
for (p = memmap.map; p < memmap.map_end; p += memmap.desc_size) {
|
|
Josh Boyer |
bc12142 |
md = p;
|
|
Josh Boyer |
bc12142 |
- if (!(md->attribute & EFI_MEMORY_RUNTIME) &&
|
|
Josh Boyer |
bc12142 |
- md->type != EFI_BOOT_SERVICES_CODE &&
|
|
Josh Boyer |
bc12142 |
- md->type != EFI_BOOT_SERVICES_DATA)
|
|
Josh Boyer |
bc12142 |
- continue;
|
|
Josh Boyer |
bc12142 |
+ if (!(md->attribute & EFI_MEMORY_RUNTIME)) {
|
|
Josh Boyer |
bc12142 |
+#ifdef CONFIG_X86_64
|
|
Josh Boyer |
bc12142 |
+ if (md->type != EFI_BOOT_SERVICES_CODE &&
|
|
Josh Boyer |
bc12142 |
+ md->type != EFI_BOOT_SERVICES_DATA)
|
|
Josh Boyer |
bc12142 |
+#endif
|
|
Josh Boyer |
bc12142 |
+ continue;
|
|
Josh Boyer |
bc12142 |
+ }
|
|
Josh Boyer |
bc12142 |
|
|
Josh Boyer |
bc12142 |
size = md->num_pages << EFI_PAGE_SHIFT;
|
|
Josh Boyer |
bc12142 |
end = md->phys_addr + size;
|