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