Re: Got trap No.23 when booting mips32 ?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



2009/10/22 Kevin D. Kissell <kevink@xxxxxxxxxxxxx>:
> wilbur.chan wrote:
>>
>> Kernal didn't resgister IRQ 23 when booting. Hmm....the only '23'
>> number I can find in kernel is in traps.c.
>>
>> Why a 23 IRQ was triggered?
>>
>>
>
> The usual reason would be a failure to correctly initialize an interrupt
> controller, or the Status.IM mask field.  The kernel complains precisely
> *because* IRQ 23 wasn't registered, but an interrupt was nevertheless
> delivered that was decoded as being that IRQ.
>
>         Regards,
>
>         Kevin K.
>


Thanks for your suggestion.

And I found that , as a matter of  fact , kernel has registered No.23 as a trap.

In trap_init :

/*
1419          * Only some CPUs have the watch exceptions.
1420          */
1421         if (cpu_has_watch)
1422                 set_except_vector(23, handle_watch);


So, if a No.23 "signal" happened , kernel should  invoke handle_watch instead.


But why here kernel complained ? and why kernel entered the IRQ branch
(do_IRQ) rather than trap branch?


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux