[PATCH 2/5] LEON3 SMP: CPU ack irq on trap vector entry execution
Gedare Bloom
gedare at rtems.org
Thu Oct 31 14:25:10 UTC 2013
On Thu, Oct 31, 2013 at 10:16 AM, Daniel Hellstrom <daniel at gaisler.com> wrote:
>
> On 10/31/2013 03:15 PM, Gedare Bloom wrote:
>>
>> I guess this interrupt vector gets "cleared" by the ISR return path?
>
>
> The LEON Interrupt model is edge so to speak. The CPU will acknoledge the
> IRQ when the trap vector is entered, so normally software need to do
> nothing. On level interrupts however we must take care by software acking,
> and we can not mix edge with level. The IPI is edge in the RTEMS case and we
> could potentially miss an IPI by clearing.
>
OK thanks it makes sense.
>
>>
>> On Thu, Oct 31, 2013 at 9:58 AM, Daniel Hellstrom <daniel at gaisler.com>
>> wrote:
>>>
>>> Signed-off-by: Daniel Hellstrom <daniel at gaisler.com>
>>> ---
>>> c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c | 1 -
>>> 1 files changed, 0 insertions(+), 1 deletions(-)
>>>
>>> diff --git a/c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c
>>> b/c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c
>>> index f7b70f3..ec2b4a8 100644
>>> --- a/c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c
>>> +++ b/c/src/lib/libbsp/sparc/leon3/smp/smp_leon3.c
>>> @@ -37,7 +37,6 @@ static rtems_isr bsp_ap_ipi_isr(
>>> rtems_vector_number vector
>>> )
>>> {
>>> - LEON_Clear_interrupt(LEON3_MP_IRQ);
>>> rtems_smp_process_interrupt();
>>> }
>>>
>>> --
>>> 1.7.0.4
>>>
>>> _______________________________________________
>>> rtems-devel mailing list
>>> rtems-devel at rtems.org
>>> http://www.rtems.org/mailman/listinfo/rtems-devel
>
>
More information about the devel
mailing list