[PATCH 2/2] sparc/leon2: LEON_Is_interrupt_masked for Leon2 in leon.h wrongly defined

Jiri Gaisler jiri at gaisler.se
Sun Nov 23 21:53:35 UTC 2014


    Condition needs to be inverted, as a 1 in the mask register means
    that the interrupt is enabled. Solves ticket #1959 in trac.
---
 c/src/lib/libbsp/sparc/leon2/include/leon.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/c/src/lib/libbsp/sparc/leon2/include/leon.h b/c/src/lib/libbsp/sparc/leon2/include/leon.h
index 8d2f0c5c..7ec6b1d 100644
--- a/c/src/lib/libbsp/sparc/leon2/include/leon.h
+++ b/c/src/lib/libbsp/sparc/leon2/include/leon.h
@@ -307,7 +307,7 @@ static __inline__ int bsp_irq_fixup(int irq)
   (LEON_REG.Interrupt_Pending & (1 << (_source)))
 
 #define LEON_Is_interrupt_masked( _source ) \
-  (LEON_REG.Interrupt_Masked & (1 << (_source)))
+  (!(LEON_REG.Interrupt_Mask & (1 << (_source))))
 
 #define LEON_Mask_interrupt( _source ) \
   do { \
-- 
1.9.1




More information about the devel mailing list