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

Daniel Hellstrom daniel at gaisler.com
Mon Nov 24 20:36:18 UTC 2014


Ok, Thanks!

DanielH

On 24 November 2014 17:15:03 CET, Jiri Gaisler <jiri at gaisler.se> wrote:
>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
>> 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/devel/attachments/20141124/50b2b3d4/attachment.html>


More information about the devel mailing list