x86: add macro for privileged 64-bit operation
authorGlauber de Oliveira Costa <gcosta@redhat.com>
Wed, 30 Jan 2008 12:32:07 +0000 (13:32 +0100)
committerIngo Molnar <mingo@elte.hu>
Wed, 30 Jan 2008 12:32:07 +0000 (13:32 +0100)
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>
include/asm-x86/paravirt.h

index 0735a90f531b95a38fe694d7f9ea1b978d6574df..7d1c126e2249f0d75d4f2ecadf96b0fd7cc9adff 100644 (file)
@@ -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__ */