Date: Fri, 19 Oct 2001 02:47:03 -0700 (PDT) From: Doug Rabson <dfr@FreeBSD.org> To: cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org Subject: cvs commit: src/sys/ia64/include pmap.h src/sys/ia64/ia64 pmap.c Message-ID: <200110190947.f9J9l3g22142@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
dfr 2001/10/19 02:47:03 PDT
Modified files:
sys/ia64/include pmap.h
sys/ia64/ia64 pmap.c
Log:
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.
Revision Changes Path
1.28 +504 -332 src/sys/ia64/ia64/pmap.c
1.5 +7 -2 src/sys/ia64/include/pmap.h
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200110190947.f9J9l3g22142>
