On Oct 1, 2006, at 11:52 PM, Atsushi Nemoto wrote:
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.
Can't I provide Kernel mapping via swapper_pg_dir to 4000_0000?
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.
We poor 32bit users!
I have, to some extent, already incorporated highmem (1GB) through
HIGHMEM + SPARSEMEM combination.
Anyway, you do not have to change __pa() and __va().
---
Atsushi Nemoto