diff options
author | dfr <dfr@FreeBSD.org> | 2001-10-19 09:47:02 +0000 |
---|---|---|
committer | dfr <dfr@FreeBSD.org> | 2001-10-19 09:47:02 +0000 |
commit | 220747715aa1f55e0ee13e19b3ecf64ce9d44327 (patch) | |
tree | bf9e17deff403f2fe82fe492fff8cd49650b22f9 /lib/libc | |
parent | bdd378dcf8a5030d7afacc760c456518a0f68edf (diff) | |
download | FreeBSD-src-220747715aa1f55e0ee13e19b3ecf64ce9d44327.zip FreeBSD-src-220747715aa1f55e0ee13e19b3ecf64ce9d44327.tar.gz |
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.
Diffstat (limited to 'lib/libc')
0 files changed, 0 insertions, 0 deletions