Wait a minute - how am I getting a TLB refill exception in kseg0?
From: Bradley D. LaRonde <email@example.com>
To: firstname.lastname@example.org <email@example.com>;
Date: Monday, July 19, 1999 1:59 PM
Subject: Re: Booting Linux on Vadem Clio
>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?
>>>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....
>>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
>>exception it is (I just jumped to the same blink for all three vectors)
>>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
>>until main.c:start_kernel. So how is that all of these other mips
>>can jal in head.S without trapping?