[Top] [All Lists]

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

To: Guenter Roeck <>
Subject: Re: Kernel crash in / bcm1480 with 16k page size
From: Ralf Baechle <>
Date: Mon, 1 Feb 2010 03:18:54 +0100
Cc: "Maciej W. Rozycki" <>, David Daney <>, "" <>
In-reply-to: <>
Original-recipient: rfc822;
References: <> <> <> <> <> <> <> <> <> <>
User-agent: Mutt/1.5.20 (2009-08-17)
On Sun, Jan 31, 2010 at 08:55:03AM -0800, Guenter Roeck wrote:

> >  The size of the address space can be probed via CP0 registers (for MIPS 
> > architecture processors that is).  No need to add any CPU dependencies 
> > (except from legacy 64-bit MIPS processors perhaps).
> > 
> That would help. Do you happen to know which CP0 register(s) to look for ? 
> I browsed through the MIPS 5K and 20Kc manuals, but didn't find it.

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.


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