23 lines
		
	
	
		
			727 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			23 lines
		
	
	
		
			727 B
		
	
	
	
		
			Diff
		
	
	
	
	
	
| diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
 | |
| index 3ae4128..ff7dc70 100644
 | |
| --- a/arch/x86/platform/efi/efi.c
 | |
| +++ b/arch/x86/platform/efi/efi.c
 | |
| @@ -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;
 |