Ok, just make sure you don't access the same thing with two mappings. That's
easy. In paging_init/mem_init, things which need to be alloced before them
go still into the kernel trunk, then you page align your current start_mem
pointer and from that place on, you access everything with the high
addresses (by high I mean PA+PAGE_OFFSET, low are KERNELBASE+something).
In mem_map, all kernel pages will be reserved anyway, so nobody will try to
use them and look at them with another pointer.
The only issue to be solved (and that applies to sparc32/sparc64), is knfsd,
which needs some way how to ensure a VA between PAGE_OFFSET and end_mem is
valid. That, I think, should be done by some arch specific macros (on intel
& co. it would always return "valid"), which would look up some bit field.
Cheers,
Jakub
___________________________________________________________________
Jakub Jelinek | jj@sunsite.mff.cuni.cz | http://sunsite.mff.cuni.cz
Administrator of SunSITE Czech Republic, MFF, Charles University
___________________________________________________________________
Ultralinux - first 64bit OS to take full power of the UltraSparc
Linux version 2.1.125 on a sparc64 machine (498.80 BogoMips).
___________________________________________________________________
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/