diff options
author | Ingo Molnar <mingo@kernel.org> | 2012-10-26 04:17:38 -0400 |
---|---|---|
committer | Ingo Molnar <mingo@kernel.org> | 2012-10-26 04:17:38 -0400 |
commit | 8b724e2a12d553cad8ad412846511c783a92d25e (patch) | |
tree | a07e14802a768a7156f70e2f9550ff98fe2b17f1 /arch/x86/kernel/setup.c | |
parent | f82f64dd9f485e13f29f369772d4a0e868e5633a (diff) | |
parent | 5189c2a7c7769ee9d037d76c1a7b8550ccf3481c (diff) |
Merge tag 'efi-for-3.7' of git://git.kernel.org/pub/scm/linux/kernel/git/mfleming/efi into x86/urgent
Pull EFI fixes from Matt Fleming:
"Fix oops with EFI variables on mixed 32/64-bit firmware/kernels and
document EFI git repository location on kernel.org."
Conflicts:
arch/x86/include/asm/efi.h
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'arch/x86/kernel/setup.c')
-rw-r--r-- | arch/x86/kernel/setup.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/x86/kernel/setup.c b/arch/x86/kernel/setup.c index 5d888af8682a..ca45696f30fb 100644 --- a/arch/x86/kernel/setup.c +++ b/arch/x86/kernel/setup.c | |||
@@ -1049,6 +1049,18 @@ void __init setup_arch(char **cmdline_p) | |||
1049 | arch_init_ideal_nops(); | 1049 | arch_init_ideal_nops(); |
1050 | 1050 | ||
1051 | register_refined_jiffies(CLOCK_TICK_RATE); | 1051 | register_refined_jiffies(CLOCK_TICK_RATE); |
1052 | |||
1053 | #ifdef CONFIG_EFI | ||
1054 | /* Once setup is done above, disable efi_enabled on mismatched | ||
1055 | * firmware/kernel archtectures since there is no support for | ||
1056 | * runtime services. | ||
1057 | */ | ||
1058 | if (efi_enabled && IS_ENABLED(CONFIG_X86_64) != efi_64bit) { | ||
1059 | pr_info("efi: Setup done, disabling due to 32/64-bit mismatch\n"); | ||
1060 | efi_unmap_memmap(); | ||
1061 | efi_enabled = 0; | ||
1062 | } | ||
1063 | #endif | ||
1052 | } | 1064 | } |
1053 | 1065 | ||
1054 | #ifdef CONFIG_X86_32 | 1066 | #ifdef CONFIG_X86_32 |