diff --git a/cpukit/ChangeLog b/cpukit/ChangeLog index 0f9d243c01..22419048d2 100644 --- a/cpukit/ChangeLog +++ b/cpukit/ChangeLog @@ -1,3 +1,9 @@ +2008-07-16 Till Straumann + + * score/cpu/powerpc/rtems/new-exceptions/cpu.h: + use ppc_interrupt_get_disable_mask() to determine + which bits to set/clear from _CPU_ISR_Set_level(). + 2008-07-16 Till Straumann * score/cpu/powerpc/rtems/powerpc/registers.h: diff --git a/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h b/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h index 8316237207..245b6b7eec 100644 --- a/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h +++ b/cpukit/score/cpu/powerpc/rtems/new-exceptions/cpu.h @@ -285,10 +285,10 @@ static inline void _CPU_ISR_Set_level( uint32_t level ) register unsigned int msr; _CPU_MSR_GET(msr); if (!(level & CPU_MODES_INTERRUPT_MASK)) { - msr |= MSR_EE; + msr |= ppc_interrupt_get_disable_mask(); } else { - msr &= ~MSR_EE; + msr &= ~ppc_interrupt_get_disable_mask(); } _CPU_MSR_SET(msr); }