Home | History | Annotate | Download | only in pmap
History log of /src/sys/uvm/pmap/pmap_segtab.c
RevisionDateAuthorComments
 1.33  23-Jul-2023  skrll KASSERT -> KASSERTMSG
 1.32  01-Jul-2023  skrll Fix build when KERNHIST defined, but not UVMHIST
 1.31  21-Dec-2022  skrll Rename pmap_md_pdetab_destroy to pmap_md_pdetab_fini to match
pmap_md_pdetab_init.

Call pmap_md_pdetab_fini from pmap_segtab_destroy.
 1.30  27-Oct-2022  skrll In pmap_pte_reserve ensure we're atomically swapping out an invalid entry
otherwise concurrent updates might both think they've updated the entry.
 1.29  26-Oct-2022  skrll MI PMAP hardware page table walker support.

This is based on code given to me by Matt Thomas a long time ago with
many updates and bugs fixes from me.
 1.28  25-Sep-2022  skrll Rename pmap_segtab_t *stp to stb for consistency with a future
pmap_pdetab_t *ptb. pmap_pdetab_t *ptp would be far too confusing.

NFC. Same code before and after.
 1.27  13-Mar-2021  skrll Consistently use %#jx instead of 0x%jx or just %jx in UVMHIST_LOG formats
 1.26  08-Oct-2020  skrll branches: 1.26.2;
%#jx vs %jx consistency in UVMHIST_LOG
 1.25  24-Sep-2020  skrll Whitespace
 1.24  10-Sep-2020  rin Cast pointer arguments of UVMHIST_CALLARGS() into uintptr_t.

Appease GCC9 -Wpointer-to-int-cast on ILP32 environments.
 1.23  22-Aug-2020  skrll Remove pte_zero_p and simply check against 0.
 1.22  22-Aug-2020  skrll Remove the #if defined(__mips_n64) && PAGE_SIZE == 8192 and make the
check MI - all PTs are PAGE_SIZE aligned
 1.21  22-Aug-2020  skrll Trailing whitespace
 1.20  20-Aug-2020  mrg fix hpcmips and evbppc builds (wrong type in panic()).
 1.19  20-Aug-2020  mrg move pmap segtab history into a new history of only 1000 entries,
but will overflow much slower than the main pmap history.

move various debug info into kernhist. make pte array checker
into an array and use it in pmap_segtab_release() and
pmap_pte_reserve(). move check before MD callback(), incase it
wants to change ptes for some reason (they're passed in, but
this callback is currently always NULL.)

clean up some history logs to reduce the number of lines required.
 1.18  18-Aug-2020  simonb Fix small tyop in a comment.
 1.17  18-Aug-2020  skrll Improve a panic message ever so slightly
 1.16  17-Aug-2020  mrg add pmaphist calls around seg_tab[] manipulation. hopefully will
help find what causes this:

panic: pmap_segtab_alloc: pm_segtab.seg_tab[1010] != 0 (0x980000004eeb6068): from free list
 1.15  07-Aug-2020  skrll Provide a pmap_segtab_deactivate for symmetry with pmap_segtab_activate
and use it in pmap_deactivate

Call pmap_md_xtab_{,de}activate from pmap_segtab_{,de}activate to be used
for PMAP_HWPAGEWALKER and any caches ops that might be required.

Provide empty (for now) pmap_md_xtab_{,de}activate functions on the
platforms that use sys/uvm/pmap
 1.14  24-Feb-2020  rin 0x%p --> %p for non-external codes.
 1.13  18-Dec-2019  skrll branches: 1.13.2;
KNF
 1.12  14-Dec-2019  ad Use pageq.list instead of listq.list.
 1.11  20-Oct-2019  skrll Whitespace
 1.10  23-Sep-2019  skrll Use "segmap" for uvm_wait message in pmap_segtab_alloc
 1.9  18-Sep-2019  skrll s/pte/ptep/ in pmap_pte_process for consistency with other code. NFCI.
 1.8  18-Sep-2019  skrll Whitespace
 1.7  08-Mar-2019  msaitoh s/ the the / the /
 1.6  12-May-2017  skrll branches: 1.6.8; 1.6.12;
KASSERT -> KASSERTMSG
 1.5  12-May-2017  skrll Trailing whitespace
 1.4  23-Nov-2016  mrg branches: 1.4.6;
fix the start index generation in pmap_segtab_release() to
ensure it fits in the actual array. fixes N64 binaries from
triggering later panic. move the panic check itself into a
common function that is called from a couple of new places too.
 1.3  11-Jul-2016  matt branches: 1.3.2;
Changes so that MIPS can use the common pmap.
Change/augment the virtual cache alias callbacks.
 1.2  11-Jun-2015  matt Use PMAP_MAP_POOLPAGE instead of POOL_PHYSTOV since we use PMAP_UNMAP_POOLPAGE.
Use PMAP_ALLOC_POOLPAGE instead of pmap_md_alloc_poolpage.
Cleanup some panic messages.
 1.1  03-Oct-2012  christos branches: 1.1.2; 1.1.14; 1.1.16; 1.1.18; 1.1.20;
move from common/pmap/tlb -> uvm/pmap
 1.1.20.1  18-Jan-2017  skrll Sync with netbsd-5
 1.1.18.1  03-Dec-2016  martin Pull up following revision(s) (requested by mrg in ticket #1275):
sys/arch/mips/include/vmparam.h: revision 1.57
sys/uvm/pmap/pmap_segtab.c: revision 1.4
1TB is enough UVA for anyone... plus not all cpus can support more.
fix the start index generation in pmap_segtab_release() to
ensure it fits in the actual array. fixes N64 binaries from
triggering later panic. move the panic check itself into a
common function that is called from a couple of new places too.
 1.1.16.4  28-Aug-2017  skrll Sync with HEAD
 1.1.16.3  05-Dec-2016  skrll Sync with HEAD
 1.1.16.2  05-Oct-2016  skrll Sync with HEAD
 1.1.16.1  22-Sep-2015  skrll Sync with HEAD
 1.1.14.1  03-Dec-2016  martin Pull up following revision(s) (requested by mrg in ticket #1275):
sys/arch/mips/include/vmparam.h: revision 1.57
sys/uvm/pmap/pmap_segtab.c: revision 1.4
1TB is enough UVA for anyone... plus not all cpus can support more.
fix the start index generation in pmap_segtab_release() to
ensure it fits in the actual array. fixes N64 binaries from
triggering later panic. move the panic check itself into a
common function that is called from a couple of new places too.
 1.1.2.2  30-Oct-2012  yamt sync with head
 1.1.2.1  03-Oct-2012  yamt file pmap_segtab.c was added on branch yamt-pagecache on 2012-10-30 17:23:03 +0000
 1.3.2.1  07-Jan-2017  pgoyette Sync with HEAD. (Note that most of these changes are simply $NetBSD$
tag issues.)
 1.4.6.1  19-May-2017  pgoyette Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)
 1.6.12.2  13-Apr-2020  martin Mostly merge changes from HEAD upto 20200411
 1.6.12.1  10-Jun-2019  christos Sync with HEAD
 1.6.8.2  03-Dec-2017  jdolecek update from HEAD
 1.6.8.1  12-May-2017  jdolecek file pmap_segtab.c was added on branch tls-maxphys on 2017-12-03 11:39:23 +0000
 1.13.2.1  29-Feb-2020  ad Sync with head.
 1.26.2.1  03-Apr-2021  thorpej Sync with HEAD.

RSS XML Feed