window_ret_fault on SPARC

Baurjan Ismagulov (ibr@gantek.com)
Thu, 11 Oct 2001 00:41:43 +0300


Hi,

my kernel gets into window_ret_fault while returning from trap to
user mode.

In the trap return code, SRMMU sets "Fault Address Valid" during
"save; LOAD_WINDOW(sp); restore". After that, SFSR=00000127 and
SFAR=efffed18. Loaded %fp value is efffece0, and [efffece0+38]
contains efffed50 -- at least, that is what I see in kgdb using "p/x
*(struct reg_window *)0xefffece0". I also tried to see that using
printk from window_ret_fault, but the kernel hung solidly (L1-A didn't
work).

I followed all vm_next links in current->mm->mmap; efffd000-effff000
area seems to be there. However, I was unable to track it via
current->pgd.

So:

1. Why do I get multiple (SFSR.OV=1) faults in srmmu_rett_stackchk?

2. How can I see whether page directories of the current process are
set up correctly?

I would be very grateful if someone could help me to solve this problem. I'm using 2.2.19 on sun4m.

Thanks in advance,
Baurjan.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/