On 3/21/07, Atsushi Nemoto <anemo@mba.ocn.ne.jp> wrote:
On Mon, 19 Mar 2007 11:17:48 +0100, "Franck Bui-Huu" <vagabon.xyz@gmail.com>
wrote:
> > > You are using CONFIG_BUILD_ELF64=y and CKSEG0 load address.
> > > This combination does not work. Please refer these threads:
> > >
> >
> > Thanks Atsushi for sorting this out. It's a bit sad to get these type
> > of information after so many email echanges...
> >
>
> BTW, how this config has ever worked for a 2.6.19 kernel ? I don't see
> why using __pa() instead of CPHYSADDR() breaks this config...
2.6.19:
CPHYSADDR(0xffffffff80000000) == 0
__pa(0xffffffff80000000) == 0xffffffff80000000 - 0x9800000000000000
2.6.20 (CONFIG_BUILD_ELF64=y):
CPHYSADDR(0xffffffff80000000) == 0
__pa(0xffffffff80000000) == 0xffffffff80000000 - 0x9800000000000000
2.6.20 (CONFIG_BUILD_ELF64=n):
CPHYSADDR(0xffffffff80000000) == 0
__pa(0xffffffff80000000) == 0
The reason is obvious, isn't it? ;)
Yes it is !
After writing this I just realised that I was confused by what you said earlier:
You are using CONFIG_BUILD_ELF64=y and CKSEG0 load address.
This combination does not work. Please refer these threads:
This combo should theoritically work but currently does not. Unlike
the following one
CONFIG_BUILD_ELF64=n and XKPHYS load address.
which definitely don't work. And I mixed the second case with the first one...
no other comment ;)
--
Franck
|