On Mon, Jan 29, 2007 at 10:59:37AM +0100, Franck Bui-Huu wrote: > Hi, > > On 1/28/07, Daniel Jacobowitz <dan@xxxxxxxxxx> wrote: > >The problem is __pa_symbol(&_end); the kernel is linked at > >0xffffffff80xxxxxx, so subtracting a PAGE_OFFSET of 0xa800000000000000 > >does not do anything useful to this address at all. > > > > In my understanding, if your kernel is linked at 0xffffffff80xxxxxx, > you shouldn't have CONFIG_BUILD_ELF64 set. What Maciej said. But also: please compare the description of CONFIG_BUILD_ELF64 with the targets that link at that address. Almost every supported target links at that address, except for IP27. How do any of them work today? config BUILD_ELF64 bool "Use 64-bit ELF format for building" depends on 64BIT help A 64-bit kernel is usually built using the 64-bit ELF binary object format as it's one that allows arbitrary 64-bit constructs. For kernels that are loaded within the KSEG compatibility segments the 32-bit ELF format can optionally be used resulting in a somewhat smaller binary, but this option is not explicitly supported by the toolchain and since binutils 2.14 it does not even work at all. Say Y to use the 64-bit format or N to use the 32-bit one. If unsure say Y. % grep load- arch/mips/Makefile | grep ffffffff8 | wc 55 165 2743 -- Daniel Jacobowitz CodeSourcery