|
@@ -155,6 +155,8 @@ static inline unsigned long arch_local_irq_save(void)
|
|
|
unsigned long flags = arch_local_save_flags();
|
|
|
#ifdef CONFIG_BOOKE
|
|
|
asm volatile("wrteei 0" : : : "memory");
|
|
|
+#elif defined(CONFIG_PPC_8xx)
|
|
|
+ wrtspr(SPRN_EID);
|
|
|
#else
|
|
|
SET_MSR_EE(flags & ~MSR_EE);
|
|
|
#endif
|
|
@@ -165,6 +167,8 @@ static inline void arch_local_irq_disable(void)
|
|
|
{
|
|
|
#ifdef CONFIG_BOOKE
|
|
|
asm volatile("wrteei 0" : : : "memory");
|
|
|
+#elif defined(CONFIG_PPC_8xx)
|
|
|
+ wrtspr(SPRN_EID);
|
|
|
#else
|
|
|
arch_local_irq_save();
|
|
|
#endif
|
|
@@ -174,6 +178,8 @@ static inline void arch_local_irq_enable(void)
|
|
|
{
|
|
|
#ifdef CONFIG_BOOKE
|
|
|
asm volatile("wrteei 1" : : : "memory");
|
|
|
+#elif defined(CONFIG_PPC_8xx)
|
|
|
+ wrtspr(SPRN_EIE);
|
|
|
#else
|
|
|
unsigned long msr = mfmsr();
|
|
|
SET_MSR_EE(msr | MSR_EE);
|