On Sat, 30 Sep 2006 03:33:01 +0900, girish <girishvg@xxxxxxxxx> wrote: > > Looks good to me, except for page.h part. > > I agree, but as of now, I do not have any better solution. If & when > I will implement kernel page table for memory above 2000_0000, I plan > to give it a through mapping. That is to say, 4000_0000 physical > mapped to 4000_0000 virtual. In that case the page.h __pa/__va macros > stand a chance (^_^;) No. 4000_0000 physical is never mapped to 4000_0000 virtual. The low 2GB of virtual address space are used for user mapping. > If somebody has already done kernel page table implementation, could > you please pass on the relevant patch? Thanks. If you have a 64-bit CPU, you can use a 64-bit kernel which gives you large XKPHYS area. If not, and your CPU does not have D-cache aliasing, you can use CONFIG_HIGHMEM which are using kernel page table already. Otherwise you are out of luck for now unfortunately. Anyway, you do not have to change __pa() and __va(). --- Atsushi Nemoto