mirror of
https://github.com/adulau/aha.git
synced 2024-12-31 21:26:18 +00:00
x86: turn priviled operation into a macro in head_64.S
under paravirt, read cr2 cannot be issued directly anymore. So wrap it in a macro, defined to the operation itself in case paravirt is off, but to something else if we have paravirt in the game Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com> Signed-off-by: Steven Rostedt <rostedt@goodmis.org> Acked-by: Jeremy Fitzhardinge <jeremy@xensource.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
parent
70fd93c9d9
commit
49a697871e
1 changed files with 8 additions and 1 deletions
|
@ -19,6 +19,13 @@
|
|||
#include <asm/msr.h>
|
||||
#include <asm/cache.h>
|
||||
|
||||
#ifdef CONFIG_PARAVIRT
|
||||
#include <asm/asm-offsets.h>
|
||||
#include <asm/paravirt.h>
|
||||
#else
|
||||
#define GET_CR2_INTO_RCX movq %cr2, %rcx
|
||||
#endif
|
||||
|
||||
/* we are not able to switch in one step to the final KERNEL ADRESS SPACE
|
||||
* because we need identity-mapped pages.
|
||||
*
|
||||
|
@ -267,7 +274,7 @@ ENTRY(early_idt_handler)
|
|||
xorl %eax,%eax
|
||||
movq 8(%rsp),%rsi # get rip
|
||||
movq (%rsp),%rdx
|
||||
movq %cr2,%rcx
|
||||
GET_CR2_INTO_RCX
|
||||
leaq early_idt_msg(%rip),%rdi
|
||||
call early_printk
|
||||
cmpl $2,early_recursion_flag(%rip)
|
||||
|
|
Loading…
Reference in a new issue