#
1.37 |
|
14-Mar-2020 |
ad |
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 tags: 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
|
#
1.36 |
|
03-Sep-2016 |
christos |
Fix pmap_prefer for topdown and turn topdown on.
|
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 pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-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-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 rmind-uvmplock-base jym-xensuspend-base
|
#
1.35 |
|
14-Nov-2010 |
uebayasi |
branches: 1.35.18; 1.35.36; Move struct vm_page_md definition from vmparam.h to pmap.h, because it's used only by pmap. vmparam.h has definitions for wider audience.
All GENERIC kernels build tested, except ia64.
powerpc/include/booke/vmparam.h has one too, but it has no pmap.h, so it's left as is.
|
Revision tags: uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211
|
#
1.34 |
|
21-Oct-2009 |
rmind |
branches: 1.34.2; 1.34.4; Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828. - Some simplification in threading and sleepq subsystems. - Eliminates pmap_collect() and, as a side note, allows pmap optimisations. - Eliminates XS_CTL_DATA_ONSTACK in scsipi code. - Avoids few scans on LWP list and thus potentially long holds of proc_lock. - Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k. - Removes __SWAP_BROKEN cases.
Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on acorn26 (thanks to <bjh21>).
Discussed on <tech-kern>, reviewed by <ad>.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.33 |
|
09-Dec-2008 |
pooka |
Make pmap_kernel() a MI macro for struct pmap *kernel_pmap_ptr, which is now the "API" provided by the pmap module. pmap_kernel() remains as the syntactic sugar.
Bonus cosmetics round: move all the pmap_t pointer typedefs into uvm_pmap.h.
Thanks to Greg Oster for providing cpu muscle for doing test builds.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.32 |
|
28-Apr-2008 |
martin |
branches: 1.32.6; 1.32.8; Remove clause 3 and 4 from TNF licenses
|
Revision tags: nick-csl-alignment-base5 yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.31 |
|
21-Mar-2007 |
uwe |
branches: 1.31.34; 1.31.36; 1.31.38; There are only 32 bits in a VA, not 33 - sync comment with this harsh reality.
|
Revision tags: ad-audiomp-base
|
#
1.30 |
|
21-Feb-2007 |
thorpej |
branches: 1.30.4; 1.30.6; 1.30.8; Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 newlock2-base netbsd-4-base
|
#
1.29 |
|
24-Sep-2006 |
tsutsui |
branches: 1.29.4; Allow shared PV mappings in pmap_enter(9) even on SH4 if VAs of shared pages have the same virtual cache indexes (i.e. they won't cause virtual cache aliases). Also prepare PMAP_PREFER(9) for SH4 to avoid some possible virtual cache aliases. More stuff should be added in pmap_enter(9), but at least this changes should fix some existing problems. See discussion on port-sh3 ML for details.
OK'ed by uwe and chs, and closes PR port-sh3/34243.
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.28 |
|
10-Apr-2006 |
uwe |
branches: 1.28.8; 1.28.10; Decorate pmap_remove_all() with /* ARGSUSED */
|
Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.27 |
|
16-Feb-2006 |
perry |
branches: 1.27.2; 1.27.4; 1.27.6; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.26 |
|
24-Dec-2005 |
perry |
branches: 1.26.2; 1.26.4; 1.26.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base ktrace-lwp-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.25 |
|
22-Sep-2002 |
chs |
branches: 1.25.22; it really helps to get the stub right before cutting + pasting it 27 times. alas, I did not. doh.
|
#
1.24 |
|
22-Sep-2002 |
chs |
add pmap_remove_all() hook (empty on most platforms so far).
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base
|
#
1.23 |
|
09-May-2002 |
uch |
branches: 1.23.6; new pmap designed for SH3/SH4.
|
#
1.22 |
|
28-Apr-2002 |
uch |
Use "#define<tab>", white space nits.
|
#
1.21 |
|
04-Apr-2002 |
uch |
remove obsolete functions, decralations and structure.
|
#
1.20 |
|
03-Apr-2002 |
msaitoh |
sync with i386/include/pmap.h rev. 1.45:
make dangerous pmap_copy() and pmap_move() no-op.
|
Revision tags: eeh-devprop-base newlock-base
|
#
1.19 |
|
03-Mar-2002 |
uch |
SR related parts moved to psl.h. cpufunc.h segments.h are removed. kernel mode checking is only SR.MD. no check stack pointer.
|
Revision tags: ifpoll-base
|
#
1.18 |
|
28-Feb-2002 |
uch |
Remove #if 0 #endif
|
#
1.17 |
|
17-Feb-2002 |
uch |
Add new MMU API. for detail, see sh3/mmu.h's comment.
|
#
1.16 |
|
12-Feb-2002 |
uch |
ANSIfy KNF.
|
#
1.15 |
|
11-Feb-2002 |
uch |
clean up redundant PTE PG_* defines. PG_RO -> PG_KR PG_RW -> PG_KW PG_u -> PG_URKR PG_PROT -> PG_UW PG_AVAIL1 -> PG_PVLIST
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf
|
#
1.14 |
|
10-Sep-2001 |
chris |
Update pmap_update to now take the updated pmap as an argument. This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
|
Revision tags: thorpej-devvp-base
|
#
1.13 |
|
26-May-2001 |
chs |
branches: 1.13.2; 1.13.4; replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.12 |
|
22-Apr-2001 |
thorpej |
Undo a misguided previous change to the pmap_update() API.
|
#
1.11 |
|
22-Apr-2001 |
uch |
make this compile again under SH4
|
#
1.10 |
|
22-Apr-2001 |
thorpej |
Give pmap_update() an argument (a pmap_t) so that it knows which pmap it should be updating.
|
#
1.9 |
|
21-Apr-2001 |
thorpej |
pmap_update() should not be equated with "flush entire TLB", it is used to process deferred pmap operations. Since these pmaps don't defer anything, pmap_update() is a noop.
|
#
1.8 |
|
19-Feb-2001 |
msaitoh |
branches: 1.8.2; temporary fix a serious pmap problem with dummy PMAP_{MAP,UNMAP}_POOLPAGE().
To fix correctly, set IOM_RAM_BEGIN with P0 addr instead of P1 addr and fix machdep.c and pmap.c.
|
#
1.7 |
|
02-Feb-2001 |
thorpej |
Rewrite how mod/ref emulation is done. In particular, make modified attribute checking actually work. Previously, a page could be reported as modified even if it wasn't! This is very bad, and e.g. caused the VM system to attempt to "clean" pages of read-only files.
Only lip-services is paid to referenced attribute emulation. This could be improved.
|
#
1.6 |
|
28-Sep-2000 |
is |
We do wired page accounting. Tell UVM about this.
|
Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.5 |
|
25-Apr-2000 |
tsubai |
branches: 1.5.4; Use P1SEG to map pool pages.
|
#
1.4 |
|
24-Feb-2000 |
msaitoh |
SH4!
|
Revision tags: chs-ubc2-newbase
|
#
1.3 |
|
14-Jan-2000 |
msaitoh |
remove SH3_PHYS_TO_P1SEG macro
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.2 |
|
14-Sep-1999 |
tsubai |
branches: 1.2.2; Catch up with -current.
|
#
1.1 |
|
13-Sep-1999 |
itojun |
Merge in NetBSD/sh3 from cvs.kame.net repository.
Tree structure: - sys/arch/sh3: sh3 generic code As commented, in-chip device drivers are put into sys/arch/sh3/dev. - sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW) - sys/arch/mmeye: Brains mmEye, www.brains.co.jp MI source code includes couple of #ifdef for sh3-coff support. (sh3 uses coff or elf)
Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3, to compile the tree (due to last minute tree structure change).
|
Revision tags: nick-nhusb-base-20161204 pgoyette-localcount-20161104 nick-nhusb-base-20161004 localcount-20160914
|
#
1.36 |
|
03-Sep-2016 |
christos |
Fix pmap_prefer for topdown and turn topdown on.
|
Revision tags: netbsd-7-0-2-RELEASE netbsd-7-nhusb-base pgoyette-localcount-20160806 pgoyette-localcount-20160726 pgoyette-localcount-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-6-0-6-RELEASE netbsd-6-1-5-RELEASE netbsd-7-base yamt-pagecache-base9 yamt-pagecache-tag8 netbsd-6-1-4-RELEASE netbsd-6-0-5-RELEASE tls-earlyentropy-base riastradh-xf86-video-intel-2-7-1-pre-2-21-15 riastradh-drm2-base3 netbsd-6-1-3-RELEASE netbsd-6-0-4-RELEASE netbsd-6-1-2-RELEASE netbsd-6-0-3-RELEASE rmind-smpnet-nbase netbsd-6-1-1-RELEASE riastradh-drm2-base2 riastradh-drm2-base1 riastradh-drm2-base rmind-smpnet-base netbsd-6-0-2-RELEASE netbsd-6-1-RELEASE netbsd-6-1-RC4 netbsd-6-1-RC3 agc-symver-base netbsd-6-1-RC2 netbsd-6-1-RC1 yamt-pagecache-base8 netbsd-6-0-1-RELEASE yamt-pagecache-base7 matt-nb6-plus-nbase yamt-pagecache-base6 netbsd-6-0-RELEASE netbsd-6-0-RC2 tls-maxphys-base matt-nb6-plus-base netbsd-6-0-RC1 jmcneill-usbmp-base10 yamt-pagecache-base5 jmcneill-usbmp-base9 yamt-pagecache-base4 jmcneill-usbmp-base8 jmcneill-usbmp-base7 jmcneill-usbmp-base6 jmcneill-usbmp-base5 jmcneill-usbmp-base4 jmcneill-usbmp-base3 jmcneill-usbmp-pre-base2 jmcneill-usbmp-base2 netbsd-6-base jmcneill-usbmp-base jmcneill-audiomp3-base yamt-pagecache-base3 yamt-pagecache-base2 yamt-pagecache-base rmind-uvmplock-nbase cherry-xenmp-base jym-xensuspend-nbase uebayasi-xip-base7 bouyer-quota2-nbase bouyer-quota2-base jruoho-x86intr-base matt-mips64-premerge-20101231 uebayasi-xip-base6 rmind-uvmplock-base jym-xensuspend-base
|
#
1.35 |
|
14-Nov-2010 |
uebayasi |
branches: 1.35.36; Move struct vm_page_md definition from vmparam.h to pmap.h, because it's used only by pmap. vmparam.h has definitions for wider audience.
All GENERIC kernels build tested, except ia64.
powerpc/include/booke/vmparam.h has one too, but it has no pmap.h, so it's left as is.
|
Revision tags: uebayasi-xip-base5 uebayasi-xip-base4 uebayasi-xip-base3 yamt-nfs-mp-base11 uebayasi-xip-base2 yamt-nfs-mp-base10 uebayasi-xip-base1 yamt-nfs-mp-base9 uebayasi-xip-base matt-premerge-20091211
|
#
1.34 |
|
21-Oct-2009 |
rmind |
branches: 1.34.2; 1.34.4; Remove uarea swap-out functionality:
- Addresses the issue described in PR/38828. - Some simplification in threading and sleepq subsystems. - Eliminates pmap_collect() and, as a side note, allows pmap optimisations. - Eliminates XS_CTL_DATA_ONSTACK in scsipi code. - Avoids few scans on LWP list and thus potentially long holds of proc_lock. - Cuts ~1.5k lines of code. Reduces amd64 kernel size by ~4k. - Removes __SWAP_BROKEN cases.
Tested on x86, mips, acorn32 (thanks <mpumford>) and partly tested on acorn26 (thanks to <bjh21>).
Discussed on <tech-kern>, reviewed by <ad>.
|
Revision tags: yamt-nfs-mp-base8 yamt-nfs-mp-base7 jymxensuspend-base yamt-nfs-mp-base6 yamt-nfs-mp-base5 yamt-nfs-mp-base4 yamt-nfs-mp-base3 nick-hppapmap-base4 nick-hppapmap-base3 nick-hppapmap-base2 haad-dm-base2 haad-nbase2 nick-hppapmap-base haad-dm-base mjf-devfs2-base
|
#
1.33 |
|
09-Dec-2008 |
pooka |
Make pmap_kernel() a MI macro for struct pmap *kernel_pmap_ptr, which is now the "API" provided by the pmap module. pmap_kernel() remains as the syntactic sugar.
Bonus cosmetics round: move all the pmap_t pointer typedefs into uvm_pmap.h.
Thanks to Greg Oster for providing cpu muscle for doing test builds.
|
Revision tags: netbsd-5-2-3-RELEASE netbsd-5-1-5-RELEASE netbsd-5-2-2-RELEASE netbsd-5-1-4-RELEASE netbsd-5-2-1-RELEASE netbsd-5-1-3-RELEASE netbsd-5-2-RELEASE netbsd-5-2-RC1 netbsd-5-1-2-RELEASE netbsd-5-1-1-RELEASE matt-nb5-mips64-premerge-20101231 matt-nb5-pq3-base netbsd-5-1-RELEASE netbsd-5-1-RC4 matt-nb5-mips64-k15 netbsd-5-1-RC3 netbsd-5-1-RC2 netbsd-5-1-RC1 netbsd-5-0-2-RELEASE matt-nb5-mips64-premerge-20091211 matt-nb5-mips64-u2-k2-k4-k7-k8-k9 matt-nb4-mips64-k7-u2a-k9b matt-nb5-mips64-u1-k1-k5 netbsd-5-0-1-RELEASE netbsd-5-0-RELEASE netbsd-5-0-RC4 netbsd-5-0-RC3 netbsd-5-0-RC2 netbsd-5-0-RC1 ad-audiomp2-base netbsd-5-base matt-mips64-base2 haad-dm-base1 wrstuden-revivesa-base-4 wrstuden-revivesa-base-3 wrstuden-revivesa-base-2 wrstuden-revivesa-base-1 simonb-wapbl-nbase yamt-pf42-base4 simonb-wapbl-base yamt-pf42-base3 hpcarm-cleanup-nbase yamt-pf42-base2 yamt-nfs-mp-base2 wrstuden-revivesa-base
|
#
1.32 |
|
28-Apr-2008 |
martin |
branches: 1.32.6; 1.32.8; Remove clause 3 and 4 from TNF licenses
|
Revision tags: nick-csl-alignment-base5 yamt-pf42-baseX yamt-nfs-mp-base yamt-pf42-base ad-socklock-base1 yamt-lazymbuf-base15 yamt-lazymbuf-base14 keiichi-mipv6-nbase nick-net80211-sync-base keiichi-mipv6-base bouyer-xeni386-merge1 matt-armv6-prevmlocking vmlocking2-base3 bouyer-xeni386-nbase yamt-kmem-base3 cube-autoconf-base yamt-kmem-base2 bouyer-xeni386-base yamt-kmem-base vmlocking2-base2 reinoud-bufcleanup-nbase vmlocking2-base1 matt-armv6-nbase jmcneill-base mjf-devfs-base bouyer-xenamd64-base2 vmlocking-nbase yamt-x86pmap-base4 bouyer-xenamd64-base yamt-x86pmap-base3 yamt-x86pmap-base2 yamt-x86pmap-base matt-armv6-base jmcneill-pm-base hpcarm-cleanup-base nick-csl-alignment-base matt-mips64-base yamt-idlelwp-base8 ppcoea-renovation-base thorpej-atomic-base reinoud-bufcleanup-base mjf-ufs-trans-base vmlocking-base
|
#
1.31 |
|
21-Mar-2007 |
uwe |
branches: 1.31.34; 1.31.36; 1.31.38; There are only 32 bits in a VA, not 33 - sync comment with this harsh reality.
|
Revision tags: ad-audiomp-base
|
#
1.30 |
|
21-Feb-2007 |
thorpej |
branches: 1.30.4; 1.30.6; 1.30.8; Replace the Mach-derived boolean_t type with the C99 bool type. A future commit will replace use of TRUE and FALSE with true and false.
|
Revision tags: netbsd-4-0-1-RELEASE wrstuden-fixsa-newbase wrstuden-fixsa-base-1 netbsd-4-0-RELEASE netbsd-4-0-RC5 matt-nb4-arm-base netbsd-4-0-RC4 netbsd-4-0-RC3 netbsd-4-0-RC2 netbsd-4-0-RC1 wrstuden-fixsa-base post-newlock2-merge newlock2-nbase yamt-splraiseipl-base5 yamt-splraiseipl-base4 yamt-splraiseipl-base3 yamt-splraiseipl-base2 newlock2-base netbsd-4-base
|
#
1.29 |
|
24-Sep-2006 |
tsutsui |
branches: 1.29.4; Allow shared PV mappings in pmap_enter(9) even on SH4 if VAs of shared pages have the same virtual cache indexes (i.e. they won't cause virtual cache aliases). Also prepare PMAP_PREFER(9) for SH4 to avoid some possible virtual cache aliases. More stuff should be added in pmap_enter(9), but at least this changes should fix some existing problems. See discussion on port-sh3 ML for details.
OK'ed by uwe and chs, and closes PR port-sh3/34243.
|
Revision tags: abandoned-netbsd-4-base yamt-splraiseipl-base yamt-pdpolicy-base9 yamt-pdpolicy-base8 yamt-pdpolicy-base7 yamt-pdpolicy-base6 chap-midi-nbase gdamore-uart-base yamt-pdpolicy-base5 chap-midi-base yamt-pdpolicy-base4 elad-kernelauth-base simonb-timecounters-base rpaulo-netinet-merge-pcb-base
|
#
1.28 |
|
10-Apr-2006 |
uwe |
branches: 1.28.8; 1.28.10; Decorate pmap_remove_all() with /* ARGSUSED */
|
Revision tags: yamt-pdpolicy-base3 peter-altq-base yamt-pdpolicy-base2 yamt-pdpolicy-base yamt-uio_vmspace-base5
|
#
1.27 |
|
16-Feb-2006 |
perry |
branches: 1.27.2; 1.27.4; 1.27.6; Change "inline" back to "__inline" in .h files -- C99 is still too new, and some apps compile things in C89 mode. C89 keywords stay.
As per core@.
|
#
1.26 |
|
24-Dec-2005 |
perry |
branches: 1.26.2; 1.26.4; 1.26.6; Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
|
Revision tags: netbsd-3-1-1-RELEASE netbsd-3-0-3-RELEASE netbsd-3-1-RELEASE netbsd-3-0-2-RELEASE netbsd-3-1-RC4 netbsd-3-1-RC3 netbsd-3-1-RC2 netbsd-3-1-RC1 netbsd-3-0-1-RELEASE netbsd-3-0-RELEASE netbsd-3-0-RC6 yamt-readahead-base3 netbsd-3-0-RC5 netbsd-3-0-RC4 netbsd-3-0-RC3 yamt-readahead-base2 netbsd-3-0-RC2 yamt-readahead-pervnode yamt-readahead-perfile yamt-readahead-base netbsd-3-0-RC1 yamt-vop-base3 netbsd-2-0-3-RELEASE yamt-vop-base2 thorpej-vnode-attr-base netbsd-2-1-RELEASE yamt-vop-base netbsd-2-1-RC6 netbsd-2-1-RC5 netbsd-2-1-RC4 netbsd-2-1-RC3 netbsd-2-1-RC2 netbsd-2-1-RC1 yamt-km-base4 netbsd-2-0-2-RELEASE yamt-km-base3 netbsd-3-base yamt-km-base2 yamt-km-base kent-audio2-base netbsd-2-0-1-RELEASE kent-audio1-beforemerge netbsd-2-base kent-audio1-base netbsd-2-0-RELEASE netbsd-2-0-RC5 netbsd-2-0-RC4 netbsd-2-0-RC3 netbsd-2-0-RC2 netbsd-2-0-RC1 netbsd-2-0-base ktrace-lwp-base nathanw_sa_before_merge fvdl_fs64_base gmcgarry_ctxsw_base gmcgarry_ucred_base nathanw_sa_base kqueue-aftermerge kqueue-beforemerge kqueue-base
|
#
1.25 |
|
22-Sep-2002 |
chs |
branches: 1.25.22; it really helps to get the stub right before cutting + pasting it 27 times. alas, I did not. doh.
|
#
1.24 |
|
22-Sep-2002 |
chs |
add pmap_remove_all() hook (empty on most platforms so far).
|
Revision tags: netbsd-1-6-PATCH002-RELEASE netbsd-1-6-PATCH002 netbsd-1-6-PATCH002-RC4 netbsd-1-6-PATCH002-RC3 netbsd-1-6-PATCH002-RC2 netbsd-1-6-PATCH002-RC1 netbsd-1-6-PATCH001 netbsd-1-6-PATCH001-RELEASE netbsd-1-6-PATCH001-RC3 netbsd-1-6-PATCH001-RC2 netbsd-1-6-PATCH001-RC1 netbsd-1-6-RELEASE netbsd-1-6-RC3 netbsd-1-6-RC2 netbsd-1-6-RC1 netbsd-1-6-base gehenna-devsw-base
|
#
1.23 |
|
09-May-2002 |
uch |
branches: 1.23.6; new pmap designed for SH3/SH4.
|
#
1.22 |
|
28-Apr-2002 |
uch |
Use "#define<tab>", white space nits.
|
#
1.21 |
|
04-Apr-2002 |
uch |
remove obsolete functions, decralations and structure.
|
#
1.20 |
|
03-Apr-2002 |
msaitoh |
sync with i386/include/pmap.h rev. 1.45:
make dangerous pmap_copy() and pmap_move() no-op.
|
Revision tags: eeh-devprop-base newlock-base
|
#
1.19 |
|
03-Mar-2002 |
uch |
SR related parts moved to psl.h. cpufunc.h segments.h are removed. kernel mode checking is only SR.MD. no check stack pointer.
|
Revision tags: ifpoll-base
|
#
1.18 |
|
28-Feb-2002 |
uch |
Remove #if 0 #endif
|
#
1.17 |
|
17-Feb-2002 |
uch |
Add new MMU API. for detail, see sh3/mmu.h's comment.
|
#
1.16 |
|
12-Feb-2002 |
uch |
ANSIfy KNF.
|
#
1.15 |
|
11-Feb-2002 |
uch |
clean up redundant PTE PG_* defines. PG_RO -> PG_KR PG_RW -> PG_KW PG_u -> PG_URKR PG_PROT -> PG_UW PG_AVAIL1 -> PG_PVLIST
|
Revision tags: thorpej-mips-cache-base thorpej-devvp-base3 thorpej-devvp-base2 post-chs-ubcperf pre-chs-ubcperf
|
#
1.14 |
|
10-Sep-2001 |
chris |
Update pmap_update to now take the updated pmap as an argument. This will allow improvements to the pmaps so that they can more easily defer expensive operations, eg tlb/cache flush, til the last possible moment.
Currently this is a no-op on most platforms, so they should see no difference.
Reviewed by Jason.
|
Revision tags: thorpej-devvp-base
|
#
1.13 |
|
26-May-2001 |
chs |
branches: 1.13.2; 1.13.4; replace {simple_,}lock{_data,}_t with struct {simple,}lock {,*}.
|
Revision tags: thorpej_scsipi_beforemerge thorpej_scsipi_nbase thorpej_scsipi_base
|
#
1.12 |
|
22-Apr-2001 |
thorpej |
Undo a misguided previous change to the pmap_update() API.
|
#
1.11 |
|
22-Apr-2001 |
uch |
make this compile again under SH4
|
#
1.10 |
|
22-Apr-2001 |
thorpej |
Give pmap_update() an argument (a pmap_t) so that it knows which pmap it should be updating.
|
#
1.9 |
|
21-Apr-2001 |
thorpej |
pmap_update() should not be equated with "flush entire TLB", it is used to process deferred pmap operations. Since these pmaps don't defer anything, pmap_update() is a noop.
|
#
1.8 |
|
19-Feb-2001 |
msaitoh |
branches: 1.8.2; temporary fix a serious pmap problem with dummy PMAP_{MAP,UNMAP}_POOLPAGE().
To fix correctly, set IOM_RAM_BEGIN with P0 addr instead of P1 addr and fix machdep.c and pmap.c.
|
#
1.7 |
|
02-Feb-2001 |
thorpej |
Rewrite how mod/ref emulation is done. In particular, make modified attribute checking actually work. Previously, a page could be reported as modified even if it wasn't! This is very bad, and e.g. caused the VM system to attempt to "clean" pages of read-only files.
Only lip-services is paid to referenced attribute emulation. This could be improved.
|
#
1.6 |
|
28-Sep-2000 |
is |
We do wired page accounting. Tell UVM about this.
|
Revision tags: netbsd-1-5-ALPHA2 netbsd-1-5-base minoura-xpg4dl-base
|
#
1.5 |
|
25-Apr-2000 |
tsubai |
branches: 1.5.4; Use P1SEG to map pool pages.
|
#
1.4 |
|
24-Feb-2000 |
msaitoh |
SH4!
|
Revision tags: chs-ubc2-newbase
|
#
1.3 |
|
14-Jan-2000 |
msaitoh |
remove SH3_PHYS_TO_P1SEG macro
|
Revision tags: wrstuden-devbsize-19991221 wrstuden-devbsize-base comdex-fall-1999-base fvdl-softdep-base
|
#
1.2 |
|
14-Sep-1999 |
tsubai |
branches: 1.2.2; Catch up with -current.
|
#
1.1 |
|
13-Sep-1999 |
itojun |
Merge in NetBSD/sh3 from cvs.kame.net repository.
Tree structure: - sys/arch/sh3: sh3 generic code As commented, in-chip device drivers are put into sys/arch/sh3/dev. - sys/arch/evbsh3: sh3 evaluation boards (pure sh3 CPU, no fancy external HW) - sys/arch/mmeye: Brains mmEye, www.brains.co.jp MI source code includes couple of #ifdef for sh3-coff support. (sh3 uses coff or elf)
Needs some more improvements, especialy in sys/arch/sh3/conf/files.sh3, to compile the tree (due to last minute tree structure change).
|