HomeFreeBSD

Rework pmap so that it separates the PTE structure from the pv_entry

Description

Rework pmap so that it separates the PTE structure from the pv_entry
structure. This makes it possible to pre-allocate PTEs for the kernel,
which is necessary for a reliable implementation of pmap_kenter(). This
also avoids wasting space (about 48 bytes per page) for kernel mappings
and user mappings of memory-mapped devices.

This also fixes a bug with the previous version where the implementation
required the pv_entry structure to be physically contiguous but did not
enforce this (the structure size was not a power of two). This meant
that the pv_entry free list was quickly corrupted as soon as the system
was even mildly loaded.

Details

Provenance
dfrAuthored on Oct 19 2001, 9:47 AM
Parents
rG0a622d82919c: Build the linux module on Alpha again. Note that the linux module
Branches
Unknown
Tags
Unknown

Event Timeline