OK, it's calling the "Other" exception vector, so it's not a reset (doh),
NMI, TLB Refill, or XTLB Refill (whatever that is). Let's see, that
leaves... a whole ton of things. :)
So I tried disabling interrupts. Guess what? It now calls the TLB Refill
vector. Hmmm... So now I have to handle that exception.
This is odd because how am I supposed to handle this stuff when the kernel
hasn't been started, and init_trap hasn't been called?
Warner, you mentioned I might be getting a trap when I jal. According to
the docs, jal will not generate any exceptions. So how can I get a TLB
refill exception from it? Am I reading the docs wrong.
Well, it would seem that the next step is to figure out what address is
causing the TLB refill exception.
Any other suggestions?
Regards,
Brad
>>I don't know. This is very odd....
>>
>>You might want to put the LED flashing code in the trap handler to
>>make sure you aren't getting a trap for some reason when it tries to
>>jump to prom_init....
>>
>>Warner
>
>Good advice, thank you. I put the LED flashing code in all the exception
>vectors and it is now getting executed. Now I'm trying to figure out which
>exception it is (I just jumped to the same blink for all three vectors) and
>what is causing it. I plan to report on this later today.
>
>This makes me wonder though: head.S doesn't do init_trap. That's not done
>until main.c:start_kernel. So how is that all of these other mips machines
>can jal in head.S without trapping?
>
>
>Regards,
>Brad
|