Current-Users archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: powerpc/pic/intr.c IPL_HIGH vs IPL_NONE
On Jan 3, 2013, at 4:25 AM, Frank Wille wrote:
> On Thu, 03 Jan 2013 19:59:34 +0900 (JST)
> KIYOHARA Takashi <kiyohara%kk.iij4u.or.jp@localhost> wrote:
>
>> I will commit this change.
>>
>> Index: intr.c
>> ===================================================================
>> RCS file: /cvsroot/src/sys/arch/powerpc/pic/intr.c,v
>> retrieving revision 1.23
>> diff -u -r1.23 intr.c
>> --- intr.c 31 Aug 2012 13:12:52 -0000 1.23
>> +++ intr.c 3 Jan 2013 10:57:03 -0000
>> @@ -213,7 +213,7 @@
>> ih->ih_fun = ih_fun;
>> ih->ih_arg = ih_arg;
>> ih->ih_next = NULL;
>> - ih->ih_ipl = ipl;
>> + ih->ih_ipl = maxipl;
>> ih->ih_virq = virq;
>> *p = ih;
>
> IMHO this is not correct, although it is a workaround for your actual problem.
Actually I think the pic should be entered with IPL_HIGH and let the lower
priority interrupts (if any) be serviced by the pending int mechanism. Note
that any sources with an IPL_HIGH can be serviced directly.
> You would lose the ability that a hwirq is interrupted by the same hwirq
> with a higher priority (from a different device, sharing the same hwirq).
The above allows higher priority interrupts to interrupt lower priority ones.
Home |
Main Index |
Thread Index |
Old Index