aboutsummaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
Diffstat (limited to 'arch')
-rw-r--r--arch/x86/kernel/head_64.S9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/x86/kernel/head_64.S b/arch/x86/kernel/head_64.S
index b6167fe3330e..c31b1c96a9d3 100644
--- a/arch/x86/kernel/head_64.S
+++ b/arch/x86/kernel/head_64.S
@@ -19,6 +19,13 @@
19#include <asm/msr.h> 19#include <asm/msr.h>
20#include <asm/cache.h> 20#include <asm/cache.h>
21 21
22#ifdef CONFIG_PARAVIRT
23#include <asm/asm-offsets.h>
24#include <asm/paravirt.h>
25#else
26#define GET_CR2_INTO_RCX movq %cr2, %rcx
27#endif
28
22/* we are not able to switch in one step to the final KERNEL ADRESS SPACE 29/* we are not able to switch in one step to the final KERNEL ADRESS SPACE
23 * because we need identity-mapped pages. 30 * because we need identity-mapped pages.
24 * 31 *
@@ -267,7 +274,7 @@ ENTRY(early_idt_handler)
267 xorl %eax,%eax 274 xorl %eax,%eax
268 movq 8(%rsp),%rsi # get rip 275 movq 8(%rsp),%rsi # get rip
269 movq (%rsp),%rdx 276 movq (%rsp),%rdx
270 movq %cr2,%rcx 277 GET_CR2_INTO_RCX
271 leaq early_idt_msg(%rip),%rdi 278 leaq early_idt_msg(%rip),%rdi
272 call early_printk 279 call early_printk
273 cmpl $2,early_recursion_flag(%rip) 280 cmpl $2,early_recursion_flag(%rip)