Franck Bui-Huu wrote: > Thiemo Seufer wrote: > > Franck Bui-Huu wrote: > >> > >> - if (CPHYSADDR(initrd_end) > PFN_PHYS(max_low_pfn)) { > >> + if (__pa(initrd_end) > PFN_PHYS(max_low_pfn)) { > > > > ISTR this failed on O2, where kernel+initrd are loaded into KSEG0 but the > > PAGE_OFFSET is for XKPHYS. > > > > I guess that you were meaning somthing like: > > LOADADDR = 0xffffffff80004000 > PAGE_OFFSET = 0xa800000000000000 > > is that correct ? Yes. > If so could you explain the choice of these values > because I fail to understand it. It allows to load a 64-bit kernel in KSEG0, and use short 2-instruction symbol references there. At the same time, it allows access to more address space for memory and I/O than would fit in KSEG0. Thiemo