|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.80 |
06-May-2024 |
skrll |
Fix 32bit UVMHIST builds
|
| 1.79 |
03-May-2024 |
skrll |
More debug.
|
| 1.78 |
18-Apr-2024 |
skrll |
Fix types in pmap_page_clear_attributes so that the top bits of the u_long mdpg_attrs aren't dropped giving atomic_cas_ulong no chance of completing if any of the top bits is set.
Update pmap_page_set_attributes for consistency.
An ATF test run completed for me with this fix.
port-riscv/58006: ATF tests no longer complete on riscv-riscv64
|
| 1.77 |
23-Mar-2024 |
skrll |
Default pmap_stealdebug to false
|
| 1.76 |
05-Mar-2024 |
skrll |
Change the PMAP_STEAL_MEMORY debug output from aprint_debug.
The new printfs are conditional on pmap_stealdebug and the DEBUG compile option. The former defaults to true, but can be changed at a boot -d ddb prompt.
|
|
Revision tags: thorpej-ifq-base thorpej-altq-separation-base
|
| 1.75 |
26-Feb-2023 |
skrll |
ci_data.cpu_kcpuset -> ci_kcpuset
NFCI.
|
|
Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.74 |
03-Nov-2022 |
skrll |
branches: 1.74.2; Provide MI PMAP support on AARCH64
|
| 1.73 |
02-Nov-2022 |
skrll |
KNF
|
| 1.72 |
28-Oct-2022 |
skrll |
MI PMAP EFI_RUNTIME support
|
| 1.71 |
27-Oct-2022 |
skrll |
No need to hold the pmap_tlb_miss_lock when calling pmap_segtab_destroy
|
| 1.70 |
27-Oct-2022 |
skrll |
Rename pm_count to pm_refcnt
|
| 1.69 |
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.68 |
23-Oct-2022 |
skrll |
Correct the pmap_kstart_segtab entry in pmap_kern_segtab
|
|
Revision tags: bouyer-sunxi-drm-base
|
| 1.67 |
15-Sep-2022 |
skrll |
whitespace - remove spaces before tabs
|
| 1.66 |
12-Sep-2022 |
skrll |
A simplification and some minor whitespace
|
| 1.65 |
07-May-2022 |
rin |
Introduce PMAP_PV_TRACK_ONLY_STUBS option, by which only empty stubs for global functions in pmap_pvt.h are provided, instead of real support for PV tracking.
Necessary for powerpc: Only one sub-arch (oea) has PV tracking support. Others (booke/ibm4xx) do not at the moment (probably never for ibm4xx), but __HAVE_PMAP_PV_TRACK is necessary, so that modules can be shared by all of sub-archs.
|
| 1.64 |
09-Apr-2022 |
riastradh |
sys: Use membar_release/acquire around reference drop.
This just goes through my recent reference count membar audit and changes membar_exit to membar_release and membar_enter to membar_acquire -- this should make everything cheaper on most CPUs without hurting correctness, because membar_acquire is generally cheaper than membar_enter.
|
| 1.63 |
12-Mar-2022 |
riastradh |
sys: Membar audit around reference count releases.
If two threads are using an object that is freed when the reference count goes to zero, we need to ensure that all memory operations related to the object happen before freeing the object.
Using an atomic_dec_uint_nv(&refcnt) == 0 ensures that only one thread takes responsibility for freeing, but it's not enough to ensure that the other thread's memory operations happen before the freeing.
Consider:
Thread A Thread B obj->foo = 42; obj->baz = 73; mumble(&obj->bar); grumble(&obj->quux); /* membar_exit(); */ /* membar_exit(); */ atomic_dec -- not last atomic_dec -- last /* membar_enter(); */ KASSERT(invariant(obj->foo, obj->bar)); free_stuff(obj);
The memory barriers ensure that
obj->foo = 42; mumble(&obj->bar);
in thread A happens before
KASSERT(invariant(obj->foo, obj->bar)); free_stuff(obj);
in thread B. Without them, this ordering is not guaranteed.
So in general it is necessary to do
membar_exit(); if (atomic_dec_uint_nv(&obj->refcnt) != 0) return; membar_enter();
to release a reference, for the `last one out hit the lights' style of reference counting. (This is in contrast to the style where one thread blocks new references and then waits under a lock for existing ones to drain with a condvar -- no membar needed thanks to mutex(9).)
I searched for atomic_dec to find all these. Obviously we ought to have a better abstraction for this because there's so much copypasta. This is a stop-gap measure to fix actual bugs until we have that. It would be nice if an abstraction could gracefully handle the different styles of reference counting in use -- some years ago I drafted an API for this, but making it cover everything got a little out of hand (particularly with struct vnode::v_usecount) and I ended up setting it aside to work on psref/localcount instead for better scalability.
I got bored of adding #ifdef __HAVE_ATOMIC_AS_MEMBAR everywhere, so I only put it on things that look performance-critical on 5sec review. We should really adopt membar_enter_preatomic/membar_exit_postatomic or something (except they are applicable only to atomic r/m/w, not to atomic_load/store_*, making the naming annoying) and get rid of all the ifdefs.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base
|
| 1.62 |
17-Apr-2021 |
mrg |
remove KERNHIST_INIT_STATIC(). it stradles the line between usable early in boot and broken early in boot by requiring a partly static structure with another structure that must be present by the time any uses are performed. theoretically platform code could allocate a chunk while seting up memory and assign it here, giving a dynamic sizing for the entry list, but the reality is that all users have a statically allocated entry list as well.
the existing KERNHIST_LINK_STATIC() is used in conjunction with KERNHIST_INITIALIZER() instead.
this stops a NULL pointer deref when the _LOG() macro is called before the storage is linked in, which happens with GCC 10 on OCTEON with UVMHIST enabled, crashing in very early kernel init.
|
|
Revision tags: thorpej-futex-base
|
| 1.61 |
19-Mar-2021 |
skrll |
branches: 1.61.2; Support pmap_growkernel and KASAN shadow mapping of the new KVA.
Neither mips nor ppc booke actually use pmap_growkernel (at present).
Thanks to rin@ for testing a similar patch on ppc booke.
|
| 1.60 |
13-Mar-2021 |
skrll |
s/pfi_faultpte/&p/ for consistency with arm / other uses of ptep
|
| 1.59 |
13-Mar-2021 |
skrll |
Don't use %jx for 0 or 1 - just use %jd in UVMHIST_LOG format.
|
| 1.58 |
20-Dec-2020 |
skrll |
Support __HAVE_PMAP_PV_TRACK in sys/uvm/pmap based pmaps (aka common pmap)
|
| 1.57 |
08-Oct-2020 |
skrll |
branches: 1.57.2; %#jx vs %jx consistency in UVMHIST_LOG
|
| 1.56 |
24-Sep-2020 |
skrll |
Whitespace
|
| 1.55 |
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.54 |
19-Aug-2020 |
simonb |
Remove trailing \n from UVMHIST_LOG() format strings.
|
| 1.53 |
11-Aug-2020 |
skrll |
More UVMHIST_LOG. Remove some commented output printfs.
|
| 1.52 |
11-Aug-2020 |
skrll |
Fix a comment
|
| 1.51 |
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.50 |
18-Jul-2020 |
skrll |
Always call pmap_segtab_activate in pmap_activate. pmap_segtab_activate does the right thing if called with non-curlwp.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
| 1.49 |
12-Apr-2020 |
skrll |
Use UVMHIST_CALLARGS
|
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.48 |
14-Mar-2020 |
ad |
branches: 1.48.2; pmap_remove_all(): Return a boolean value to indicate the behaviour. If true, all mappings have been removed, the pmap is totally cleared out, and UVM can then avoid doing the work to call pmap_remove() for each map entry. If false, either nothing has been done, or some helpful arch-specific voodoo has taken place.
|
| 1.47 |
12-Mar-2020 |
thorpej |
pmap_tlb_miss_lock needs to be globally visible.
|
| 1.46 |
11-Mar-2020 |
thorpej |
With DEBUG defined, it's possible to execute a TLB-vs-segmap consistency check from a (soft) interrupt handler. But if a platform does not otherwise require the pmap_tlb_miss_lock, then where will be a brief window of inconsistency that, while harmless, will still fire an assertion in the consistency check.
Fix this with the following changes: 1- Refactor the pmap_tlb_miss_lock into MI code and rename it from pmap_tlb_miss_lock_{enter,exit}() to pmap_tlb_miss_lock_{enter,exit}(). MD code can still define the "md" hooks as necessary, and if so, will override the common implementation. 2- Provde a pmap_bootstrap_common() function to perform common pmap bootstrap operations, namely initializing the pmap_tlb_miss_lock if it's needed. If MD code overrides the implementation, it's responsible for initializing its own lock. 3- Call pmap_bootstrap_common() from the mips, powerpc booke, and riscv pmap_bootstrap() routines. (This required adding one for riscv.) 4- Switch powerpc booke to the common pmap_tlb_miss_lock. 5- Enable pmap_tlb_miss_lock if DEBUG is defined, even if it's not otherwise required.
PR port-mips/55062 (Failed assertion in pmap_md_tlb_check_entry())
|
|
Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.45 |
18-Dec-2019 |
skrll |
Remove duplicate #includes
|
|
Revision tags: phil-wifi-20191119
|
| 1.44 |
20-Oct-2019 |
skrll |
Define and use VM_PAGEMD_PVLIST_EMPTY_P
|
| 1.43 |
20-Oct-2019 |
skrll |
Remove KASSERT(!VM_PAGEMD_PVLIST_LOCKED_P(mdpg)) - can only assert that it is owned
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
|
| 1.42 |
12-Jul-2019 |
skrll |
Provide and use PV_ISKENTER_P. NFCI.
|
| 1.41 |
19-Jun-2019 |
skrll |
Make a comment generic and not MIPS specific
|
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202
|
| 1.40 |
30-Oct-2017 |
pgoyette |
branches: 1.40.2; 1.40.6; Remove unneeded casts to (uintptr_t). This is already taken care of in the xxxHIST_LOG() macros.
No need to pull-up to -8 - the extra cast really won't hurt anything.
|
| 1.39 |
30-Oct-2017 |
pgoyette |
And replace an instance of "%p" conversion with "%#jx"
|
| 1.38 |
30-Oct-2017 |
kre |
Remove a stray '"' (obvious typo) and add a couple of casts that are probably needed.
|
| 1.37 |
28-Oct-2017 |
pgoyette |
Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju".
[2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies.
|
| 1.36 |
07-Sep-2017 |
skrll |
There's no need to call pmap_tlb_invalidate_addr if pmap_remove_all was called and PMAP_DEFERRED_ACTIVATE is set.
|
|
Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.35 |
24-Jun-2017 |
skrll |
Use pte_set
|
|
Revision tags: netbsd-8-base prg-localcount2-base3
|
| 1.34 |
12-May-2017 |
skrll |
branches: 1.34.2; Sprinkle some KASSERTs
|
|
Revision tags: prg-localcount2-base2
|
| 1.33 |
07-May-2017 |
skrll |
Fix a comment
|
|
Revision tags: prg-localcount2-base1
|
| 1.32 |
28-Apr-2017 |
skrll |
Remove unused LNAME macro
|
| 1.31 |
28-Apr-2017 |
skrll |
Fix a UVMHIST_LOG after the "%s" removal
|
|
Revision tags: prg-localcount2-base pgoyette-localcount-20170426
|
| 1.30 |
22-Apr-2017 |
skrll |
branches: 1.30.2; Improve a comment
|
| 1.29 |
22-Apr-2017 |
skrll |
Trailing whitespace
|
|
Revision tags: bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320
|
| 1.28 |
02-Mar-2017 |
mrg |
avoid using %s in UVMHIST.
|
|
Revision tags: nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107
|
| 1.27 |
23-Dec-2016 |
skrll |
branches: 1.27.2; PHYSMEM -> PHYSSEG to fix build
|
| 1.26 |
23-Dec-2016 |
cherry |
"Make NetBSD great again!"
Introduce uvm_hotplug(9) to the kernel.
Many thanks, in no particular order to:
TNF, for funding the project.
Chuck Silvers - for multiple API reviews and feedback. Nick Hudson - for testing on multiple architectures and bugfix patches. Everyone who helped with boot testing.
KeK (http://www.kek.org.in) for hosting the primary developers.
|
|
Revision tags: nick-nhusb-base-20161204
|
| 1.25 |
01-Dec-2016 |
mrg |
extend the pmap_activate/pmap_deactivate UVMHIST logs to include the pid, lid, and either l_name or p_comm.
|
|
Revision tags: pgoyette-localcount-20161104
|
| 1.24 |
05-Oct-2016 |
skrll |
Move some code before pmap_enter_pv in pmap_enter so that when we are re-mapping a VA to a new PA the old mapping is removed first. This means the cache alias code need to do less work and works better with the last va tracking.
|
|
Revision tags: nick-nhusb-base-20161004
|
| 1.23 |
30-Sep-2016 |
skrll |
Increment resident_count if we're remapping onto new PA as pmap_remove -> pmap_pte_remote will decrement it
|
| 1.22 |
16-Sep-2016 |
matt |
When removing a page, make sure to clear its execness regardless of whether the page is clean or dirty. This fixes the problem of execpages leaking into the freepage lists.
|
|
Revision tags: localcount-20160914
|
| 1.21 |
20-Aug-2016 |
mrg |
put a variable under the #ifdef it's only used in.
|
| 1.20 |
18-Aug-2016 |
matt |
Don't track kenter_pa/kremove PVs unless we are worrying about cache aliasing.
|
|
Revision tags: pgoyette-localcount-20160806
|
| 1.19 |
05-Aug-2016 |
jakllsch |
Only include `static inline pmap_asid_check()` if it might be used.
Should fix HEAD-llvm evbppc autobuild.
|
|
Revision tags: pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.18 |
14-Jul-2016 |
skrll |
branches: 1.18.2; Spell PMAP_TLB_NEED_SHOOTDOWN correctly
|
| 1.17 |
14-Jul-2016 |
skrll |
Trailing whitespace
|
| 1.16 |
11-Jul-2016 |
maya |
Fix build by removing accidential duplicate line.
|
| 1.15 |
11-Jul-2016 |
matt |
Changes so that MIPS can use the common pmap. Change/augment the virtual cache alias callbacks.
|
|
Revision tags: nick-nhusb-base-20160907
|
| 1.14 |
07-Jul-2016 |
msaitoh |
KNF. Remove extra spaces. No functional change.
|
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.13 |
05-Nov-2015 |
pgoyette |
Remove unnecessary #include for sys/shm.h - there's nothing here that needs anything from there.
|
|
Revision tags: nick-nhusb-base-20150921
|
| 1.12 |
11-Jun-2015 |
matt |
Add virtual_start to pmap_limits. This allows MD to steal address space before pmap_bootstrap.
|
|
Revision tags: nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.11 |
03-Feb-2015 |
nonaka |
Disable pmap_md_tlb_check_entry, when MP.
|
| 1.10 |
26-Jan-2015 |
nonaka |
Avoid race condition between PTE update and TLB miss walk.
|
| 1.9 |
05-Jan-2015 |
nonaka |
Use PMAP_TLB_MAX instead of MAXCPUS.
|
| 1.8 |
25-Dec-2014 |
nonaka |
fix build failure when UVMHIST is defined.
|
| 1.7 |
24-Dec-2014 |
nonaka |
fix compile failure.
|
| 1.6 |
22-Dec-2014 |
nonaka |
pmap->pm_active and pmap->pm_onproc must be destroyed.
|
| 1.5 |
19-Dec-2014 |
nonaka |
Initialize pmap->pm_active and pmap->pm_onproc. Avoid "panic: kernel diagnostic assertion "!pmap_tlb_intersecting_onproc_p(pm, ti)" failed: file "/usr/src/sys/uvm/pmap/pmap_tlb.c", line 762".
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.4 |
25-Feb-2014 |
martin |
branches: 1.4.6; Mark a potentially unused variable
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1
|
| 1.3 |
22-Jul-2013 |
matt |
In the non-MP case, just initialize onproc to NULL.
|
| 1.2 |
17-Jul-2013 |
matt |
Make this kcpuset_t instead of the private __cpuset_t Add improvements for single TLB implementation (PPC, ARM).
|
|
Revision tags: riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.1 |
03-Oct-2012 |
christos |
branches: 1.1.2; 1.1.4; 1.1.10; move from common/pmap/tlb -> uvm/pmap
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.28 |
25-Nov-2024 |
skrll |
Sprinkle #ifdef _KERNEL
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.27 |
18-Apr-2024 |
skrll |
branches: 1.27.2; Fix types in pmap_page_clear_attributes so that the top bits of the u_long mdpg_attrs aren't dropped giving atomic_cas_ulong no chance of completing if any of the top bits is set.
Update pmap_page_set_attributes for consistency.
An ATF test run completed for me with this fix.
port-riscv/58006: ATF tests no longer complete on riscv-riscv64
|
|
Revision tags: netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base
|
| 1.26 |
03-Nov-2022 |
skrll |
branches: 1.26.2; _KERNEL_OPT protection
|
| 1.25 |
03-Nov-2022 |
skrll |
Provide MI PMAP support on AARCH64
|
| 1.24 |
27-Oct-2022 |
skrll |
Rename pm_count to pm_refcnt
|
| 1.23 |
27-Oct-2022 |
skrll |
Fix the crash(1) build for mips platforms
|
| 1.22 |
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.
|
|
Revision tags: bouyer-sunxi-drm-base
|
| 1.21 |
07-May-2022 |
rin |
Introduce PMAP_PV_TRACK_ONLY_STUBS option, by which only empty stubs for global functions in pmap_pvt.h are provided, instead of real support for PV tracking.
Necessary for powerpc: Only one sub-arch (oea) has PV tracking support. Others (booke/ibm4xx) do not at the moment (probably never for ibm4xx), but __HAVE_PMAP_PV_TRACK is necessary, so that modules can be shared by all of sub-archs.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.20 |
19-Mar-2021 |
skrll |
Support pmap_growkernel and KASAN shadow mapping of the new KVA.
Neither mips nor ppc booke actually use pmap_growkernel (at present).
Thanks to rin@ for testing a similar patch on ppc booke.
|
| 1.19 |
21-Dec-2020 |
skrll |
Remove variable in function declaration argument
|
| 1.18 |
20-Dec-2020 |
skrll |
Support __HAVE_PMAP_PV_TRACK in sys/uvm/pmap based pmaps (aka common pmap)
|
| 1.17 |
20-Aug-2020 |
mrg |
branches: 1.17.2; 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.16 |
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.15 |
08-Jul-2020 |
skrll |
Comment updates
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.14 |
15-Mar-2020 |
rin |
Fix build for ports using uvm/pmap; pmap_remove_all() returns a boolean.
|
| 1.13 |
11-Mar-2020 |
thorpej |
With DEBUG defined, it's possible to execute a TLB-vs-segmap consistency check from a (soft) interrupt handler. But if a platform does not otherwise require the pmap_tlb_miss_lock, then where will be a brief window of inconsistency that, while harmless, will still fire an assertion in the consistency check.
Fix this with the following changes: 1- Refactor the pmap_tlb_miss_lock into MI code and rename it from pmap_tlb_miss_lock_{enter,exit}() to pmap_tlb_miss_lock_{enter,exit}(). MD code can still define the "md" hooks as necessary, and if so, will override the common implementation. 2- Provde a pmap_bootstrap_common() function to perform common pmap bootstrap operations, namely initializing the pmap_tlb_miss_lock if it's needed. If MD code overrides the implementation, it's responsible for initializing its own lock. 3- Call pmap_bootstrap_common() from the mips, powerpc booke, and riscv pmap_bootstrap() routines. (This required adding one for riscv.) 4- Switch powerpc booke to the common pmap_tlb_miss_lock. 5- Enable pmap_tlb_miss_lock if DEBUG is defined, even if it's not otherwise required.
PR port-mips/55062 (Failed assertion in pmap_md_tlb_check_entry())
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE is-mlppp-base ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609
|
| 1.12 |
01-Jun-2019 |
maxv |
Misc changes in RISC-V. Start changing the memory layout, too.
|
| 1.11 |
20-May-2019 |
skrll |
Usee __BIT()
|
| 1.10 |
20-May-2019 |
skrll |
Trailing whitespace
|
|
Revision tags: isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.9 |
24-Jun-2017 |
skrll |
branches: 1.9.4; 1.9.8; Trailing whitespace
|
| 1.8 |
24-Jun-2017 |
skrll |
Multiple inclusion protection define consistency
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.7 |
11-Jul-2016 |
matt |
Changes so that MIPS can use the common pmap. Change/augment the virtual cache alias callbacks.
|
|
Revision tags: nick-nhusb-base-20160907
|
| 1.6 |
07-Jul-2016 |
msaitoh |
KNF. Remove extra spaces. No functional change.
|
|
Revision tags: nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.5 |
11-Jun-2015 |
matt |
Add virtual_start to pmap_limits. This allows MD to steal address space before pmap_bootstrap.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.4 |
18-Mar-2014 |
riastradh |
branches: 1.4.6; Merge riastradh-drm2 to HEAD.
|
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1
|
| 1.3 |
17-Jul-2013 |
matt |
Make this kcpuset_t instead of the private __cpuset_t Add improvements for single TLB implementation (PPC, ARM).
|
|
Revision tags: riastradh-drm2-base
|
| 1.2 |
02-Jul-2013 |
matt |
branches: 1.2.2; Split tlb related stuff into pmap_tlb.h so that can be used for ASID mgmt for non-soft TLB pmaps.
|
|
Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.1 |
03-Oct-2012 |
christos |
branches: 1.1.2; 1.1.4; move from common/pmap/tlb -> uvm/pmap
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.2 |
27-Apr-2023 |
skrll |
Correct a type.
|
| 1.1 |
20-Apr-2023 |
skrll |
Provide a shared pmap_devmap implementation and convert all pmap_devmap arrays to use DEVMAP_ENTRY{,_END}
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base
|
| 1.2 |
25-Nov-2024 |
skrll |
Sprinkle #ifdef _KERNEL
|
|
Revision tags: perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.1 |
20-Apr-2023 |
skrll |
branches: 1.1.6; Provide a shared pmap_devmap implementation and convert all pmap_devmap arrays to use DEVMAP_ENTRY{,_END}
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.15 |
08-May-2022 |
rin |
Oops, correct misleading #endif comment.
It seems I need a cup of coffee...
|
| 1.14 |
08-May-2022 |
rin |
Improve wording a bit in a comment for the previous.
|
| 1.13 |
08-May-2022 |
rin |
For PMAP_PV_TRACK_ONLY_STUBS, comment out pmap_pv_{,un}track().
If modules call these functions, the result should be an inconsistent state.
Such modules require real PV-tracking support, anyway.
The best we can do should be to make two symbols undefined, and prevent these modules from loaded.
|
| 1.12 |
07-May-2022 |
rin |
Introduce PMAP_PV_TRACK_ONLY_STUBS option, by which only empty stubs for global functions in pmap_pvt.h are provided, instead of real support for PV tracking.
Necessary for powerpc: Only one sub-arch (oea) has PV tracking support. Others (booke/ibm4xx) do not at the moment (probably never for ibm4xx), but __HAVE_PMAP_PV_TRACK is necessary, so that modules can be shared by all of sub-archs.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base thorpej-i2c-spi-conf-base
|
| 1.11 |
21-Jul-2021 |
skrll |
need <sys/param.h> for COHERENCY_UNIT
Minor KNF along the way.
|
|
Revision tags: cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base phil-wifi-20200406
|
| 1.10 |
16-Mar-2020 |
ad |
branches: 1.10.8; Use C99-ism to reduce ifdefs. Pointed out by christos@.
|
| 1.9 |
16-Mar-2020 |
ad |
pmap_pv_track(): use PMAP_PAGE_INIT() otherwise the x86 pmap pukes.
|
|
Revision tags: is-mlppp-base ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.8 |
01-Jan-2020 |
martin |
Revert previous (include of sys/param.h) - the headers requiring this have been fixed.
|
| 1.7 |
28-Dec-2019 |
martin |
Add mising sys/param.h include (for COHERENCY_UNIT, now needed in uvm headers)
|
| 1.6 |
18-Dec-2019 |
skrll |
KNF
|
| 1.5 |
09-Dec-2019 |
riastradh |
Convert pmap_pvt to atomic_load/store.
|
| 1.4 |
07-Dec-2019 |
jmcneill |
sys/atomic.h for membar_*
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319
|
| 1.3 |
07-Feb-2016 |
riastradh |
branches: 1.3.16; 1.3.20; Use IPL_NONE for pserialized lock. Assert sleepable. (OOPS.)
|
|
Revision tags: nick-nhusb-base-20151226
|
| 1.2 |
11-Nov-2015 |
skrll |
branches: 1.2.2; Remove #if 0 / #endif includes
|
| 1.1 |
11-Nov-2015 |
skrll |
Split out the pmap_pv_track stuff for use by others.
Discussed with riastradh@
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.3 |
16-Feb-2022 |
riastradh |
pmap_pvt.h: Fix bogus include.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.2 |
24-Jun-2017 |
skrll |
branches: 1.2.4; Multiple inclusion protection define consistency
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.1 |
11-Nov-2015 |
skrll |
branches: 1.1.2; Split out the pmap_pv_track stuff for use by others.
Discussed with riastradh@
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 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.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 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.
|
|
Revision tags: bouyer-sunxi-drm-base
|
| 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.
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 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
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3
|
| 1.14 |
24-Feb-2020 |
rin |
0x%p --> %p for non-external codes.
|
|
Revision tags: ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.13 |
18-Dec-2019 |
skrll |
branches: 1.13.2; KNF
|
| 1.12 |
14-Dec-2019 |
ad |
Use pageq.list instead of listq.list.
|
|
Revision tags: phil-wifi-20191119
|
| 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
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base phil-wifi-20190609 isaki-audio2-base
|
| 1.7 |
08-Mar-2019 |
msaitoh |
s/ the the / the /
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3
|
| 1.6 |
12-May-2017 |
skrll |
branches: 1.6.8; 1.6.12; KASSERT -> KASSERTMSG
|
| 1.5 |
12-May-2017 |
skrll |
Trailing whitespace
|
|
Revision tags: prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204
|
| 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.
|
|
Revision tags: pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 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.
|
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 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.
|
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 tls-maxphys-base yamt-pagecache-base6
|
| 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
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
| 1.5 |
13-Apr-2020 |
skrll |
Trailing whitespace
|
|
Revision tags: phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.4 |
18-Dec-2019 |
skrll |
branches: 1.4.6; KNF
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-8-2-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.3 |
11-Jul-2016 |
matt |
branches: 1.3.16; 1.3.20; Changes so that MIPS can use the common pmap. Change/augment the virtual cache alias callbacks.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base tls-maxphys-base
|
| 1.2 |
02-Jul-2013 |
matt |
branches: 1.2.8; Split tlb related stuff into pmap_tlb.h so that can be used for ASID mgmt for non-soft TLB pmaps.
|
|
Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.1 |
03-Oct-2012 |
christos |
branches: 1.1.2; 1.1.4; move from common/pmap/tlb -> uvm/pmap
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-8-3-RELEASE netbsd-9-4-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 netbsd-8-2-RELEASE ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 netbsd-8-1-RELEASE netbsd-8-1-RC1 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 netbsd-8-0-RELEASE phil-wifi-base pgoyette-compat-0625 netbsd-8-0-RC2 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 netbsd-8-0-RC1 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 matt-nb8-mediatek-base nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.1 |
11-Jul-2016 |
matt |
branches: 1.1.4; 1.1.18; Changes so that MIPS can use the common pmap. Change/augment the virtual cache alias callbacks.
|
| 1.63 |
02-Sep-2025 |
skrll |
Don't log anything when !DIAGNOSTIC in pmap_tlb_pai_check as it's a no-op.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base
|
| 1.62 |
01-Jan-2024 |
skrll |
Appease KASSERTs for zero ASID CPUs (I mean harts)
|
|
Revision tags: thorpej-ifq-base thorpej-altq-separation-base
|
| 1.61 |
06-Oct-2023 |
skrll |
Support CPUs that might not have ASIDs in the common pmap.
|
| 1.60 |
01-Aug-2023 |
skrll |
Improve debug
|
| 1.59 |
12-Jun-2023 |
skrll |
Fix compile for non-MULTIPROCESSOR and PMAP_TLB_MAX > 1 builds
|
| 1.58 |
12-Jun-2023 |
skrll |
Fixup UVMHIST builds
|
| 1.57 |
22-Apr-2023 |
skrll |
KASSERT(kpreempt_disabled()) before accessing curcpu()
|
| 1.56 |
19-Feb-2023 |
skrll |
Spaces to TABs. NFCI.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.55 |
07-Nov-2022 |
skrll |
Fix UVMHIST build
|
| 1.54 |
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.53 |
20-Oct-2022 |
skrll |
Add a KASSERT to check that tlb_asid_t is a large enough type.
|
|
Revision tags: bouyer-sunxi-drm-base
|
| 1.52 |
04-Mar-2022 |
skrll |
Rmmove an incorrect KASSERT.
|
| 1.51 |
02-Jan-2022 |
christos |
fix KASSERTMSG issue
|
| 1.50 |
29-Dec-2021 |
skrll |
Remove duplicate KASSERT
|
| 1.49 |
27-Oct-2021 |
simonb |
TAB police.
|
| 1.48 |
27-Oct-2021 |
simonb |
When adjusting the max ASID count, check if ti->ti_asid_max == 0 as well. This defaults to 0 for the non-PMAP_TLB_NUM_PIDS case, so would skip the updated test.
Fix for port-pmax/56466 (which affects all MIPS).
ok srkll@
|
| 1.47 |
08-Oct-2021 |
skrll |
Fix a logic botch to actually apply the ASID limit returned by pmap_md_tlb_asid_max.
|
| 1.46 |
02-Oct-2021 |
skrll |
Pass the pmap in tlb_set_asid for the benefit of aarch64.
|
| 1.45 |
12-Sep-2021 |
skrll |
comment whitespace
|
|
Revision tags: thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base
|
| 1.44 |
04-May-2021 |
skrll |
Always expose pmap_tlb_update_addr now that all current PMAP_HWPAGEWALKERs (arm) users provide the required functions.
|
| 1.43 |
01-May-2021 |
skrll |
Revert previous
|
| 1.42 |
01-May-2021 |
skrll |
Expose pmap_tlb_update_addr to the PMAP_HWPAGEWALKER platforms
|
|
Revision tags: thorpej-cfargs-base thorpej-futex-base
|
| 1.41 |
24-Sep-2020 |
skrll |
branches: 1.41.6; Whitespace
|
| 1.40 |
22-Aug-2020 |
skrll |
Whitespace - line continutation alignment
|
| 1.39 |
19-Aug-2020 |
skrll |
KNF. Add some whitespace to the TLBINV_MAP macro and tlb_invalidate_op enum.
|
| 1.38 |
19-Aug-2020 |
skrll |
Unwrap short line KASSERT
|
| 1.37 |
19-Aug-2020 |
skrll |
Fix inverted logic test in pmap_tlb_shootdown_process for if the victim is onproc.
|
| 1.36 |
11-Aug-2020 |
skrll |
s/pmaphist/maphist/ for now
|
| 1.35 |
11-Aug-2020 |
skrll |
More UVMHIST_LOG. Remove some commented output printfs.
|
| 1.34 |
09-Aug-2020 |
skrll |
Don't kcpuset_clone every pmap_tlb_shootdown_bystanders. Instead allocate a kcpuset_t per cpu_info and use that.
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1
|
| 1.33 |
14-Apr-2020 |
skrll |
Fix UVMHIST bulid
|
| 1.32 |
12-Apr-2020 |
skrll |
Use UVMHIST_CALLARGS
|
|
Revision tags: phil-wifi-20200411
|
| 1.31 |
09-Apr-2020 |
skrll |
Make a comment less MIPS specific
|
|
Revision tags: bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.30 |
18-Dec-2019 |
skrll |
branches: 1.30.6; KNF
|
| 1.29 |
17-Dec-2019 |
skrll |
Fix a UVMHIST_LOG format
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.28 |
25-Feb-2018 |
jdolecek |
branches: 1.28.4; fix the DIAGNOSTIC function pmap_tlb_asid_count() to not expect that TLBINFO_ASID_INUSE_P() returns just 0 or 1; the underlying __BITMAP_ISSET() actually returns the matching bit nowadays, which caused miscounting
fixes PR kern/53054 by Sevan Janiyan
|
| 1.27 |
25-Feb-2018 |
jdolecek |
adjust KASSERT() triggered in PR port-cobalt/53054 to provide more info
|
| 1.26 |
21-Feb-2018 |
jdolecek |
KERNEL_PID is > 0 on powerpc/ibm4xx, need to mask all bits <0, KERNEL_PID> to avoid triggering KASSERT() checking allocated asid is bigger than KERNEL_PID; adjust also TLBINFO_ASID_INITIAL_FREE() accordingly
discussed with Nick
|
| 1.25 |
19-Feb-2018 |
jdolecek |
convert to use actual __BITMAP_*() macros from <sys/bitops.h>, and make it possible to override the ASID bitmap length; default to 256 ASIDs as before
XXX NFCI; compile tested only on evbpcc and evbmips, unfortunately didn't find any combination of port using the MI pmap_tlb.c and working in QEMU
|
| 1.24 |
19-Feb-2018 |
jdolecek |
a bit of DRY - add macro for initial free ASID count
|
| 1.23 |
19-Feb-2018 |
jdolecek |
make it possible to not use the icache evcnts
|
|
Revision tags: tls-maxphys-base-20171202
|
| 1.22 |
28-Oct-2017 |
pgoyette |
branches: 1.22.2; Update the kernhist(9) kernel history code to address issues identified in PR kern/52639, as well as some general cleaning-up...
(As proposed on tech-kern@ with additional changes and enhancements.)
Details of changes:
* All history arguments are now stored as uintmax_t values[1], both in the kernel and in the structures used for exporting the history data to userland via sysctl(9). This avoids problems on some architectures where passing a 64-bit (or larger) value to printf(3) can cause it to process the value as multiple arguments. (This can be particularly problematic when printf()'s format string is not a literal, since in that case the compiler cannot know how large each argument should be.)
* Update the data structures used for exporting kernel history data to include a version number as well as the length of history arguments.
* All [2] existing users of kernhist(9) have had their format strings updated. Each format specifier now includes an explicit length modifier 'j' to refer to numeric values of the size of uintmax_t.
* All [2] existing users of kernhist(9) have had their format strings updated to replace uses of "%p" with "%#jx", and the pointer arguments are now cast to (uintptr_t) before being subsequently cast to (uintmax_t). This is needed to avoid compiler warnings about casting "pointer to integer of a different size."
* All [2] existing users of kernhist(9) have had instances of "%s" or "%c" format strings replaced with numeric formats; several instances of mis-match between format string and argument list have been fixed.
* vmstat(1) has been modified to handle the new size of arguments in the history data as exported by sysctl(9).
* vmstat(1) now provides a warning message if the history requested with the -u option does not exist (previously, this condition was silently ignored, with only a single blank line being printed).
* vmstat(1) now checks the version and argument length included in the data exported via sysctl(9) and exits if they do not match the values with which vmstat was built.
* The kernhist(9) man-page has been updated to note the additional requirements imposed on the format strings, along with several other minor changes and enhancements.
[1] It would have been possible to use an explicit length (for example, uint64_t) for the history arguments. But that would require another "rototill" of all the users in the future when we add support for an architecture that supports a larger size. Also, the printf(3) format specifiers for explicitly-sized values, such as "%"PRIu64, are much more verbose (and less aesthetically appealing, IMHO) than simply using "%ju".
[2] I've tried very hard to find "all [the] existing users of kernhist(9)" but it is possible that I've missed some of them. I would be glad to update any stragglers that anyone identifies.
|
|
Revision tags: nick-nhusb-base-20170825 perseant-stdc-iso10646-base netbsd-8-base
|
| 1.21 |
26-May-2017 |
skrll |
branches: 1.21.2; Remove incorrect __diagused
|
| 1.20 |
26-May-2017 |
skrll |
Use the define name PMAP_HWPAGEWALKER and not PMAP_TLB_HWPAGEWALKER
|
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104
|
| 1.19 |
09-Oct-2016 |
christos |
PR/51540: Henning Petersen: replace , with ;
|
|
Revision tags: nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726
|
| 1.18 |
23-Jul-2016 |
matt |
Lock the tlbinfo if it wasn't when doing a pmap_tlb_pai_check
|
|
Revision tags: pgoyette-localcount-base
|
| 1.17 |
14-Jul-2016 |
skrll |
branches: 1.17.2; Use KERNEL_PID instead of 0
|
| 1.16 |
14-Jul-2016 |
skrll |
Fix some comments.
|
| 1.15 |
14-Jul-2016 |
skrll |
Trailing whitespace
|
| 1.14 |
12-Jul-2016 |
skrll |
Fix typo for build check
|
| 1.13 |
11-Jul-2016 |
matt |
Changes so that MIPS can use the common pmap. Change/augment the virtual cache alias callbacks.
|
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921
|
| 1.12 |
11-Jun-2015 |
matt |
Don't call kcpuset_intersecting_p and then kcpuset_ffs_intersecting since that the last will tell use what we need to know.
|
|
Revision tags: nick-nhusb-base-20150606
|
| 1.11 |
18-Apr-2015 |
joerg |
pmap_tlb_intersecting_active_p is not used in some combinations of platform options as seen by recent ARM changes.
|
|
Revision tags: nick-nhusb-base-20150406 nick-nhusb-base
|
| 1.10 |
29-Oct-2014 |
skrll |
branches: 1.10.2; s/0/KERNEL_PID/ for correctness
|
| 1.9 |
18-Oct-2014 |
skrll |
Minor comment update.
|
|
Revision tags: netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.8 |
03-Apr-2014 |
matt |
branches: 1.8.4; Change cpu_tlb_info definition based on PMAP_TLB_MAX instead of MULTIPROCESSOR
|
| 1.7 |
03-Apr-2014 |
matt |
Compare ASIDs, not pmaps.
|
| 1.6 |
03-Apr-2014 |
matt |
Make this compile on booke again.
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.5 |
30-Mar-2014 |
matt |
Allow this to handle H/W tlbs. Some ARM allow for a cheap way to flush all entries using an ASID from the TLB. Add support for taking advantage of it. Most ARMs don't have an easy way to find out what's in the TLB so make record_asids can just say all ASIDs are in use. Fix some off by 1 errors.
|
| 1.4 |
18-Mar-2014 |
riastradh |
Merge riastradh-drm2 to HEAD.
|
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1
|
| 1.3 |
17-Jul-2013 |
matt |
Make this kcpuset_t instead of the private __cpuset_t Add improvements for single TLB implementation (PPC, ARM).
|
|
Revision tags: riastradh-drm2-base
|
| 1.2 |
02-Jul-2013 |
matt |
branches: 1.2.2; Split tlb related stuff into pmap_tlb.h so that can be used for ASID mgmt for non-soft TLB pmaps.
|
|
Revision tags: agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.1 |
03-Oct-2012 |
christos |
branches: 1.1.2; 1.1.4; move from common/pmap/tlb -> uvm/pmap
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base perseant-exfatfs-base-20240630 perseant-exfatfs-base thorpej-ifq-base thorpej-altq-separation-base
|
| 1.17 |
06-Oct-2023 |
skrll |
Support CPUs that might not have ASIDs in the common pmap.
|
|
Revision tags: netbsd-10-1-RELEASE netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 netbsd-10-0-RC1 netbsd-10-base
|
| 1.16 |
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.
|
|
Revision tags: bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.15 |
19-Aug-2020 |
skrll |
KNF. Add some whitespace to the TLBINV_MAP macro and tlb_invalidate_op enum.
|
| 1.14 |
01-Aug-2020 |
skrll |
Provide a TLBINFO_OWNED
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base
|
| 1.13 |
19-Feb-2018 |
jdolecek |
convert to use actual __BITMAP_*() macros from <sys/bitops.h>, and make it possible to override the ASID bitmap length; default to 256 ASIDs as before
XXX NFCI; compile tested only on evbpcc and evbmips, unfortunately didn't find any combination of port using the MI pmap_tlb.c and working in QEMU
|
| 1.12 |
19-Feb-2018 |
jdolecek |
make it possible to not use the icache evcnts
|
|
Revision tags: tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.11 |
24-Jun-2017 |
skrll |
Multiple inclusion protection define consistency
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base
|
| 1.10 |
26-May-2017 |
skrll |
Whitespace
|
|
Revision tags: prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.9 |
11-Jul-2016 |
matt |
Changes so that MIPS can use the common pmap. Change/augment the virtual cache alias callbacks.
|
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 nick-nhusb-base-20150921 nick-nhusb-base-20150606 nick-nhusb-base-20150406
|
| 1.8 |
02-Apr-2015 |
matt |
include <sys/evcnt.h>
|
| 1.7 |
05-Jan-2015 |
nonaka |
Use PMAP_TLB_MAX instead of MAXCPUS.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base tls-maxphys-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base rmind-smpnet-base rmind-smpnet-nbase
|
| 1.6 |
03-Apr-2014 |
matt |
branches: 1.6.4; 1.6.8; 1.6.10; Change cpu_tlb_info definition based on PMAP_TLB_MAX instead of MULTIPROCESSOR
|
|
Revision tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
|
| 1.5 |
30-Mar-2014 |
matt |
Allow this to handle H/W tlbs. Some ARM allow for a cheap way to flush all entries using an ASID from the TLB. Add support for taking advantage of it. Most ARMs don't have an easy way to find out what's in the TLB so make record_asids can just say all ASIDs are in use. Fix some off by 1 errors.
|
| 1.4 |
18-Mar-2014 |
riastradh |
Merge riastradh-drm2 to HEAD.
|
|
Revision tags: riastradh-drm2-base3 riastradh-drm2-base2 riastradh-drm2-base1
|
| 1.3 |
22-Jul-2013 |
matt |
branches: 1.3.2; If not MULTIPROCESSOR, just make cpu_tlb_info(ci) return &pmap_tlb0_info
|
| 1.2 |
17-Jul-2013 |
matt |
Make this kcpuset_t instead of the private __cpuset_t Add improvements for single TLB implementation (PPC, ARM).
|
|
Revision tags: riastradh-drm2-base
|
| 1.1 |
02-Jul-2013 |
matt |
branches: 1.1.2; Split tlb related stuff into pmap_tlb.h so that can be used for ASID mgmt for non-soft TLB pmaps.
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base
|
| 1.5 |
02-Oct-2021 |
skrll |
Pass the pmap in tlb_set_asid for the benefit of aarch64.
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 netbsd-9-2-RELEASE cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base netbsd-9-1-RELEASE bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 netbsd-9-0-RELEASE netbsd-9-0-RC2 ad-namecache-base2 ad-namecache-base1 ad-namecache-base netbsd-9-0-RC1 phil-wifi-20191119 netbsd-9-base phil-wifi-20190609 isaki-audio2-base pgoyette-compat-merge-20190127 pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422 pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.4 |
24-Jun-2017 |
skrll |
branches: 1.4.4; Multiple inclusion protection define consistency
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.3 |
11-Jul-2016 |
matt |
Changes so that MIPS can use the common pmap. Change/augment the virtual cache alias callbacks.
|
|
Revision tags: nick-nhusb-base-20160907 nick-nhusb-base-20160529 nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226
|
| 1.2 |
21-Sep-2015 |
matt |
Update multiple inclusion macro
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base netbsd-7-0-1-RELEASE netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 tls-maxphys-base yamt-pagecache-base6
|
| 1.1 |
03-Oct-2012 |
christos |
branches: 1.1.2; 1.1.16; move from common/pmap/tlb -> uvm/pmap
|
|
Revision tags: perseant-exfatfs-base-20250801 netbsd-11-base netbsd-10-1-RELEASE perseant-exfatfs-base-20240630 perseant-exfatfs-base netbsd-10-0-RELEASE netbsd-10-0-RC6 netbsd-10-0-RC5 netbsd-10-0-RC4 netbsd-10-0-RC3 netbsd-10-0-RC2 thorpej-ifq-base thorpej-altq-separation-base netbsd-10-0-RC1 netbsd-10-base bouyer-sunxi-drm-base thorpej-i2c-spi-conf2-base thorpej-futex2-base thorpej-cfargs2-base cjep_sun2x-base1 cjep_sun2x-base cjep_staticlib_x-base1 cjep_staticlib_x-base thorpej-i2c-spi-conf-base thorpej-cfargs-base thorpej-futex-base
|
| 1.17 |
20-Dec-2020 |
skrll |
Support __HAVE_PMAP_PV_TRACK in sys/uvm/pmap based pmaps (aka common pmap)
|
|
Revision tags: bouyer-xenpvh-base2 phil-wifi-20200421 bouyer-xenpvh-base1 phil-wifi-20200411 bouyer-xenpvh-base is-mlppp-base phil-wifi-20200406 ad-namecache-base3 ad-namecache-base2 ad-namecache-base1 ad-namecache-base
|
| 1.16 |
30-Dec-2019 |
ad |
branches: 1.16.8; pg->phys_addr -> VM_PAGE_TO_PHYS().
|
|
Revision tags: phil-wifi-20191119
|
| 1.15 |
20-Oct-2019 |
skrll |
Define and use VM_PAGEMD_PVLIST_EMPTY_P
|
| 1.14 |
20-Oct-2019 |
skrll |
Whitespace
|
| 1.13 |
20-Oct-2019 |
skrll |
Re-order _P() macros to match bit definitions. NFCI
|
|
Revision tags: netbsd-9-4-RELEASE netbsd-9-3-RELEASE netbsd-9-2-RELEASE netbsd-9-1-RELEASE netbsd-9-0-RELEASE netbsd-9-0-RC2 netbsd-9-0-RC1 netbsd-9-base
|
| 1.12 |
12-Jul-2019 |
skrll |
Provide and use PV_ISKENTER_P. NFCI.
|
| 1.11 |
19-Jun-2019 |
christos |
use __nothing
|
| 1.10 |
19-Jun-2019 |
skrll |
Once more short line to unwrap
|
| 1.9 |
19-Jun-2019 |
skrll |
Unwrap short lines. NFCI.
|
|
Revision tags: phil-wifi-20190609 isaki-audio2-base pgoyette-compat-20190127 pgoyette-compat-20190118 pgoyette-compat-1226 pgoyette-compat-1126 pgoyette-compat-1020 pgoyette-compat-0930 pgoyette-compat-0906 pgoyette-compat-0728 phil-wifi-base pgoyette-compat-0625 pgoyette-compat-0521 pgoyette-compat-0502 pgoyette-compat-0422
|
| 1.8 |
19-Apr-2018 |
christos |
branches: 1.8.2; s/static inline/static __inline/g for consistency.
|
|
Revision tags: pgoyette-compat-0415 pgoyette-compat-0407 pgoyette-compat-0330 pgoyette-compat-0322 pgoyette-compat-0315 pgoyette-compat-base tls-maxphys-base-20171202 nick-nhusb-base-20170825 perseant-stdc-iso10646-base
|
| 1.7 |
24-Jun-2017 |
skrll |
branches: 1.7.4; 1.7.6; Use __BIT(0) for PV_KENTER. NFC.
|
| 1.6 |
24-Jun-2017 |
skrll |
Whitespace - comment alignment.
|
| 1.5 |
24-Jun-2017 |
skrll |
Multiple inclusion protection define consistency
|
| 1.4 |
07-Jun-2017 |
skrll |
Use __BIT(). No functional change.
|
|
Revision tags: netbsd-8-3-RELEASE netbsd-8-2-RELEASE netbsd-8-1-RELEASE netbsd-8-1-RC1 netbsd-8-0-RELEASE netbsd-8-0-RC2 netbsd-8-0-RC1 matt-nb8-mediatek-base netbsd-8-base prg-localcount2-base3 prg-localcount2-base2 prg-localcount2-base1 prg-localcount2-base pgoyette-localcount-20170426 bouyer-socketcan-base1 jdolecek-ncq-base pgoyette-localcount-20170320 nick-nhusb-base-20170204 bouyer-socketcan-base pgoyette-localcount-20170107 nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-base
|
| 1.3 |
11-Jul-2016 |
matt |
Changes so that MIPS can use the common pmap. Change/augment the virtual cache alias callbacks.
|
|
Revision tags: netbsd-7-2-RELEASE netbsd-7-1-2-RELEASE netbsd-7-1-1-RELEASE netbsd-7-1-RELEASE netbsd-7-1-RC2 netbsd-7-nhusb-base-20170116 netbsd-7-1-RC1 netbsd-7-0-2-RELEASE netbsd-7-nhusb-base nick-nhusb-base-20160907 nick-nhusb-base-20160529 netbsd-7-0-1-RELEASE nick-nhusb-base-20160422 nick-nhusb-base-20160319 nick-nhusb-base-20151226 netbsd-7-0-RELEASE nick-nhusb-base-20150921 netbsd-7-0-RC3 netbsd-7-0-RC2 netbsd-7-0-RC1 nick-nhusb-base-20150606 nick-nhusb-base-20150406 nick-nhusb-base netbsd-7-base yamt-pagecache-base9 tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 rmind-smpnet-nbase rmind-smpnet-base tls-maxphys-base
|
| 1.2 |
04-Mar-2014 |
matt |
branches: 1.2.6; use _KERNEL_OPT around #include
|
|
Revision tags: riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base agc-symver-base yamt-pagecache-base8 yamt-pagecache-base7 yamt-pagecache-base6
|
| 1.1 |
03-Oct-2012 |
christos |
branches: 1.1.2; 1.1.4; move from common/pmap/tlb -> uvm/pmap
|