Plan 9 and Inferno at the Google Summer of Code

9load page table setup

Today i read the code in 9load’s l.s file. I wanted to get information about the way 9load sets up paging for plan9 kernel.

I figured out that 9load turns on paging. It identity maps first 16 MB of memory to 2 GB and above it.

I find this quite odd, normally bootloader never uses paging, when kernel gets control it sets up the page tables.

Now my next task is to check the startup code in kernel, and figure out how it uses this mapping, and if possible remove dependency from 9loads memory mapping.