[Top] [All Lists]

Re: Kernel crash in / bcm1480 with 16k page size

To: "Maciej W. Rozycki" <>
Subject: Re: Kernel crash in / bcm1480 with 16k page size
From: Ralf Baechle <>
Date: Mon, 1 Feb 2010 16:26:01 +0100
Cc: Guenter Roeck <>, David Daney <>, "" <>
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <> <> <> <> <> <> <> <>
User-agent: Mutt/1.5.20 (2009-08-17)
On Mon, Feb 01, 2010 at 02:50:27PM +0000, Maciej W. Rozycki wrote:

> > Write a value with all bits set to c0_entryhi, then read it back again.
> > The set bits in the VPN2 bitfield will indicate the size of the virtual
> > address range supported.  The MIPS64 documentation also calls this value
> > SEGBITS.  The nice thing about this probe is that it is supported for
> > all 64-bit MIPS processors except the R8000 which has an entirely different
> > TLB scheme anyway.
> > 
> > Similarly it is possible to probe the physical address range in either
> > c0_entrylo0 or c0_entrylo1.  This is also of interest on 32-bit processors.
>  Indeed -- IIRC the architecture spec calls this value PABITS.  I wasn't 
> sure about the legacy processors -- if that works with them too, then it's 
> even better.

The probing method was undocumented until MIPS64 but if you look at the
format of the EntryLo register it's always been possible.  The R10000
needs special treatment though - it has the UC (Uncache Attribute) field
in the bits 62..63 of EntryLo; this field needs to be ignored.


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