In file src/sys/arch/amd64/include/pmap.h:

 * The x86_64 pmap module closely resembles the i386 one. It uses
 * the same recursive entry scheme, and the same alternate area
 * trick for accessing non-current pmaps. See the i386 pmap.h
 * for a description. The obvious difference is that 3 extra
 * levels of page table need to be dealt with. The level 1 page
 * table pages are at:
 *
* l1: 0x00007f8000000000 - 0x00007fffffffffff (39 bits, needs PML4 entry)
 *
 * The alternate space is at:
 *
* l1: 0xffffff8000000000 - 0xffffffffffffffff (39 bits, needs PML4 entry)
 *
 * The rest is kept as physical pages in 3 UVM objects, and is
 * temporarily mapped for virtual access when needed.


Which one level 1 ptp do we keep at the recursive area? Does OpenBSD keep the last used level 1 ptp cached at that area? Please clarify.

Thanks,
Constantine

Reply via email to