diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-09-12 15:16:32 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2007-09-12 15:16:32 +0000 |
commit | dc7271fa9e9a14be48c61242fc1dd83c9d449b25 (patch) | |
tree | cd689deb9b04d5d7e841937e3989d86df261815e /c/src/lib/libbsp/powerpc/mvme5500/irq/GT64260Int.c | |
parent | 2007-09-12 Joel Sherrill <joel.sherrill@OARcorp.com> (diff) | |
download | rtems-dc7271fa9e9a14be48c61242fc1dd83c9d449b25.tar.bz2 |
2007-09-12 Joel Sherrill <joel.sherrill@OARcorp.com>
PR 1257/bsps
* irq/GT64260Int.c, irq/irq.c: Code outside of cpukit should use the
public API for rtems_interrupt_disable/rtems_interrupt_enable. By
bypassing the public API and directly accessing _CPU_ISR_Disable and
_CPU_ISR_Enable, they were bypassing the compiler memory barrier
directive which could lead to problems. This patch also changes the
type of the variable passed into these routines and addresses minor
style issues.
Diffstat (limited to 'c/src/lib/libbsp/powerpc/mvme5500/irq/GT64260Int.c')
-rw-r--r-- | c/src/lib/libbsp/powerpc/mvme5500/irq/GT64260Int.c | 41 |
1 files changed, 23 insertions, 18 deletions
diff --git a/c/src/lib/libbsp/powerpc/mvme5500/irq/GT64260Int.c b/c/src/lib/libbsp/powerpc/mvme5500/irq/GT64260Int.c index dbb78796c8..a9daa3d2a8 100644 --- a/c/src/lib/libbsp/powerpc/mvme5500/irq/GT64260Int.c +++ b/c/src/lib/libbsp/powerpc/mvme5500/irq/GT64260Int.c @@ -110,12 +110,12 @@ static void CleanMainIrqTbl(int irqNum) */ void BSP_enable_main_irq(const rtems_irq_number irqNum) { - unsigned bitNum; - unsigned int level; + unsigned bitNum; + rtems_interrupt_level level; bitNum = ((int)irqNum) - BSP_MICL_IRQ_LOWEST_OFFSET; - _CPU_ISR_Disable(level); + rtems_interrupt_disable(level); #if DynamicIrqTbl UpdateMainIrqTbl((int) irqNum); @@ -129,7 +129,7 @@ void BSP_enable_main_irq(const rtems_irq_number irqNum) GT_MAINirqHI_cache |= (1 << bitNum); outl(GT_MAINirqHI_cache, GT_CPU_INT_MASK_HI); } - _CPU_ISR_Enable (level); + rtems_interrupt_enable(level); } /*************************************************************************** @@ -140,12 +140,12 @@ void BSP_enable_main_irq(const rtems_irq_number irqNum) */ void BSP_disable_main_irq(const rtems_irq_number irqNum) { - unsigned bitNum; - unsigned int level; + unsigned bitNum; + rtems_interrupt_level level; bitNum = ((int)irqNum) - BSP_MICL_IRQ_LOWEST_OFFSET; - _CPU_ISR_Disable(level); + rtems_interrupt_disable(level); #if DynamicIrqTbl CleanMainIrqTbl((int) irqNum); @@ -159,7 +159,7 @@ void BSP_disable_main_irq(const rtems_irq_number irqNum) GT_MAINirqHI_cache &= ~(1 << bitNum); outl(GT_MAINirqHI_cache, GT_CPU_INT_MASK_HI); } - _CPU_ISR_Enable (level); + rtems_interrupt_enable(level); } /****************************************************************************** @@ -171,13 +171,15 @@ void BSP_disable_main_irq(const rtems_irq_number irqNum) */ void BSP_enable_gpp_irq(const rtems_irq_number irqNum) { - unsigned bitNum; - unsigned int mask, level; - int group, bit; + unsigned bitNum; + unsigned int mask; + int group; + int bit; + rtems_interrupt_level level; bitNum = ((int)irqNum) - BSP_GPP_IRQ_LOWEST_OFFSET; - _CPU_ISR_Disable(level); + rtems_interrupt_disable(level); #if DynamicIrqTbl group = bitNum/8; @@ -195,7 +197,7 @@ void BSP_enable_gpp_irq(const rtems_irq_number irqNum) printk("GPP mask %d \n", inl(GT_GPP_Interrupt_Mask)); #endif - _CPU_ISR_Enable (level); + rtems_interrupt_enable(level); } /****************************************************************************** @@ -207,13 +209,16 @@ void BSP_enable_gpp_irq(const rtems_irq_number irqNum) */ void BSP_disable_gpp_irq(const rtems_irq_number irqNum) { - unsigned bitNum; - unsigned int mask, level; - int group, bit; + unsigned bitNum; + unsigned int mask; + int group; + int bit; + rtems_interrupt_level level; + bitNum = ((int)irqNum) - BSP_GPP_IRQ_LOWEST_OFFSET; - _CPU_ISR_Disable(level); + rtems_interrupt_disable(level); #if DynamicIrqTbl group = bitNum/8; bit = bitNum%8; @@ -227,7 +232,7 @@ void BSP_disable_gpp_irq(const rtems_irq_number irqNum) mask = ~ (1 << bitNum); GT_GPPirq_cache &= mask; outl(GT_GPPirq_cache, GT_GPP_Interrupt_Mask); - _CPU_ISR_Enable (level); + rtems_interrupt_enable(level); } /* Only print ten entries for now */ |