diff options
author | 2004-09-17 19:19:05 +0000 | |
---|---|---|
committer | 2004-09-17 19:19:05 +0000 | |
commit | 95520d2a02c112d14fa45b981a3508cc4f5d8e26 (patch) | |
tree | c9b30fb7ad65bdd3e50eedf20c06c38ceca0791a /sys/lib/libkern | |
parent | Crank MSIZE and NMBCLUSTERS, per other 64bit arches. (diff) | |
download | wireguard-openbsd-95520d2a02c112d14fa45b981a3508cc4f5d8e26.tar.xz wireguard-openbsd-95520d2a02c112d14fa45b981a3508cc4f5d8e26.zip |
Long-due mips pmap potpourri:
- un-__P()ee.
- remove splimp() protection.
- allow pmap_extract() to return FALSE, dammit!
XXX some code under arch/mips64 considers pa == 0 as failure, instead
of checking the return value of pmap_extract(). Free commits.
- do not peek at uvm vm_page flags for ref/mod accounting, but use real
MD flags in pv lists, and implement pmap_is_* and pmap_clear_*, so uvm
(which knows better) does the right thing.
- debug code #ifdef PMAPDEBUG, not #ifdef DIAGNOSTIC.
- merge pmap_init() and pmap_pinit(), pmap_destroy() and pmap_release(),
and update comments.
- better pmap_enter() logic, from NetBSD.
- do not use IS_VM_PHYSADDR() to know if we can use PHYS_TO_VM_PAGE()
unchecked. Instead, compute PHYS_TO_VM_PAGE(), and check it against
NULL. Saves a vm_physseg_find() call each time.
- pass vm_page_t to internal function whenever possible, rather than
paddr_t, so that PHYS_TO_VM_PAGE() needs not be computed again.
- in the same way, do not compute PHYS_TO_KSEG0(foo) several times in a
row (though PHYS_TO_KSEG0 is trivial).
- allow userspace address to cross 0x80000000 (may be useful in the
future).
- implement PMAP_CANFAIL.
As a bonus:
- switch from HAVE_PMAP_PHYSSEG to HAVE_VM_PAGE_MD.
- remove dead (pre-pmap_pv_pool) code.
- KNF fixes.
Diffstat (limited to 'sys/lib/libkern')
0 files changed, 0 insertions, 0 deletions