Questions on interrupt vector assignment on MPC8641D
tiejun.chen
tiejun.chen at windriver.com
Fri Oct 15 12:28:48 EST 2010
Scott Wood wrote:
> On Thu, 14 Oct 2010 11:27:09 +0800
> "tiejun.chen" <tiejun.chen at windriver.com> wrote:
>
>> tiejun.chen wrote:
>>> Scott Wood wrote:
>>>> On Wed, 13 Oct 2010 09:17:01 +0800
>>>> "tiejun.chen" <tiejun.chen at windriver.com> wrote:
>>>>
>>>>> Scott Wood wrote:
>>>>>> The crash is happening somewhere in mpic_set_irq_type():
>>>>> Agreed. That is just where I pointed out on my email replied for OOPS. To enable
>>>>> DBG to figure out 'src' and 'mpic->irq_count' from the file,
>>>>> arch/powerpc/sysdev/mpic.c, .
>>>>> ======
>>>>> int mpic_set_irq_type(unsigned int virq, unsigned int flow_type)
>>>>> {
>>>>> ......
>>>>> if (src >= mpic->irq_count)
>>>>> return -EINVAL;
>>>>> ^
>>>>> I think this OOPS may be from here.
>>>> No, it's after that. His board code is using the mpic's "isu" remapping
>>> I means OOPS is *from* here. According to David's call trace,
>>> mpic_set_irq_type() is the last issued function. And that corresponding return
>>> value, R3, is '0xffffffea', -22, and also '-EINVAL'.
>
> Just because that value is in r3 doesn't mean that src >=
> mpic->irq_count.
>
> Consider something like:
>
> cmplw r4, r5
> li r3, -EINVAL
> bgelr
Right absolutely and got it.
Thanks again
Tiejun
> ...
>
>
> -Scott
>
> _______________________________________________
> Linuxppc-dev mailing list
> Linuxppc-dev at lists.ozlabs.org
> https://lists.ozlabs.org/listinfo/linuxppc-dev
>
More information about the Linuxppc-dev
mailing list