linux-mips
[Top] [All Lists]

Re: [PATCH] Synthesize TLB refill handler at runtime

To: "Maciej W. Rozycki" <macro@linux-mips.org>
Subject: Re: [PATCH] Synthesize TLB refill handler at runtime
From: Thiemo Seufer <ica2_ts@csv.ica.uni-stuttgart.de>
Date: Wed, 24 Nov 2004 02:40:57 +0100
Cc: Manish Lachwani <mlachwani@mvista.com>, Ralf Baechle <ralf@linux-mips.org>, Geert Uytterhoeven <geert@linux-m68k.org>, Linux/MIPS Development <linux-mips@linux-mips.org>
In-reply-to: <Pine.LNX.4.58L.0411232018390.19941@blysk.ds.pg.gda.pl>
Original-recipient: rfc822;linux-mips@linux-mips.org
References: <20041121170242.GR20986@rembrandt.csv.ica.uni-stuttgart.de> <Pine.GSO.4.61.0411212048520.26374@waterleaf.sonytel.be> <20041121203757.GS20986@rembrandt.csv.ica.uni-stuttgart.de> <20041122070117.GB25433@linux-mips.org> <41A283BD.3080300@mvista.com> <Pine.LNX.4.58L.0411230036310.31113@blysk.ds.pg.gda.pl> <41A29DCF.8030308@mvista.com> <Pine.LNX.4.58L.0411232018390.19941@blysk.ds.pg.gda.pl>
Sender: linux-mips-bounce@linux-mips.org
User-agent: Mutt/1.5.6i
Maciej W. Rozycki wrote:
> On Mon, 22 Nov 2004, Manish Lachwani wrote:
> 
> > However, the crash still occurs. I dont think your patch was intended to 
> > fix the problem that I see below (resulting in crash).
> 
>  Certainly, it wasn't, but it couldn't have hurt, either.
> 
> > Data bus error, epc == 801f83b8, ra == 80323f04
> 
>  The reason are cp0 hazards, likely leading to an incorrect mapping.  Try
> the following patch; already applied to the mainline as obviously correct.
[snip]
> @@ -799,12 +800,12 @@ static __init void build_tlb_write_rando
>       default:
>               /*
>                * Others are assumed to have one cycle mtc0 hazard,
> -              * and one cycle tlbwr hazard.
> +              * and one cycle tlbwr hazard or to understand ehb.
>                * XXX: This might be overly general.
>                */
> -             i_nop(p);
> +             i_ehb(p);
>               i_tlbwr(p);
> -             i_nop(p);
> +             i_ehb(p);
>               break;

Does r24k really need both delays? If not, it should get its own case.
Probably it should be separated even if it is identical, the code above
is nothing but a guess based on preexisting code.


Thiemo

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