linux-mips
[Top] [All Lists]

Re: Kernel 2.6 for R4600 Indy

To: linux-mips@linux-mips.org
Subject: Re: Kernel 2.6 for R4600 Indy
From: Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de>
Date: Sat, 2 Oct 2004 22:40:14 +0200
Cc: ralf@linux-mips.org
In-reply-to: <20041002185057.GN21351@rembrandt.csv.ica.uni-stuttgart.de>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <4152D58B.608@longlandclan.hopto.org> <20040923154855.GA2550@paradigm.rfc822.org> <20041002185057.GN21351@rembrandt.csv.ica.uni-stuttgart.de>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.6i
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

<Prev in Thread] Current Thread [Next in Thread>