aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/realmode/init.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/x86/realmode/init.c')
-rw-r--r--arch/x86/realmode/init.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/arch/x86/realmode/init.c b/arch/x86/realmode/init.c
index 099277984b80..cbca565af5bd 100644
--- a/arch/x86/realmode/init.c
+++ b/arch/x86/realmode/init.c
@@ -22,7 +22,7 @@ void __init setup_real_mode(void)
22 size_t size = PAGE_ALIGN(real_mode_blob_end - real_mode_blob); 22 size_t size = PAGE_ALIGN(real_mode_blob_end - real_mode_blob);
23#ifdef CONFIG_X86_64 23#ifdef CONFIG_X86_64
24 u64 *trampoline_pgd; 24 u64 *trampoline_pgd;
25 u32 efer_low, efer_high; 25 u64 efer;
26#endif 26#endif
27 27
28 /* Has to be in very low memory so we can execute real-mode AP code. */ 28 /* Has to be in very low memory so we can execute real-mode AP code. */
@@ -70,9 +70,8 @@ void __init setup_real_mode(void)
70 * Some AMD processors will #GP(0) if EFER.LMA is set in WRMSR 70 * Some AMD processors will #GP(0) if EFER.LMA is set in WRMSR
71 * so we need to mask it out. 71 * so we need to mask it out.
72 */ 72 */
73 rdmsr(MSR_EFER, efer_low, efer_high); 73 rdmsrl(MSR_EFER, efer);
74 trampoline_header->efer_low = efer_low & ~EFER_LMA; 74 trampoline_header->efer = efer & ~EFER_LMA;
75 trampoline_header->efer_high = efer_high;
76 75
77 trampoline_header->start = (u64) secondary_startup_64; 76 trampoline_header->start = (u64) secondary_startup_64;
78 trampoline_cr4_features = &trampoline_header->cr4; 77 trampoline_cr4_features = &trampoline_header->cr4;