Indeed there's no point to have 2 macros __pa()/CPHYSADDR() that do exactly the same thing that is convert a virtual address into physical one at early boot. So this patch simply removes CPHYSADDR() usages and make __pa() aware of 64 bit kernels with CONFIG_BUILD_ELF64=n constraint. At the same time, it also removes all hacks related to the previous constraint and initrd. Unfortunately, no tests have been done for 64 bit kernels because of lacks of hardware. If anybody could give a try that would be great. Please consider, Franck --- arch/mips/kernel/setup.c | 53 ++++++++++++++++++++++++++-------------------- arch/mips/mm/init.c | 5 ---- include/asm-mips/page.h | 7 +++++- 3 files changed, 36 insertions(+), 29 deletions(-)