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 92c36b7..c7270cf 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 { \ -- 1.9.1 _______________________________________________ devel mailing list devel@rtems.org http://lists.rtems.org/mailman/listinfo/devel