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