mirror of https://gitee.com/openkylin/linux.git
undo "x86: fix breakage of vSMP irq operations"
revert: "x86: fix breakage of vSMP irq operations" the irqflags.h unification will solve this in a cleaner way. Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
parent
dcfe946520
commit
d3463c5a66
|
@ -70,26 +70,6 @@ static inline void raw_local_irq_restore(unsigned long flags)
|
|||
native_restore_fl(flags);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_VSMP
|
||||
|
||||
/*
|
||||
* Interrupt control for the VSMP architecture:
|
||||
*/
|
||||
|
||||
static inline void raw_local_irq_disable(void)
|
||||
{
|
||||
unsigned long flags = __raw_local_save_flags();
|
||||
raw_local_irq_restore((flags & ~X86_EFLAGS_IF) | X86_EFLAGS_AC);
|
||||
}
|
||||
|
||||
static inline void raw_local_irq_enable(void)
|
||||
{
|
||||
unsigned long flags = __raw_local_save_flags();
|
||||
raw_local_irq_restore((flags | X86_EFLAGS_IF) & (~X86_EFLAGS_AC));
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static inline void raw_local_irq_disable(void)
|
||||
{
|
||||
native_irq_disable();
|
||||
|
@ -100,8 +80,6 @@ static inline void raw_local_irq_enable(void)
|
|||
native_irq_enable();
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Used in the idle loop; sti takes one instruction cycle
|
||||
* to complete:
|
||||
|
@ -159,17 +137,10 @@ static inline unsigned long __raw_local_irq_save(void)
|
|||
#define raw_local_irq_save(flags) \
|
||||
do { (flags) = __raw_local_irq_save(); } while (0)
|
||||
|
||||
#ifdef CONFIG_X86_VSMP
|
||||
static inline int raw_irqs_disabled_flags(unsigned long flags)
|
||||
{
|
||||
return !(flags & X86_EFLAGS_IF) || (flags & X86_EFLAGS_AC);
|
||||
}
|
||||
#else
|
||||
static inline int raw_irqs_disabled_flags(unsigned long flags)
|
||||
{
|
||||
return !(flags & X86_EFLAGS_IF);
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline int raw_irqs_disabled(void)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue