[Top] [All Lists]

Re: MIPS32 patches breaking DecStation

To: "Kevin D. Kissell" <>
Subject: Re: MIPS32 patches breaking DecStation
From: Florian Lohoff <>
Date: Tue, 9 Jan 2001 09:54:38 +0100
In-reply-to: <000501c079d3$fefe1a60$0deca8c0@Ulysses>; from on Tue, Jan 09, 2001 at 01:34:47AM +0100
Organization: rfc822 - pure communication
References: <> <000501c079d3$fefe1a60$0deca8c0@Ulysses>
User-agent: Mutt/1.2.5i
On Tue, Jan 09, 2001 at 01:34:47AM +0100, Kevin D. Kissell wrote:
> Florian,
> Could you do me a huge favor and try a build that
> uses 3 or 4 nops instead of the branch to the instruction
> after the delay slot?   There was a reason that I eliminated

No problem - Done - doesnt work

> the branch construct from the MIPS internal Linux source
> base - it's a hack that works perfectly on R4000's, but
> it's pretty much a coincidence that it does so.  Yes,
> the code fragment in question is R4K-specific, but
> we really need to migrate towards the use of consistent
> mechanisms that work across the full range of MIPS
> CPUs.  Ideally, *all* CP0 hazards should some day be 
> padded out with "ssnops" (sll $0,$0,1, if I recall), which 
> force a 1 cycle delay per instruction even on superscalar 

It immediatly after starting init goes crazy with "Illegal instruction"
and dies like this:

[ ... a couple hundret Illegal instruction ... ]
[init:1] Illegal instruction 8f9983d4 at 0fb68df8 ra=0fb68a20
[init:1] Illegal instruction 8fbc0018 at 0fb68e08 ra=0fb68a20
[init:1] Illegal instruction 02402021 at 0fb68e10 ra=0fb68a20
[init:1] Illegal instruction 00000000 at 0fb68e18 ra=0fb68a20
Kernel panic: Attempted to kill init!
BUG IN DYNAMIC LINKER dl-minimal.c: 67: malloc: Assertion `n <= _dl_page!

It seems we need a R4000 2.0/3.0 special except_vec_r4000 like we already
have for the R4600 and some other kinds of mips CPUs.

Florian Lohoff                     +49-5201-669912
     Why is it called "common sense" when nobody seems to have any?

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