aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/platform
diff options
context:
space:
mode:
authorMatt Fleming <matt.fleming@intel.com>2014-03-05 12:22:57 -0500
committerMatt Fleming <matt.fleming@intel.com>2014-03-05 12:31:41 -0500
commit4fd69331ad227a4d8de26592d017b73e00caca9f (patch)
treebfd95ed518ff0cb44318715432d321a92a7b9a0c /arch/x86/platform
parent69e608411473ac56358ef35277563982d0565381 (diff)
parent0ac09f9f8cd1fb028a48330edba6023d347d3cea (diff)
Merge remote-tracking branch 'tip/x86/urgent' into efi-for-mingo
Conflicts: arch/x86/include/asm/efi.h
Diffstat (limited to 'arch/x86/platform')
-rw-r--r--arch/x86/platform/efi/efi.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/x86/platform/efi/efi.c b/arch/x86/platform/efi/efi.c
index 6f0a46730826..45d4f7674678 100644
--- a/arch/x86/platform/efi/efi.c
+++ b/arch/x86/platform/efi/efi.c
@@ -52,6 +52,7 @@
52#include <asm/tlbflush.h> 52#include <asm/tlbflush.h>
53#include <asm/x86_init.h> 53#include <asm/x86_init.h>
54#include <asm/rtc.h> 54#include <asm/rtc.h>
55#include <asm/uv/uv.h>
55 56
56#define EFI_DEBUG 57#define EFI_DEBUG
57 58
@@ -1302,3 +1303,22 @@ static int __init parse_efi_cmdline(char *str)
1302 return 0; 1303 return 0;
1303} 1304}
1304early_param("efi", parse_efi_cmdline); 1305early_param("efi", parse_efi_cmdline);
1306
1307void __init efi_apply_memmap_quirks(void)
1308{
1309 /*
1310 * Once setup is done earlier, unmap the EFI memory map on mismatched
1311 * firmware/kernel architectures since there is no support for runtime
1312 * services.
1313 */
1314 if (!efi_is_native()) {
1315 pr_info("efi: Setup done, disabling due to 32/64-bit mismatch\n");
1316 efi_unmap_memmap();
1317 }
1318
1319 /*
1320 * UV doesn't support the new EFI pagetable mapping yet.
1321 */
1322 if (is_uv_system())
1323 set_bit(EFI_OLD_MEMMAP, &efi.flags);
1324}