On Sunday 08 June 2008, Maciej W. Rozycki wrote:
> On Sun, 8 Jun 2008, Luke -Jr wrote:
> > > I have seen that already and wrote these stores in __bzero are
> > > protected. Perhaps the fixup fails for some reason, but you need to
> > > investigate it and this is why I suggested to see how the RI handler is
> > > reached. Since this is a known point the failure leads to, you should
> > > be able to work backwards from there quite easily.
> > Ah, so what you're saying is that perhaps the 'sw' is triggering a TLB
> > exception, and the handler for *that* is causing the RI problem?
> This is almost certain what happens here. The pointer involved is a
> valid (user) address and is correctly aligned, so you cannot get an
> address error exception. A TLB exception is next on the list to check.
I added some code to do_ri:
asm("move %0, $sp" : "=r"(real_epc));
printk("----- LJR -------\n");
Which gave me some potentially useful info:
----- LJR -------
Too tired to debug further tonight, but hopefully this stack will stand out to