The NetBSD Project

CVS log for src/sys/uvm/pmap/pmap.c

[BACK] Up to [cvs.NetBSD.org] / src / sys / uvm / pmap

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.74 / (download) - annotate - [select for diffs], Thu Nov 3 09:04:57 2022 UTC (3 months ago) by skrll
Branch: MAIN
CVS Tags: netbsd-10-base, netbsd-10, HEAD
Changes since 1.73: +29 -7 lines
Diff to previous 1.73 (colored)

Provide MI PMAP support on AARCH64

Revision 1.73 / (download) - annotate - [select for diffs], Wed Nov 2 08:05:17 2022 UTC (3 months ago) by skrll
Branch: MAIN
Changes since 1.72: +7 -7 lines
Diff to previous 1.72 (colored)

KNF

Revision 1.72 / (download) - annotate - [select for diffs], Fri Oct 28 07:16:34 2022 UTC (3 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.71: +33 -5 lines
Diff to previous 1.71 (colored)

MI PMAP EFI_RUNTIME support

Revision 1.71 / (download) - annotate - [select for diffs], Thu Oct 27 06:20:41 2022 UTC (3 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.70: +3 -3 lines
Diff to previous 1.70 (colored)

No need to hold the pmap_tlb_miss_lock when calling pmap_segtab_destroy

Revision 1.70 / (download) - annotate - [select for diffs], Thu Oct 27 06:19:56 2022 UTC (3 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.69: +7 -7 lines
Diff to previous 1.69 (colored)

Rename pm_count to pm_refcnt

Revision 1.69 / (download) - annotate - [select for diffs], Wed Oct 26 07:35:20 2022 UTC (3 months, 1 week ago) by skrll
Branch: MAIN
Changes since 1.68: +161 -13 lines
Diff to previous 1.68 (colored)

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 1.68 / (download) - annotate - [select for diffs], Sun Oct 23 06:37:15 2022 UTC (3 months, 2 weeks ago) by skrll
Branch: MAIN
Changes since 1.67: +3 -3 lines
Diff to previous 1.67 (colored)

Correct the pmap_kstart_segtab entry in pmap_kern_segtab

Revision 1.67 / (download) - annotate - [select for diffs], Thu Sep 15 06:44:18 2022 UTC (4 months, 3 weeks ago) by skrll
Branch: MAIN
CVS Tags: bouyer-sunxi-drm-base, bouyer-sunxi-drm
Changes since 1.66: +6 -6 lines
Diff to previous 1.66 (colored)

whitespace - remove spaces before tabs

Revision 1.66 / (download) - annotate - [select for diffs], Mon Sep 12 07:38:32 2022 UTC (4 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.65: +5 -5 lines
Diff to previous 1.65 (colored)

A simplification and some minor whitespace

Revision 1.65 / (download) - annotate - [select for diffs], Sat May 7 06:53:16 2022 UTC (9 months ago) by rin
Branch: MAIN
Changes since 1.64: +6 -2 lines
Diff to previous 1.64 (colored)

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 1.64 / (download) - annotate - [select for diffs], Sat Apr 9 23:38:33 2022 UTC (9 months, 4 weeks ago) by riastradh
Branch: MAIN
Changes since 1.63: +4 -4 lines
Diff to previous 1.63 (colored)

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.

Revision 1.63 / (download) - annotate - [select for diffs], Sat Mar 12 15:32:32 2022 UTC (10 months, 3 weeks ago) by riastradh
Branch: MAIN
Changes since 1.62: +4 -2 lines
Diff to previous 1.62 (colored)

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 1.61.2.1 / (download) - annotate - [select for diffs], Sat Apr 17 17:26:23 2021 UTC (21 months, 3 weeks ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.61: +8 -8 lines
Diff to previous 1.61 (colored) next main 1.62 (colored)

Sync with HEAD.

Revision 1.62 / (download) - annotate - [select for diffs], Sat Apr 17 01:53:58 2021 UTC (21 months, 3 weeks ago) by mrg
Branch: MAIN
CVS Tags: thorpej-i2c-spi-conf2-base, thorpej-i2c-spi-conf2, thorpej-i2c-spi-conf-base, thorpej-i2c-spi-conf, thorpej-futex2-base, thorpej-futex2, thorpej-cfargs2-base, thorpej-cfargs2, thorpej-cfargs-base, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x
Changes since 1.61: +8 -8 lines
Diff to previous 1.61 (colored)

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 1.57.2.2 / (download) - annotate - [select for diffs], Sat Apr 3 22:29:03 2021 UTC (22 months ago) by thorpej
Branch: thorpej-futex
Changes since 1.57.2.1: +29 -14 lines
Diff to previous 1.57.2.1 (colored) next main 1.58 (colored)

Sync with HEAD.

Revision 1.61 / (download) - annotate - [select for diffs], Fri Mar 19 07:51:33 2021 UTC (22 months, 2 weeks ago) by skrll
Branch: MAIN
CVS Tags: thorpej-futex-base
Branch point for: thorpej-cfargs
Changes since 1.60: +24 -9 lines
Diff to previous 1.60 (colored)

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.

Revision 1.60 / (download) - annotate - [select for diffs], Sat Mar 13 17:14:11 2021 UTC (22 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.59: +4 -4 lines
Diff to previous 1.59 (colored)

s/pfi_faultpte/&p/ for consistency with arm / other uses of ptep

Revision 1.59 / (download) - annotate - [select for diffs], Sat Mar 13 15:29:13 2021 UTC (22 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.58: +5 -5 lines
Diff to previous 1.58 (colored)

Don't use %jx for 0 or 1 - just use %jd in UVMHIST_LOG format.

Revision 1.57.2.1 / (download) - annotate - [select for diffs], Sun Jan 3 16:35:05 2021 UTC (2 years, 1 month ago) by thorpej
Branch: thorpej-futex
Changes since 1.57: +77 -29 lines
Diff to previous 1.57 (colored)

Sync w/ HEAD.

Revision 1.58 / (download) - annotate - [select for diffs], Sun Dec 20 16:38:26 2020 UTC (2 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.57: +77 -29 lines
Diff to previous 1.57 (colored)

Support __HAVE_PMAP_PV_TRACK in sys/uvm/pmap based pmaps (aka common pmap)

Revision 1.57 / (download) - annotate - [select for diffs], Thu Oct 8 14:02:40 2020 UTC (2 years, 3 months ago) by skrll
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.56: +8 -8 lines
Diff to previous 1.56 (colored)

%#jx vs %jx consistency in UVMHIST_LOG

Revision 1.56 / (download) - annotate - [select for diffs], Thu Sep 24 06:45:58 2020 UTC (2 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored)

Whitespace

Revision 1.55 / (download) - annotate - [select for diffs], Thu Aug 20 05:54:32 2020 UTC (2 years, 5 months ago) by mrg
Branch: MAIN
Changes since 1.54: +5 -2 lines
Diff to previous 1.54 (colored)

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.

Revision 1.54 / (download) - annotate - [select for diffs], Wed Aug 19 07:29:01 2020 UTC (2 years, 5 months ago) by simonb
Branch: MAIN
Changes since 1.53: +4 -4 lines
Diff to previous 1.53 (colored)

Remove trailing \n from UVMHIST_LOG() format strings.

Revision 1.53 / (download) - annotate - [select for diffs], Tue Aug 11 06:09:44 2020 UTC (2 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.52: +9 -2 lines
Diff to previous 1.52 (colored)

More UVMHIST_LOG.  Remove some commented output printfs.

Revision 1.52 / (download) - annotate - [select for diffs], Tue Aug 11 05:43:45 2020 UTC (2 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.51: +2 -4 lines
Diff to previous 1.51 (colored)

Fix a comment

Revision 1.51 / (download) - annotate - [select for diffs], Fri Aug 7 07:19:45 2020 UTC (2 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.50: +3 -6 lines
Diff to previous 1.50 (colored)

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 1.50 / (download) - annotate - [select for diffs], Sat Jul 18 16:12:09 2020 UTC (2 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.49: +3 -5 lines
Diff to previous 1.49 (colored)

Always call pmap_segtab_activate in pmap_activate.  pmap_segtab_activate
does the right thing if called with non-curlwp.

Revision 1.40.6.3 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:46 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.40.6.2: +52 -53 lines
Diff to previous 1.40.6.2 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)

Sync with HEAD

Revision 1.48.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:29:14 2020 UTC (2 years, 9 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.48: +54 -55 lines
Diff to previous 1.48 (colored) next main 1.49 (colored)

Sync with HEAD

Revision 1.40.6.2 / (download) - annotate - [select for diffs], Mon Apr 13 08:05:22 2020 UTC (2 years, 9 months ago) by martin
Branch: phil-wifi
Changes since 1.40.6.1: +5 -6 lines
Diff to previous 1.40.6.1 (colored) to branchpoint 1.40 (colored)

Mostly merge changes from HEAD upto 20200411

Revision 1.49 / (download) - annotate - [select for diffs], Sun Apr 12 15:36:18 2020 UTC (2 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421, bouyer-xenpvh-base2, bouyer-xenpvh-base1
Changes since 1.48: +54 -55 lines
Diff to previous 1.48 (colored)

Use UVMHIST_CALLARGS

Revision 1.40.6.1 / (download) - annotate - [select for diffs], Wed Apr 8 14:09:05 2020 UTC (2 years, 10 months ago) by martin
Branch: phil-wifi
Changes since 1.40: +86 -38 lines
Diff to previous 1.40 (colored)

Merge changes from current as of 20200406

Revision 1.48 / (download) - annotate - [select for diffs], Sat Mar 14 14:05:44 2020 UTC (2 years, 10 months ago) by ad
Branch: MAIN
CVS Tags: phil-wifi-20200411, phil-wifi-20200406, bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.47: +4 -3 lines
Diff to previous 1.47 (colored)

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.

Revision 1.47 / (download) - annotate - [select for diffs], Thu Mar 12 23:10:27 2020 UTC (2 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.46: +3 -3 lines
Diff to previous 1.46 (colored)

pmap_tlb_miss_lock needs to be globally visible.

Revision 1.46 / (download) - annotate - [select for diffs], Wed Mar 11 13:30:31 2020 UTC (2 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.45: +83 -34 lines
Diff to previous 1.45 (colored)

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 1.45 / (download) - annotate - [select for diffs], Wed Dec 18 10:55:50 2019 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: is-mlppp-base, is-mlppp, ad-namecache-base3, ad-namecache-base2, ad-namecache-base1, ad-namecache-base, ad-namecache
Changes since 1.44: +3 -5 lines
Diff to previous 1.44 (colored)

Remove duplicate #includes

Revision 1.44 / (download) - annotate - [select for diffs], Sun Oct 20 08:29:38 2019 UTC (3 years, 3 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.43: +3 -3 lines
Diff to previous 1.43 (colored)

Define and use VM_PAGEMD_PVLIST_EMPTY_P

Revision 1.43 / (download) - annotate - [select for diffs], Sun Oct 20 07:18:22 2019 UTC (3 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.42: +2 -3 lines
Diff to previous 1.42 (colored)

Remove KASSERT(!VM_PAGEMD_PVLIST_LOCKED_P(mdpg)) - can only assert that it
is owned

Revision 1.42 / (download) - annotate - [select for diffs], Fri Jul 12 10:39:12 2019 UTC (3 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: netbsd-9-base, 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
Changes since 1.41: +5 -5 lines
Diff to previous 1.41 (colored)

Provide and use PV_ISKENTER_P.  NFCI.

Revision 1.41 / (download) - annotate - [select for diffs], Wed Jun 19 09:56:17 2019 UTC (3 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.40: +3 -3 lines
Diff to previous 1.40 (colored)

Make a comment generic and not MIPS specific

Revision 1.40.2.2 / (download) - annotate - [select for diffs], Sun Dec 3 11:39:23 2017 UTC (5 years, 2 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.40.2.1: +2180 -0 lines
Diff to previous 1.40.2.1 (colored) to branchpoint 1.40 (colored) next main 1.41 (colored)

update from HEAD

Revision 1.34.2.1 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:53 2017 UTC (5 years, 3 months ago) by snj
Branch: netbsd-8
CVS Tags: 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, matt-nb8-mediatek
Changes since 1.34: +93 -86 lines
Diff to previous 1.34 (colored) next main 1.35 (colored)

Pull up following revision(s) (requested by pgoyette in ticket #335):
	share/man/man9/kernhist.9: 1.5-1.8
	sys/arch/acorn26/acorn26/pmap.c: 1.39
	sys/arch/arm/arm32/fault.c: 1.105 via patch
	sys/arch/arm/arm32/pmap.c: 1.350, 1.359
	sys/arch/arm/broadcom/bcm2835_bsc.c: 1.7
	sys/arch/arm/omap/if_cpsw.c: 1.20
	sys/arch/arm/omap/tiotg.c: 1.7
	sys/arch/evbarm/conf/RPI2_INSTALL: 1.3
	sys/dev/ic/sl811hs.c: 1.98
	sys/dev/usb/ehci.c: 1.256
	sys/dev/usb/if_axe.c: 1.83
	sys/dev/usb/motg.c: 1.18
	sys/dev/usb/ohci.c: 1.274
	sys/dev/usb/ucom.c: 1.119
	sys/dev/usb/uhci.c: 1.277
	sys/dev/usb/uhub.c: 1.137
	sys/dev/usb/umass.c: 1.160-1.162
	sys/dev/usb/umass_quirks.c: 1.100
	sys/dev/usb/umass_scsipi.c: 1.55
	sys/dev/usb/usb.c: 1.168
	sys/dev/usb/usb_mem.c: 1.70
	sys/dev/usb/usb_subr.c: 1.221
	sys/dev/usb/usbdi.c: 1.175
	sys/dev/usb/usbdi_util.c: 1.67-1.70
	sys/dev/usb/usbroothub.c: 1.3
	sys/dev/usb/xhci.c: 1.75
	sys/external/bsd/drm2/dist/drm/i915/i915_gem.c: 1.34
	sys/kern/kern_history.c: 1.15
	sys/kern/kern_xxx.c: 1.74
	sys/kern/vfs_bio.c: 1.275-1.276
	sys/miscfs/genfs/genfs_io.c: 1.71
	sys/sys/kernhist.h: 1.21
	sys/ufs/ffs/ffs_balloc.c: 1.63
	sys/ufs/lfs/lfs_vfsops.c: 1.361
	sys/ufs/lfs/ulfs_inode.c: 1.21
	sys/ufs/lfs/ulfs_vnops.c: 1.52
	sys/ufs/ufs/ufs_inode.c: 1.102
	sys/ufs/ufs/ufs_vnops.c: 1.239
	sys/uvm/pmap/pmap.c: 1.37-1.39
	sys/uvm/pmap/pmap_tlb.c: 1.22
	sys/uvm/uvm_amap.c: 1.108
	sys/uvm/uvm_anon.c: 1.64
	sys/uvm/uvm_aobj.c: 1.126
	sys/uvm/uvm_bio.c: 1.91
	sys/uvm/uvm_device.c: 1.66
	sys/uvm/uvm_fault.c: 1.201
	sys/uvm/uvm_km.c: 1.144
	sys/uvm/uvm_loan.c: 1.85
	sys/uvm/uvm_map.c: 1.353
	sys/uvm/uvm_page.c: 1.194
	sys/uvm/uvm_pager.c: 1.111
	sys/uvm/uvm_pdaemon.c: 1.109
	sys/uvm/uvm_swap.c: 1.175
	sys/uvm/uvm_vnode.c: 1.103
	usr.bin/vmstat/vmstat.c: 1.219
Reorder to test for null before null deref in debug code
--
Reorder to test for null before null deref in debug code
--
KNF
--
No need for '\n' in UVMHIST_LOG
--
normalise a BIOHIST log message
--
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.
--
For some reason this single kernel seems to have outgrown its declared
size as a result of the kernhist(9) changes.  Bump the size.
XXX The amount of increase may be excessive - anyone with more detailed
XXX knowledge please feel free to further adjust the value
appropriately.
--
Misssed one cast of pointer --> uintptr_t in previous kernhist(9) commit
--
And yet another one.  :(
--
Use correct mark-up for NetBSD version.
--
More improvements in grammar and readability.
--
Remove a stray '"' (obvious typo) and add a couple of casts that are
probably needed.
--
And replace an instance of "%p" conversion with "%#jx"
--
Whitespace fix. Give Bl tag table a width. Fix Xr.

Revision 1.40.2.1, Mon Oct 30 03:25:14 2017 UTC (5 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.40: +0 -2180 lines
FILE REMOVED

file pmap.c was added on branch tls-maxphys on 2017-12-03 11:39:23 +0000

Revision 1.40 / (download) - annotate - [select for diffs], Mon Oct 30 03:25:14 2017 UTC (5 years, 3 months ago) by pgoyette
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202, phil-wifi-base, phil-wifi-20190609, pgoyette-compat-merge-20190127, pgoyette-compat-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, 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, isaki-audio2-base, isaki-audio2
Branch point for: tls-maxphys, phil-wifi
Changes since 1.39: +4 -5 lines
Diff to previous 1.39 (colored)

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.

Revision 1.39 / (download) - annotate - [select for diffs], Mon Oct 30 01:19:46 2017 UTC (5 years, 3 months ago) by pgoyette
Branch: MAIN
Changes since 1.38: +3 -3 lines
Diff to previous 1.38 (colored)

And replace an instance of "%p" conversion with "%#jx"

Revision 1.38 / (download) - annotate - [select for diffs], Mon Oct 30 00:55:42 2017 UTC (5 years, 3 months ago) by kre
Branch: MAIN
Changes since 1.37: +6 -5 lines
Diff to previous 1.37 (colored)


Remove a stray '"' (obvious typo) and add a couple of casts that are
probably needed.

Revision 1.37 / (download) - annotate - [select for diffs], Sat Oct 28 00:37:13 2017 UTC (5 years, 3 months ago) by pgoyette
Branch: MAIN
Changes since 1.36: +92 -86 lines
Diff to previous 1.36 (colored)

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 1.36 / (download) - annotate - [select for diffs], Thu Sep 7 06:29:47 2017 UTC (5 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.35: +15 -10 lines
Diff to previous 1.35 (colored)

There's no need to call pmap_tlb_invalidate_addr if pmap_remove_all was
called and PMAP_DEFERRED_ACTIVATE is set.

Revision 1.4.6.7 / (download) - annotate - [select for diffs], Mon Aug 28 17:53:18 2017 UTC (5 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4.6.6: +67 -75 lines
Diff to previous 1.4.6.6 (colored) to branchpoint 1.4 (colored) next main 1.5 (colored)

Sync with HEAD

Revision 1.35 / (download) - annotate - [select for diffs], Sat Jun 24 07:30:17 2017 UTC (5 years, 7 months ago) by skrll
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base, perseant-stdc-iso10646, nick-nhusb-base-20170825
Changes since 1.34: +11 -11 lines
Diff to previous 1.34 (colored)

Use pte_set

Revision 1.30.2.3 / (download) - annotate - [select for diffs], Fri May 19 00:22:58 2017 UTC (5 years, 8 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.30.2.2: +10 -2 lines
Diff to previous 1.30.2.2 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored)

Resolve conflicts from previous merge (all resulting from $NetBSD
keywork expansion)

Revision 1.34 / (download) - annotate - [select for diffs], Fri May 12 05:45:58 2017 UTC (5 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base3, netbsd-8-base
Branch point for: netbsd-8
Changes since 1.33: +10 -2 lines
Diff to previous 1.33 (colored)

Sprinkle some KASSERTs

Revision 1.30.2.2 / (download) - annotate - [select for diffs], Thu May 11 02:58:42 2017 UTC (5 years, 8 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.30.2.1: +4 -3 lines
Diff to previous 1.30.2.1 (colored) to branchpoint 1.30 (colored)

Sync with HEAD

Revision 1.33 / (download) - annotate - [select for diffs], Sun May 7 04:15:50 2017 UTC (5 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base2
Changes since 1.32: +4 -3 lines
Diff to previous 1.32 (colored)

Fix a comment

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Tue May 2 03:19:22 2017 UTC (5 years, 9 months ago) by pgoyette
Branch: prg-localcount2
Changes since 1.30: +3 -5 lines
Diff to previous 1.30 (colored)

Sync with HEAD - tag prg-localcount2-base1

Revision 1.32 / (download) - annotate - [select for diffs], Fri Apr 28 17:04:33 2017 UTC (5 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base1
Changes since 1.31: +2 -4 lines
Diff to previous 1.31 (colored)

Remove unused LNAME macro

Revision 1.31 / (download) - annotate - [select for diffs], Fri Apr 28 10:12:35 2017 UTC (5 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.30: +3 -3 lines
Diff to previous 1.30 (colored)

Fix a UVMHIST_LOG after the "%s" removal

Revision 1.18.2.5 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:32 2017 UTC (5 years, 9 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.18.2.4: +5 -5 lines
Diff to previous 1.18.2.4 (colored) to branchpoint 1.18 (colored) next main 1.19 (colored)

Sync with HEAD

Revision 1.30 / (download) - annotate - [select for diffs], Sat Apr 22 20:20:19 2017 UTC (5 years, 9 months ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base, pgoyette-localcount-20170426
Branch point for: prg-localcount2
Changes since 1.29: +4 -4 lines
Diff to previous 1.29 (colored)

Improve a comment

Revision 1.29 / (download) - annotate - [select for diffs], Sat Apr 22 20:19:53 2017 UTC (5 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.28: +3 -3 lines
Diff to previous 1.28 (colored)

Trailing whitespace

Revision 1.27.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:54:09 2017 UTC (5 years, 9 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.27: +45 -60 lines
Diff to previous 1.27 (colored) next main 1.28 (colored)

Sync with HEAD

Revision 1.18.2.4 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:54 2017 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.18.2.3: +45 -60 lines
Diff to previous 1.18.2.3 (colored) to branchpoint 1.18 (colored)

Sync with HEAD

Revision 1.28 / (download) - annotate - [select for diffs], Thu Mar 2 20:11:19 2017 UTC (5 years, 11 months ago) by mrg
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320, jdolecek-ncq-base, jdolecek-ncq, bouyer-socketcan-base1
Changes since 1.27: +45 -60 lines
Diff to previous 1.27 (colored)

avoid using %s in UVMHIST.

Revision 1.4.6.6 / (download) - annotate - [select for diffs], Sun Feb 5 13:41:01 2017 UTC (6 years ago) by skrll
Branch: nick-nhusb
Changes since 1.4.6.5: +28 -45 lines
Diff to previous 1.4.6.5 (colored) to branchpoint 1.4 (colored)

Sync with HEAD

Revision 1.18.2.3 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:53 2017 UTC (6 years, 1 month ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.18.2.2: +34 -49 lines
Diff to previous 1.18.2.2 (colored) to branchpoint 1.18 (colored)

Sync with HEAD.  (Note that most of these changes are simply $NetBSD$
tag issues.)

Revision 1.27 / (download) - annotate - [select for diffs], Fri Dec 23 09:16:46 2016 UTC (6 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107, nick-nhusb-base-20170204, bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.26: +8 -8 lines
Diff to previous 1.26 (colored)

PHYSMEM -> PHYSSEG to fix build

Revision 1.26 / (download) - annotate - [select for diffs], Fri Dec 23 07:15:28 2016 UTC (6 years, 1 month ago) by cherry
Branch: MAIN
Changes since 1.25: +27 -44 lines
Diff to previous 1.25 (colored)

"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 1.4.6.5 / (download) - annotate - [select for diffs], Mon Dec 5 10:55:30 2016 UTC (6 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4.6.4: +27 -20 lines
Diff to previous 1.4.6.4 (colored) to branchpoint 1.4 (colored)

Sync with HEAD

Revision 1.25 / (download) - annotate - [select for diffs], Thu Dec 1 02:15:08 2016 UTC (6 years, 2 months ago) by mrg
Branch: MAIN
CVS Tags: nick-nhusb-base-20161204
Changes since 1.24: +8 -6 lines
Diff to previous 1.24 (colored)

extend the pmap_activate/pmap_deactivate UVMHIST logs to include the
pid, lid, and either l_name or p_comm.

Revision 1.18.2.2 / (download) - annotate - [select for diffs], Fri Nov 4 14:49:23 2016 UTC (6 years, 3 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.18.2.1: +30 -16 lines
Diff to previous 1.18.2.1 (colored) to branchpoint 1.18 (colored)

Sync with HEAD

Revision 1.4.6.4 / (download) - annotate - [select for diffs], Wed Oct 5 20:56:12 2016 UTC (6 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4.6.3: +637 -371 lines
Diff to previous 1.4.6.3 (colored) to branchpoint 1.4 (colored)

Sync with HEAD

Revision 1.24 / (download) - annotate - [select for diffs], Wed Oct 5 20:50:00 2016 UTC (6 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104
Changes since 1.23: +21 -16 lines
Diff to previous 1.23 (colored)

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 1.23 / (download) - annotate - [select for diffs], Fri Sep 30 12:10:40 2016 UTC (6 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20161004
Changes since 1.22: +11 -8 lines
Diff to previous 1.22 (colored)

Increment resident_count if we're remapping onto new PA as
pmap_remove -> pmap_pte_remote will decrement it

Revision 1.22 / (download) - annotate - [select for diffs], Fri Sep 16 17:27:09 2016 UTC (6 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.21: +11 -5 lines
Diff to previous 1.21 (colored)

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 1.21 / (download) - annotate - [select for diffs], Sat Aug 20 20:09:47 2016 UTC (6 years, 5 months ago) by mrg
Branch: MAIN
CVS Tags: localcount-20160914
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

put a variable under the #ifdef it's only used in.

Revision 1.20 / (download) - annotate - [select for diffs], Thu Aug 18 21:42:27 2016 UTC (6 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.19: +7 -4 lines
Diff to previous 1.19 (colored)

Don't track kenter_pa/kremove PVs unless we are worrying about cache aliasing.

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Sat Aug 6 00:19:11 2016 UTC (6 years, 6 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

Sync with HEAD

Revision 1.19 / (download) - annotate - [select for diffs], Fri Aug 5 20:54:28 2016 UTC (6 years, 6 months ago) by jakllsch
Branch: MAIN
CVS Tags: pgoyette-localcount-20160806
Changes since 1.18: +4 -4 lines
Diff to previous 1.18 (colored)

Only include `static inline pmap_asid_check()` if it might be used.

Should fix HEAD-llvm evbppc autobuild.

Revision 1.18 / (download) - annotate - [select for diffs], Thu Jul 14 05:00:51 2016 UTC (6 years, 6 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-base, pgoyette-localcount-20160726
Branch point for: pgoyette-localcount
Changes since 1.17: +3 -3 lines
Diff to previous 1.17 (colored)

Spell PMAP_TLB_NEED_SHOOTDOWN correctly

Revision 1.17 / (download) - annotate - [select for diffs], Thu Jul 14 04:51:47 2016 UTC (6 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

Trailing whitespace

Revision 1.16 / (download) - annotate - [select for diffs], Mon Jul 11 19:16:03 2016 UTC (6 years, 6 months ago) by maya
Branch: MAIN
Changes since 1.15: +2 -3 lines
Diff to previous 1.15 (colored)

Fix build by removing accidential duplicate line.

Revision 1.15 / (download) - annotate - [select for diffs], Mon Jul 11 16:06:09 2016 UTC (6 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.14: +623 -368 lines
Diff to previous 1.14 (colored)

Changes so that MIPS can use the common pmap.
Change/augment the virtual cache alias callbacks.

Revision 1.14 / (download) - annotate - [select for diffs], Thu Jul 7 06:55:44 2016 UTC (6 years, 7 months ago) by msaitoh
Branch: MAIN
CVS Tags: nick-nhusb-base-20160907
Changes since 1.13: +3 -3 lines
Diff to previous 1.13 (colored)

KNF. Remove extra spaces. No functional change.

Revision 1.4.6.3 / (download) - annotate - [select for diffs], Sun Dec 27 12:10:19 2015 UTC (7 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.4.6.2: +2 -5 lines
Diff to previous 1.4.6.2 (colored) to branchpoint 1.4 (colored)

Sync with HEAD (as of 26th Dec)

Revision 1.13 / (download) - annotate - [select for diffs], Thu Nov 5 00:12:28 2015 UTC (7 years, 3 months ago) by pgoyette
Branch: MAIN
CVS Tags: nick-nhusb-base-20160529, nick-nhusb-base-20160422, nick-nhusb-base-20160319, nick-nhusb-base-20151226
Changes since 1.12: +2 -5 lines
Diff to previous 1.12 (colored)

Remove unnecessary #include for sys/shm.h - there's nothing here that needs
anything from there.

Revision 1.4.6.2 / (download) - annotate - [select for diffs], Tue Sep 22 12:06:18 2015 UTC (7 years, 4 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4.6.1: +10 -8 lines
Diff to previous 1.4.6.1 (colored) to branchpoint 1.4 (colored)

Sync with HEAD

Revision 1.12 / (download) - annotate - [select for diffs], Thu Jun 11 05:27:07 2015 UTC (7 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.11: +7 -5 lines
Diff to previous 1.11 (colored)

Add virtual_start to pmap_limits.  This allows MD to steal address space
before pmap_bootstrap.

Revision 1.4.6.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:18:33 2015 UTC (7 years, 10 months ago) by skrll
Branch: nick-nhusb
Changes since 1.4: +47 -4 lines
Diff to previous 1.4 (colored)

Sync with HEAD

Revision 1.11 / (download) - annotate - [select for diffs], Tue Feb 3 10:25:53 2015 UTC (8 years ago) by nonaka
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606, nick-nhusb-base-20150406
Changes since 1.10: +3 -3 lines
Diff to previous 1.10 (colored)

Disable pmap_md_tlb_check_entry, when MP.

Revision 1.10 / (download) - annotate - [select for diffs], Mon Jan 26 04:47:53 2015 UTC (8 years ago) by nonaka
Branch: MAIN
Changes since 1.9: +33 -2 lines
Diff to previous 1.9 (colored)

Avoid race condition between PTE update and TLB miss walk.

Revision 1.9 / (download) - annotate - [select for diffs], Mon Jan 5 05:35:18 2015 UTC (8 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.8: +3 -3 lines
Diff to previous 1.8 (colored)

Use PMAP_TLB_MAX instead of MAXCPUS.

Revision 1.8 / (download) - annotate - [select for diffs], Thu Dec 25 08:11:09 2014 UTC (8 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.7: +4 -2 lines
Diff to previous 1.7 (colored)

fix build failure when UVMHIST is defined.

Revision 1.7 / (download) - annotate - [select for diffs], Wed Dec 24 04:03:02 2014 UTC (8 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.6: +4 -4 lines
Diff to previous 1.6 (colored)

fix compile failure.

Revision 1.6 / (download) - annotate - [select for diffs], Mon Dec 22 11:11:34 2014 UTC (8 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.5: +7 -2 lines
Diff to previous 1.5 (colored)

pmap->pm_active and pmap->pm_onproc must be destroyed.

Revision 1.5 / (download) - annotate - [select for diffs], Fri Dec 19 04:25:52 2014 UTC (8 years, 1 month ago) by nonaka
Branch: MAIN
Changes since 1.4: +7 -2 lines
Diff to previous 1.4 (colored)

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 1.1.2.3 / (download) - annotate - [select for diffs], Thu May 22 11:41:19 2014 UTC (8 years, 8 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.1.2.2: +16 -11 lines
Diff to previous 1.1.2.2 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head.

for a reference, the tree before this commit was tagged
as yamt-pagecache-tag8.

this commit was splitted into small chunks to avoid
a limitation of cvs.  ("Protocol error: too many arguments")

Revision 1.1.4.2 / (download) - annotate - [select for diffs], Sun May 18 17:46:22 2014 UTC (8 years, 8 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.1.4.1: +3 -3 lines
Diff to previous 1.1.4.1 (colored) to branchpoint 1.1 (colored) next main 1.2 (colored)

sync with head

Revision 1.4 / (download) - annotate - [select for diffs], Tue Feb 25 15:20:29 2014 UTC (8 years, 11 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pagecache-base9, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, rmind-smpnet-nbase, rmind-smpnet-base, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, nick-nhusb-base, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7
Branch point for: nick-nhusb
Changes since 1.3: +3 -3 lines
Diff to previous 1.3 (colored)

Mark a potentially unused variable

Revision 1.1.4.1 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:38 2013 UTC (9 years, 5 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.1: +15 -10 lines
Diff to previous 1.1 (colored)

sync with head

Revision 1.1.10.1 / (download) - annotate - [select for diffs], Tue Jul 23 21:07:38 2013 UTC (9 years, 6 months ago) by riastradh
Branch: riastradh-drm2
Changes since 1.1: +15 -10 lines
Diff to previous 1.1 (colored) next main 1.2 (colored)

sync with HEAD

Revision 1.3 / (download) - annotate - [select for diffs], Mon Jul 22 03:40:36 2013 UTC (9 years, 6 months ago) by matt
Branch: MAIN
CVS Tags: riastradh-drm2-base2, riastradh-drm2-base1
Changes since 1.2: +4 -2 lines
Diff to previous 1.2 (colored)

In the non-MP case, just initialize onproc to NULL.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jul 17 23:15:20 2013 UTC (9 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.1: +13 -10 lines
Diff to previous 1.1 (colored)

Make this kcpuset_t instead of the private __cpuset_t
Add improvements for single TLB implementation (PPC, ARM).

Revision 1.1.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:23:03 2012 UTC (10 years, 3 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.1.2.1: +1874 -0 lines
Diff to previous 1.1.2.1 (colored) to branchpoint 1.1 (colored)

sync with head

Revision 1.1.2.1, Wed Oct 3 00:51:45 2012 UTC (10 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.1: +0 -1874 lines
FILE REMOVED

file pmap.c was added on branch yamt-pagecache on 2012-10-30 17:23:03 +0000

Revision 1.1 / (download) - annotate - [select for diffs], Wed Oct 3 00:51:45 2012 UTC (10 years, 4 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base8, yamt-pagecache-base7, yamt-pagecache-base6, riastradh-drm2-base, khorben-n900, agc-symver-base, agc-symver
Branch point for: yamt-pagecache, rmind-smpnet, riastradh-drm2

move from common/pmap/tlb -> uvm/pmap

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>