diff options
Diffstat (limited to 'arch/x86/include/asm/irqflags.h')
| -rw-r--r-- | arch/x86/include/asm/irqflags.h | 16 | 
1 files changed, 6 insertions, 10 deletions
| diff --git a/arch/x86/include/asm/irqflags.h b/arch/x86/include/asm/irqflags.h index 15450a675031..058e40fed167 100644 --- a/arch/x86/include/asm/irqflags.h +++ b/arch/x86/include/asm/irqflags.h @@ -64,7 +64,7 @@ static inline __cpuidle void native_halt(void)  #endif -#ifdef CONFIG_PARAVIRT +#ifdef CONFIG_PARAVIRT_XXL  #include <asm/paravirt.h>  #else  #ifndef __ASSEMBLY__ @@ -123,6 +123,10 @@ static inline notrace unsigned long arch_local_irq_save(void)  #define DISABLE_INTERRUPTS(x)	cli  #ifdef CONFIG_X86_64 +#ifdef CONFIG_DEBUG_ENTRY +#define SAVE_FLAGS(x)		pushfq; popq %rax +#endif +  #define SWAPGS	swapgs  /*   * Currently paravirt can't handle swapgs nicely when we @@ -135,8 +139,6 @@ static inline notrace unsigned long arch_local_irq_save(void)   */  #define SWAPGS_UNSAFE_STACK	swapgs -#define PARAVIRT_ADJUST_EXCEPTION_FRAME	/*  */ -  #define INTERRUPT_RETURN	jmp native_iret  #define USERGS_SYSRET64				\  	swapgs;					\ @@ -145,18 +147,12 @@ static inline notrace unsigned long arch_local_irq_save(void)  	swapgs;					\  	sysretl -#ifdef CONFIG_DEBUG_ENTRY -#define SAVE_FLAGS(x)		pushfq; popq %rax -#endif  #else  #define INTERRUPT_RETURN		iret -#define ENABLE_INTERRUPTS_SYSEXIT	sti; sysexit -#define GET_CR0_INTO_EAX		movl %cr0, %eax  #endif -  #endif /* __ASSEMBLY__ */ -#endif /* CONFIG_PARAVIRT */ +#endif /* CONFIG_PARAVIRT_XXL */  #ifndef __ASSEMBLY__  static inline int arch_irqs_disabled_flags(unsigned long flags) |