Vince, I think I figured out what the bug is, can you test the
following patch? If we set %g5 with the fault address here, we have
to set %g4 too. This allows to correctly handle a DTLB-PROT trap for
a window spill during trap entry for another top-level fault. The
non-Niagara DTLB-PROT code
Note, this patch is pretty straight forward, but I've only compile
tested it. I'm about to test boot it myself right now.
FWIW, it works fine for me :)
Unfortunately it didn't seem to fix things. It ran a lot longer this
time, but eventually stopped with
[ 597.730241] VMW: fault_code=4
What distribution and version are you running? I tried to dump
the code at address 0x1a368 of the /bin/sh binary running on
Ubuntu Dapper and it didn't show a code location which could
trigger this code path.
I am running Ubuntu Feisty. (probably a bit too new, I was having
problems getting
I am running Linux 2.6.20-rc5 on an UltraSparc T1 (Niagara) with 24
threads.
When trying to compile gcc-4.2-20070117 gcc snapshot from scratch, the
following BUG() happens:
[ 1020.332688] kernel BUG at arch/sparc64/mm/fault.c:413!
[ 1020.332710] \|/ \|/
[ 1020.332716]