powerpc: Remaining 64-bit Book3E support
[linux-2.6-block.git] / arch / powerpc / include / asm / hw_irq.h
index 8b505eaaa38a173b0f86154654879ad914d35fb7..e73d554538dd0edd3fd9e4ddb536869b3e81af8b 100644 (file)
@@ -49,8 +49,13 @@ extern void iseries_handle_interrupts(void);
 #define raw_irqs_disabled()            (local_get_flags() == 0)
 #define raw_irqs_disabled_flags(flags) ((flags) == 0)
 
+#ifdef CONFIG_PPC_BOOK3E
+#define __hard_irq_enable()    __asm__ __volatile__("wrteei 1": : :"memory");
+#define __hard_irq_disable()   __asm__ __volatile__("wrteei 0": : :"memory");
+#else
 #define __hard_irq_enable()    __mtmsrd(mfmsr() | MSR_EE, 1)
 #define __hard_irq_disable()   __mtmsrd(mfmsr() & ~MSR_EE, 1)
+#endif
 
 #define  hard_irq_disable()                    \
        do {                                    \