Maciej W. Rozycki wrote: > Franck, >> >> The reason why I'm trying to kick out this macro is that we should >> rely on __pa() for address convertions instead of having several >> helpers that do the same thing but differently. Futermore if some >> tricks are needed for these conversions, they should be done in >> one place. > > Have you verified it works correctly for 64-bit kernels linked at a KSEG0 > address? > Of course not ;). More seriously, I'm working on a 32 bits kernel. I'm not familiar with MIPS 64 bits world and all tricks needed to compile them, and that's the reason why I make this thread an RFC one. I was suspecting something related to 64 bits kernels. Do you mean that this macro exists because of a linker issue ? Futhermore I noticed that some part of the code in setup.c do no rely on this macro for address convertions. See for example in resource_init(): code_resource.start = virt_to_phys(&_text); code_resource.end = virt_to_phys(&_etext) - 1; data_resource.start = virt_to_phys(&_etext); data_resource.end = virt_to_phys(&_edata) - 1; Why in that case we compute address converstion differently ? Thanks Franck