On Wed, Apr 28, 2004 at 07:37:06AM +0200, Stanislaw Skowronek wrote:
> > Have you verified that the UX bit is set correctly by your kernel? BEV
> > also plays a role but since you survive BogoMIPS it should be right.
> >From what I remember, the UX bit is fixed set. I have made the machine
> print a '*' (no, I didn't use printk, but since it's my own console
> driver I'm pretty sure it can work in interrupts - all it does is
> hardware writes) whenever it gets a TLB refill and flushed the TLB before
> entering usermode. Guess what, I didn't get a single '*' after ERET. To
> verify my method, I've made a single read from the usermode PC from the
> kernel, and the '*' appeared. I don't know what's up.
printk can be used in exceptions.
Be careful when changing the TLB exception handlers. They occupy slots
of just 128 bytes or 32 instructions. Maybe your debugging code just
extended it beyond that maximum?