[PATCH 1/3] powerpc: Add __hard_irqs_disabled()
Aneesh Kumar K.V
aneesh.kumar at linux.vnet.ibm.com
Tue May 16 19:26:20 AEST 2017
Add __hard_irqs_disabled() similar to arch_irqs_disabled to check whether irqs
are hard disabled.
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar at linux.vnet.ibm.com>
---
arch/powerpc/include/asm/hw_irq.h | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/arch/powerpc/include/asm/hw_irq.h b/arch/powerpc/include/asm/hw_irq.h
index eba60416536e..541bd42f902f 100644
--- a/arch/powerpc/include/asm/hw_irq.h
+++ b/arch/powerpc/include/asm/hw_irq.h
@@ -88,6 +88,12 @@ static inline bool arch_irqs_disabled(void)
return arch_irqs_disabled_flags(arch_local_save_flags());
}
+static inline bool __hard_irqs_disabled(void)
+{
+ unsigned long flags = mfmsr();
+ return (flags & MSR_EE) == 0;
+}
+
#ifdef CONFIG_PPC_BOOK3E
#define __hard_irq_enable() asm volatile("wrteei 1" : : : "memory")
#define __hard_irq_disable() asm volatile("wrteei 0" : : : "memory")
@@ -197,6 +203,7 @@ static inline bool arch_irqs_disabled(void)
}
#define hard_irq_disable() arch_local_irq_disable()
+#define __hard_irqs_disabled() arch_irqs_disabled()
static inline bool arch_irq_disabled_regs(struct pt_regs *regs)
{
--
2.7.4
More information about the Linuxppc-dev
mailing list