Why the page tables are needed for lowmem?

Rik van Riel riel at surriel.com
Thu Jun 19 15:40:59 EDT 2014


On 06/18/2014 11:21 PM, sandeep kumar wrote:
> Hi All
> 
> i was going through mm initialization code, and saw paging_init()
> implementation.
> it has a function map_lowmem().
> 
> I was wondering why do we need page table entries for lowmem ??
> 
> because all the pages in lowmem can be addressed by kernel logical
> address and differ only an offset from the physical address. Why cant we
> simply add that offset to the virtual(logical) address and get the job
> done. Why waste some memory for creating PTEs for them?
> 
> can any one clarify?

Because after switching the CPU to protected mode,
the CPU can only access memory through page tables,
and can no longer do loads, stores, etc to physical
memory addresses.



More information about the Kernelnewbies mailing list