The memory map is rather simple: Below PAGE_OFFSET => virtual address space
of user process. Above PAGE_OFFSET => real memory. The kernel also needs
some space above its real memory space for vmalloc(), I/O remapping, and
possibly some others I've conveniently forgotten. ;-)
A 2 GB/2 GB split should be possible. You'd probably have to do some work
on the code used to set up the page tables, though -- I didn't check.
On the other hand, I'd be surprised to see a mainboard that supports even
1 GByte of memory reliably... most max out at 512 these days, and their
performance sucks above the 64-MB threshold if you rely on your vendor's
claim that the tag RAM they installed is actually big enough. :-(
-- Don't start something you would be afraid to see finished.-- Matthias Urlichs \ noris network GmbH / Xlink-POP Nürnberg Schleiermacherstraße 12 \ Linux+Internet / EMail: urlichs@noris.de 90491 Nürnberg (Germany) \ Consulting+Programming+Networking+etc'ing PGP: 1024/4F578875 1B 89 E2 1C 43 EA 80 44 15 D2 29 CF C6 C7 E0 DE Click <A HREF="http://info.noris.de/~smurf/finger">here</A>. 42