I'm working with a somewhat dated kernel (2.4.2+patches) and have
discovered that there are problems with physical memory that does not
map into KSEG0/KSEG1. I looked over the list archives (manually, I
couldn't find a search interface) and it appears that this is still
the case for current kernels (at least as of a note from last summer,
the last time the issue seems to have come up.)
Obviously, phys_to_virt() is going to be a problem but besides this
I'm wondering what anybody may have done to support physical memory
that is not always mapped into the virtual address space, so that I
don't have to reinvent the wheel.
When I tell the kernel about the memory above 0x20000000, userland
fails to start; the kernel gets as far as execve()'ing init, but
nothing happens (interrupts are enabled; I get echo on the console,
but nothing from userland).