Thiemo Seufer wrote: [snip] > > With this fix the machines goes userspace (reverse engineered by sound > > of hard disk) but seems to die somewhere. Probably the same bug as seen > > on other archs - die on first fork. > > The last problem happens only on r4000 and r4400, and occasionally > also shows up as "illegal instruction" or "unaligned access". It > turned out to be a broken TLB handler. I temporarily switched (for > 32bit kernels) from except_vec0_r4000 to except_vec0_r45k_bvahwbug. > This may cause an avoidable performance loss, but at least it allows > my R4400SC-200 (V6.0) Indy to run current 2.6 CVS. One more nop is enough to make it work. This should probably go in a hazard definition. Thiemo Index: arch/mips/mm/tlbex32-r4k.S =================================================================== RCS file: /home/cvs/linux/arch/mips/mm/tlbex32-r4k.S,v retrieving revision 1.1 diff -u -p -r1.1 tlbex32-r4k.S --- arch/mips/mm/tlbex32-r4k.S 20 Jun 2004 23:52:17 -0000 1.1 +++ arch/mips/mm/tlbex32-r4k.S 2 Oct 2004 20:36:29 -0000 @@ -179,6 +179,7 @@ P_MTC0 k1, CP0_ENTRYLO1 # load it mtc0_tlbw_hazard tlbwr # write random tlb entry + nop tlbw_eret_hazard eret # return from trap END(except_vec0_r4000)
Attachment:
signature.asc
Description: Digital signature