[PATCH 2/2] sparc/leon2: LEON_Is_interrupt_masked for Leon2 in leon.h wrongly defined
Jiri Gaisler
jiri at gaisler.se
Mon Nov 24 16:15:03 UTC 2014
On 11/24/2014 05:02 PM, Daniel Hellstrom wrote:
> Ok, what about ERC32 which has the same macros?
ERC32 is correctly defined. The leon2/3 were wrong because the
defines were copied from ERC32, but the mask bits have opposite
meaning ...
Jiri.
>
> On 11/24/2014 04:41 PM, Gedare Bloom wrote:
>> Daniel commit these if you agree with the assessment.
>>
>> On Sun, Nov 23, 2014 at 4:53 PM, Jiri Gaisler <jiri at gaisler.se> wrote:
>>> 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
>>>
>>> _______________________________________________
>>> devel mailing list
>>> devel at rtems.org
>>> http://lists.rtems.org/mailman/listinfo/devel
>
More information about the devel
mailing list