[Top] [All Lists]

Re: [PATCH] MIPS: Calculate proper ebase value for 64-bit kernels

To: David Daney <>
Subject: Re: [PATCH] MIPS: Calculate proper ebase value for 64-bit kernels
From: "Maciej W. Rozycki" <>
Date: Wed, 28 Apr 2010 00:06:00 +0100 (BST)
Cc:, Ralf Baechle <>, Thomas Bogendoerfer <>,
In-reply-to: <>
Original-recipient: rfc822;
References: <> <1271135034.25797.41.camel@falcon> <> <> <1271232185.25872.142.camel@falcon> <>
User-agent: Alpine 2.00 (LFD 1167 2008-08-23)
On Mon, 26 Apr 2010, David Daney wrote:

> > If using CKSEG0 as the ebase, CKSEG0 is defined as 0xffffffff80000000,
> > then we get the address: 0x97ffffff80000100, is this address ok?
> I don't think so.  We should fix TO_UNCAC() so that it works with CKSEG0
> addresses.  It should be at physical address 0.  So
> TO_UNCAC(0xffffffff80000000), should yield 0x9000000000000000

 A 0xffffffff80000000 -> 0xffffffffa0000000 translation would make more 
sense IMHO.  Of course the use of XKPHYS addresses rather than CKSEG ones 
is preferable for 64-bit kernels in the first place, but then if the 
compatibility address space has been chosen for some reason (perhaps a 
virtual address stored in a structure defined by a peripheral is limited 
to 32 bits; I've seen such cases in DMA descriptor rings for example (not 
that code doing such things couldn't be converted to use cookies of some 
sort)), then I think it'll be safer to stick to the space.


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