From 291f30f2859284a433f58698a20045c104d2fc7e Mon Sep 17 00:00:00 2001 From: Jiri Gaisler Date: Sun, 23 Nov 2014 22:53:00 +0100 Subject: sparc/leon3: LEON_Is_interrupt_masked for Leon3 in leon.h wrongly defined Condition needs to be inverted, as a 1 in the mask register means that the interrupt is enabled. Solves ticket #1958 in trac. --- c/src/lib/libbsp/sparc/leon3/include/leon.h | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/c/src/lib/libbsp/sparc/leon3/include/leon.h b/c/src/lib/libbsp/sparc/leon3/include/leon.h index 92c36b725b..c7270cf7d9 100644 --- a/c/src/lib/libbsp/sparc/leon3/include/leon.h +++ b/c/src/lib/libbsp/sparc/leon3/include/leon.h @@ -158,9 +158,7 @@ extern rtems_interrupt_lock LEON3_IrqCtrl_Lock; (LEON3_IrqCtrl_Regs->ipend & (1 << (_source))) #define LEON_Cpu_Is_interrupt_masked( _source, _cpu ) \ - do {\ - (LEON3_IrqCtrl_Regs->mask[_cpu] & (1 << (_source))); \ - } while (0) + (!(LEON3_IrqCtrl_Regs->mask[_cpu] & (1 << (_source)))) #define LEON_Cpu_Mask_interrupt( _source, _cpu ) \ do { \ -- cgit v1.2.3