diff options
author | Glauber de Oliveira Costa <gcosta@redhat.com> | 2008-01-30 13:32:07 +0100 |
---|---|---|
committer | Ingo Molnar <mingo@elte.hu> | 2008-01-30 13:32:07 +0100 |
commit | 4a8c4c4e10d1bc2c3bd80caabb6a76a66849f7e8 (patch) | |
tree | b93a8cef2dd647128cea3d28bf86bc97eaff074f | |
parent | 2e47d3e6c35bb5b78fea2b2584c7eeaf782f138d (diff) | |
download | kernel-common-4a8c4c4e10d1bc2c3bd80caabb6a76a66849f7e8.tar.gz kernel-common-4a8c4c4e10d1bc2c3bd80caabb6a76a66849f7e8.tar.bz2 kernel-common-4a8c4c4e10d1bc2c3bd80caabb6a76a66849f7e8.zip |
x86: add macro for privileged 64-bit operation
i386 has a macro GET_CR0_INTO_EAX, used in early trap handling code.
x86_64 has similar needs, only it needs to put cr2 into rcx. We provide
a macro for such task, in the same way
Signed-off-by: Glauber de Oliveira Costa <gcosta@redhat.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
-rw-r--r-- | include/asm-x86/paravirt.h | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/include/asm-x86/paravirt.h b/include/asm-x86/paravirt.h index 0735a90f531b..7d1c126e2249 100644 --- a/include/asm-x86/paravirt.h +++ b/include/asm-x86/paravirt.h @@ -1227,6 +1227,12 @@ static inline unsigned long __raw_local_irq_save(void) push %ecx; push %edx; \ call *pv_cpu_ops+PV_CPU_read_cr0; \ pop %edx; pop %ecx +#else +#define GET_CR2_INTO_RCX \ + call *pv_mmu_ops+PV_MMU_read_cr2; \ + movq %rax, %rcx; \ + xorq %rax, %rax; + #endif #endif /* __ASSEMBLY__ */ |