Up to [cvs.NetBSD.org] / src / sys / arch / arm / arm32
Request diff between arbitrary revisions
Default branch: MAIN
Revision 1.437.4.1 / (download) - annotate - [select for diffs], Mon Dec 19 11:44:29 2022 UTC (3 months ago) by martin
Branch: netbsd-10
Changes since 1.437: +3 -3
lines
Diff to previous 1.437 (colored) next main 1.438 (colored)
Pull up following revision(s) (requested by skrll in ticket #4): sys/arch/arm/arm32/pmap.c: revision 1.438 sys/arch/arm/arm/efi_machdep.c: revision 1.3 Appease KDASSERT / LOCKDEBUG. Tested by mlelstv.
Revision 1.438 / (download) - annotate - [select for diffs], Sun Dec 18 12:02:47 2022 UTC (3 months ago) by skrll
Branch: MAIN
CVS Tags: HEAD
Changes since 1.437: +3 -3
lines
Diff to previous 1.437 (colored)
Appease KDASSERT / LOCKDEBUG. Tested by mlelstv.
Revision 1.437 / (download) - annotate - [select for diffs], Tue May 3 20:12:28 2022 UTC (10 months, 2 weeks ago) by skrll
Branch: MAIN
CVS Tags: netbsd-10-base,
bouyer-sunxi-drm-base,
bouyer-sunxi-drm
Branch point for: netbsd-10
Changes since 1.436: +13 -7
lines
Diff to previous 1.436 (colored)
Catch up with aarch64 TTBR0 handling in pmap_{,de}activate_efirt and kpreempt_{en,dis}able.
Revision 1.436 / (download) - annotate - [select for diffs], Sat Apr 9 23:38:31 2022 UTC (11 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.435: +4 -4
lines
Diff to previous 1.435 (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.435 / (download) - annotate - [select for diffs], Sat Apr 2 11:16:07 2022 UTC (11 months, 3 weeks ago) by skrll
Branch: MAIN
Changes since 1.434: +141 -3
lines
Diff to previous 1.434 (colored)
Update to support EFI runtime outside the kernel virtual address space by creating an EFI RT pmap that can be activated / deactivated when required. Adds support for EFI RT to ARM_MMU_EXTENDED (ASID) 32-bit Arm machines. On Arm64 the usage of pmapboot_enter is reduced and the mappings are created much later in the boot process -- now in cpu_startup_hook. Backward compatiblity for KVA mapped RT from old bootaa64.efi is maintained. Adding support to other platforms should be easier as a result.
Revision 1.434 / (download) - annotate - [select for diffs], Sat Mar 19 09:54:25 2022 UTC (12 months ago) by skrll
Branch: MAIN
Changes since 1.433: +4 -4
lines
Diff to previous 1.433 (colored)
Alight code re-organisation so it better matches the VPRINTF headings it is under. NFCI.
Revision 1.433 / (download) - annotate - [select for diffs], Sat Mar 12 15:32:31 2022 UTC (12 months, 1 week ago) by riastradh
Branch: MAIN
Changes since 1.432: +4 -2
lines
Diff to previous 1.432 (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.432 / (download) - annotate - [select for diffs], Sun Jan 2 11:20:03 2022 UTC (14 months, 2 weeks ago) by riastradh
Branch: MAIN
Changes since 1.431: +3 -5
lines
Diff to previous 1.431 (colored)
arm: Remove #ifdef DIAGNOSTIC now wrong after KASSERT change. Objects in question aren't volatile here so access is flushable.
Revision 1.431 / (download) - annotate - [select for diffs], Sat Jan 1 15:09:01 2022 UTC (14 months, 3 weeks ago) by christos
Branch: MAIN
Changes since 1.430: +2 -4
lines
Diff to previous 1.430 (colored)
KASSERT now always uses the expression, so don't protect with DIAGNOSTIC
Revision 1.430 / (download) - annotate - [select for diffs], Thu Aug 26 08:56:21 2021 UTC (18 months, 4 weeks ago) by skrll
Branch: MAIN
Changes since 1.429: +3 -3
lines
Diff to previous 1.429 (colored)
Improve a comment
Revision 1.429 / (download) - annotate - [select for diffs], Tue Aug 24 07:32:31 2021 UTC (18 months, 4 weeks ago) by skrll
Branch: MAIN
Changes since 1.428: +3 -3
lines
Diff to previous 1.428 (colored)
Remove '\n' from UVMHIST format
Revision 1.422.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 22:28:16 2021 UTC (23 months, 2 weeks ago) by thorpej
Branch: thorpej-futex
Changes since 1.422: +48 -6
lines
Diff to previous 1.422 (colored) next main 1.423 (colored)
Sync with HEAD.
Revision 1.426.2.1 / (download) - annotate - [select for diffs], Sat Apr 3 21:44:40 2021 UTC (23 months, 2 weeks ago) by thorpej
Branch: thorpej-cfargs
Changes since 1.426: +6 -2
lines
Diff to previous 1.426 (colored) next main 1.427 (colored)
Sync with HEAD.
Revision 1.428 / (download) - annotate - [select for diffs], Tue Mar 23 10:21:49 2021 UTC (2 years ago) by skrll
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-futex-base,
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.427: +4 -2
lines
Diff to previous 1.427 (colored)
Another missing kpreempt_enable
Revision 1.427 / (download) - annotate - [select for diffs], Tue Mar 23 06:35:24 2021 UTC (2 years ago) by skrll
Branch: MAIN
Changes since 1.426: +4 -2
lines
Diff to previous 1.426 (colored)
Re-enable kpreemption in an error path. Spotted by nat@
Revision 1.426 / (download) - annotate - [select for diffs], Sun Mar 14 10:36:46 2021 UTC (2 years ago) by skrll
Branch: MAIN
Branch point for: thorpej-cfargs
Changes since 1.425: +35 -3
lines
Diff to previous 1.425 (colored)
Sprinkle kpreempt_{dis,en}able ready for when preemption gets turned on.
Revision 1.425 / (download) - annotate - [select for diffs], Mon Feb 1 19:02:28 2021 UTC (2 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.424: +3 -3
lines
Diff to previous 1.424 (colored)
"as appropos" -> "as appropriate" in comments
Revision 1.424 / (download) - annotate - [select for diffs], Fri Jan 29 07:00:28 2021 UTC (2 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.423: +6 -4
lines
Diff to previous 1.423 (colored)
More debug
Revision 1.423 / (download) - annotate - [select for diffs], Sun Jan 24 14:51:01 2021 UTC (2 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.422: +6 -2
lines
Diff to previous 1.422 (colored)
More debug
Revision 1.422 / (download) - annotate - [select for diffs], Fri Oct 30 18:54:36 2020 UTC (2 years, 4 months ago) by skrll
Branch: MAIN
Branch point for: thorpej-futex
Changes since 1.421: +8 -8
lines
Diff to previous 1.421 (colored)
Retire arm_[di]sb in favour of the isb() and dsb(sy) macro invocations.
Revision 1.421 / (download) - annotate - [select for diffs], Wed Aug 12 18:30:46 2020 UTC (2 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.420: +3 -3
lines
Diff to previous 1.420 (colored)
Whack-a-mole
Revision 1.420 / (download) - annotate - [select for diffs], Tue Aug 11 07:03:33 2020 UTC (2 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.419: +5 -5
lines
Diff to previous 1.419 (colored)
s/pmaphist/maphist/
Revision 1.419 / (download) - annotate - [select for diffs], Mon Aug 10 05:40:21 2020 UTC (2 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.418: +11 -2
lines
Diff to previous 1.418 (colored)
More UVMHIST_LOG and a new KASSERT
Revision 1.418 / (download) - annotate - [select for diffs], Mon Aug 10 05:38:43 2020 UTC (2 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.417: +3 -3
lines
Diff to previous 1.417 (colored)
In pmag_page_remove initilise pvp after taking the page lock
Revision 1.417 / (download) - annotate - [select for diffs], Fri Jul 10 12:25:09 2020 UTC (2 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.416: +9 -3
lines
Diff to previous 1.416 (colored)
Add support for KASAN on ARMv[67] Thanks to maxv for many pointers and reviews.
Revision 1.416 / (download) - annotate - [select for diffs], Fri Jul 3 17:14:23 2020 UTC (2 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.415: +5 -3
lines
Diff to previous 1.415 (colored)
1 page is enough for memhook now since the merge of the rmind-uvmplock branch and the removal of sys/arch/arm/arm32/mem.c The last users of memhook don't care about number of CPUs or page colours.
Revision 1.415 / (download) - annotate - [select for diffs], Sun Jun 21 07:14:15 2020 UTC (2 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.414: +4 -4
lines
Diff to previous 1.414 (colored)
Use howmany(). NFCI.
Revision 1.414 / (download) - annotate - [select for diffs], Wed May 27 06:43:22 2020 UTC (2 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.413: +4 -3
lines
Diff to previous 1.413 (colored)
KNF
Revision 1.413 / (download) - annotate - [select for diffs], Wed May 27 06:41:58 2020 UTC (2 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.412: +2 -3
lines
Diff to previous 1.412 (colored)
Remove duplicate #include
Revision 1.402.2.2 / (download) - annotate - [select for diffs], Sat Apr 25 11:23:55 2020 UTC (2 years, 10 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.402.2.1: +2 -10
lines
Diff to previous 1.402.2.1 (colored) to branchpoint 1.402 (colored) next main 1.403 (colored)
Sync with bouyer-xenpvh-base2 (HEAD)
Revision 1.365.2.4 / (download) - annotate - [select for diffs], Tue Apr 21 18:42:03 2020 UTC (2 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.365.2.3: +156 -172
lines
Diff to previous 1.365.2.3 (colored) to branchpoint 1.365 (colored) next main 1.366 (colored)
Sync with HEAD
Revision 1.412 / (download) - annotate - [select for diffs], Tue Apr 21 06:45:16 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200421,
bouyer-xenpvh-base2
Changes since 1.411: +2 -10
lines
Diff to previous 1.411 (colored)
There is no fast spoon^Wfast path in pmap_clearbit. PR port-arm/55186: tests crash arm pmap Tested by martin@
Revision 1.402.2.1 / (download) - annotate - [select for diffs], Mon Apr 20 11:28:52 2020 UTC (2 years, 11 months ago) by bouyer
Branch: bouyer-xenpvh
Changes since 1.402: +165 -173
lines
Diff to previous 1.402 (colored)
Sync with HEAD
Revision 1.411 / (download) - annotate - [select for diffs], Sun Apr 19 21:24:36 2020 UTC (2 years, 11 months ago) by ad
Branch: MAIN
CVS Tags: bouyer-xenpvh-base1
Changes since 1.410: +3 -3
lines
Diff to previous 1.410 (colored)
PR port-arm/55186: tests crash arm pmap pmap_clearbit(): take execbits into account in the fastpath.
Revision 1.410 / (download) - annotate - [select for diffs], Sun Apr 19 19:36:49 2020 UTC (2 years, 11 months ago) by kre
Branch: MAIN
Changes since 1.409: +4 -4
lines
Diff to previous 1.409 (colored)
Give UVMHIST_LOG() the 6 args it requires. Unbreak builds.
Revision 1.409 / (download) - annotate - [select for diffs], Sun Apr 19 08:50:54 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.408: +3 -3
lines
Diff to previous 1.408 (colored)
Fix typo in UVMHIST_LOG
Revision 1.408 / (download) - annotate - [select for diffs], Sat Apr 18 10:46:32 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.407: +61 -106
lines
Diff to previous 1.407 (colored)
Remove PMAP_DEBUG by converting to UVMHIST
Revision 1.407 / (download) - annotate - [select for diffs], Fri Apr 17 11:21:06 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.406: +3 -3
lines
Diff to previous 1.406 (colored)
Fix build after PV locking change
Revision 1.406 / (download) - annotate - [select for diffs], Fri Apr 17 08:17:06 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.405: +33 -36
lines
Diff to previous 1.405 (colored)
Use UVMHIST_CALLARGS
Revision 1.405 / (download) - annotate - [select for diffs], Thu Apr 16 21:20:43 2020 UTC (2 years, 11 months ago) by ad
Branch: MAIN
Changes since 1.404: +72 -32
lines
Diff to previous 1.404 (colored)
With the right timing, V->P operations could change stuff behind the back of callers working in the opposite direction - fix it. Tested by skrll@.
Revision 1.404 / (download) - annotate - [select for diffs], Tue Apr 14 07:31:52 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.403: +3 -3
lines
Diff to previous 1.403 (colored)
Fix a comment. From ad@
Revision 1.365.2.3 / (download) - annotate - [select for diffs], Mon Apr 13 08:03:32 2020 UTC (2 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.365.2.2: +1 -1
lines
Diff to previous 1.365.2.2 (colored) to branchpoint 1.365 (colored)
Mostly merge changes from HEAD upto 20200411
Revision 1.403 / (download) - annotate - [select for diffs], Mon Apr 13 00:27:16 2020 UTC (2 years, 11 months ago) by chs
Branch: MAIN
Changes since 1.402: +3 -3
lines
Diff to previous 1.402 (colored)
slightly change and fix the semantics of pool_set*wat(), pool_sethardlimit() and pool_prime() (and their pool_cache_* counterparts): - the pool_set*wat() APIs are supposed to specify thresholds for the count of free items in the pool before pool pages are automatically allocated or freed during pool_get() / pool_put(), whereas pool_sethardlimit() and pool_prime() are supposed to specify minimum and maximum numbers of total items in the pool (both free and allocated). these were somewhat conflated in the existing code, so separate them as they were intended. - change pool_prime() to take an absolute number of items to preallocate rather than an increment over whatever was done before, and wait for any memory allocations to succeed. since pool_prime() can no longer fail after this, change its return value to void and adjust all callers. - pool_setlowat() is documented as not immediately attempting to allocate any memory, but it was changed some time ago to immediately try to allocate up to the lowat level, so just fix the manpage to describe the current behaviour. - add a pool_cache_prime() to complete the API set.
Revision 1.365.2.2 / (download) - annotate - [select for diffs], Wed Apr 8 14:07:28 2020 UTC (2 years, 11 months ago) by martin
Branch: phil-wifi
Changes since 1.365.2.1: +350 -161
lines
Diff to previous 1.365.2.1 (colored) to branchpoint 1.365 (colored)
Merge changes from current as of 20200406
Revision 1.402 / (download) - annotate - [select for diffs], Sun Mar 29 09:20:43 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20200411,
phil-wifi-20200406,
bouyer-xenpvh-base
Branch point for: bouyer-xenpvh
Changes since 1.401: +4 -3
lines
Diff to previous 1.401 (colored)
PTE_SYNC before TLB flush and no need to PTE_SYNC after an unmap.
Revision 1.401 / (download) - annotate - [select for diffs], Sun Mar 29 09:10:26 2020 UTC (2 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.400: +8 -2
lines
Diff to previous 1.400 (colored)
Support PMAP_FAULTINFO on arm
Revision 1.400 / (download) - annotate - [select for diffs], Mon Mar 23 16:38:29 2020 UTC (3 years ago) by skrll
Branch: MAIN
Changes since 1.399: +2 -4
lines
Diff to previous 1.399 (colored)
Reduce #ifdefs
Revision 1.399 / (download) - annotate - [select for diffs], Sat Mar 14 14:05:42 2020 UTC (3 years ago) by ad
Branch: MAIN
Changes since 1.398: +4 -3
lines
Diff to previous 1.398 (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.398 / (download) - annotate - [select for diffs], Fri Mar 13 16:25:19 2020 UTC (3 years ago) by skrll
Branch: MAIN
Changes since 1.397: +8 -6
lines
Diff to previous 1.397 (colored)
Enhance the DIAGNOSTICs around pmap_grow_map
Revision 1.397 / (download) - annotate - [select for diffs], Fri Mar 13 16:16:29 2020 UTC (3 years ago) by skrll
Branch: MAIN
Changes since 1.396: +4 -4
lines
Diff to previous 1.396 (colored)
Re-indent a function call. NFCI.
Revision 1.396 / (download) - annotate - [select for diffs], Fri Mar 13 16:14:18 2020 UTC (3 years ago) by skrll
Branch: MAIN
Changes since 1.395: +4 -4
lines
Diff to previous 1.395 (colored)
Oops... remove a stray <space>
Revision 1.395 / (download) - annotate - [select for diffs], Fri Mar 13 16:12:06 2020 UTC (3 years ago) by skrll
Branch: MAIN
Changes since 1.394: +6 -4
lines
Diff to previous 1.394 (colored)
Fixup some comments
Revision 1.375.2.4 / (download) - annotate - [select for diffs], Sat Feb 29 21:50:45 2020 UTC (3 years ago) by ad
Branch: ad-namecache
Changes since 1.375.2.3: +1 -3
lines
Diff to previous 1.375.2.3 (colored) to branchpoint 1.375 (colored) next main 1.376 (colored)
Sync with head.
Revision 1.375.2.3 / (download) - annotate - [select for diffs], Sat Feb 29 20:18:17 2020 UTC (3 years ago) by ad
Branch: ad-namecache
Changes since 1.375.2.2: +176 -104
lines
Diff to previous 1.375.2.2 (colored) to branchpoint 1.375 (colored)
Sync with head.
Revision 1.373.2.2 / (download) - annotate - [select for diffs], Thu Feb 27 19:06:22 2020 UTC (3 years ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-3-RELEASE,
netbsd-9-2-RELEASE,
netbsd-9-1-RELEASE
Changes since 1.373.2.1: +98 -19
lines
Diff to previous 1.373.2.1 (colored) to branchpoint 1.373 (colored) next main 1.374 (colored)
Pull up following revision(s) (requested by skrll in ticket #742): sys/arch/arm/arm32/pmap.c: revision 1.388 sys/arch/arm/arm32/armv7_generic_space.c: revision 1.11 sys/arch/arm/arm/cpufunc.c: revision 1.176 sys/arch/arm/conf/Makefile.arm: revision 1.54 (via patch) sys/arch/arm/include/arm32/pmap.h: revision 1.161 Fix the armv[67] memory attributes for uncached memory. Previously it was mapped as strongly-ordered which meant that unaligned accesses would fault. armv7_generic_bs_map now maps pages with PMAP_DEV which is treated as SO bus_dma continues to use PMAP_NOCACHE as appropriate, but this now get mapped to the correct memory attribute bits for armv[67] DEVMAP_ENTRY usees a new flag PTE_DEV. The workaround for the unaligned access faults is now removed. XXX Other armv[67] boards bus_space implementations should be checked. XXX There is scope to reduce the difference to aarch64
Revision 1.394 / (download) - annotate - [select for diffs], Mon Feb 24 20:31:56 2020 UTC (3 years ago) by ad
Branch: MAIN
CVS Tags: is-mlppp-base,
is-mlppp,
ad-namecache-base3
Changes since 1.393: +12 -21
lines
Diff to previous 1.393 (colored)
Adjust for UVM locking changes
Revision 1.393 / (download) - annotate - [select for diffs], Sun Feb 23 10:22:07 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.392: +3 -3
lines
Diff to previous 1.392 (colored)
type in comment
Revision 1.392 / (download) - annotate - [select for diffs], Wed Feb 12 17:36:41 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.391: +10 -9
lines
Diff to previous 1.391 (colored)
Convert the DEBUG code in pmap_grow_map to DIAGNOSTIC
Revision 1.391 / (download) - annotate - [select for diffs], Wed Feb 12 17:34:18 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.390: +3 -2
lines
Diff to previous 1.390 (colored)
Add a CTASSERT to pmap_grow_l2_bucket that PAGE_SIZE is a multiple of L2_TABLE_SIZE_REAL.
Revision 1.390 / (download) - annotate - [select for diffs], Wed Feb 12 17:31:51 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.389: +3 -2
lines
Diff to previous 1.389 (colored)
Add a KASERT that we're not overwriting anything in pmap_growkernel
Revision 1.389 / (download) - annotate - [select for diffs], Wed Feb 12 16:08:19 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.388: +4 -7
lines
Diff to previous 1.388 (colored)
Minor changes to make pmap_grow_l2_bucket look more like pmap_alloc_l2_bucket. NFCI.
Revision 1.373.2.1 / (download) - annotate - [select for diffs], Mon Feb 10 19:20:01 2020 UTC (3 years, 1 month ago) by martin
Branch: netbsd-9
CVS Tags: netbsd-9-0-RELEASE
Changes since 1.373: +65 -65
lines
Diff to previous 1.373 (colored)
Pull up following revision(s) (requested by skrll in ticket #691): sys/arch/arm/arm32/pmap.c: revision 1.383 sys/arch/arm/arm32/pmap.c: revision 1.385 sys/arch/arm/arm32/pmap.c: revision 1.386 sys/arch/arm/arm32/pmap.c: revision 1.387 sys/arch/arm/arm32/pmap.c: revision 1.374 sys/arch/arm/arm32/pmap.c: revision 1.375 sys/arch/arm/arm32/pmap.c: revision 1.376 sys/arch/arm/arm32/pmap.c: revision 1.377 sys/arch/arm/arm32/pmap.c: revision 1.378 sys/arch/arm/arm32/pmap.c: revision 1.379 Convert a __CTASSERT into a KASSERT as L1_S_CACHE_MASK may not be a compile time constant if ARM_NMMUS > 1 Improve a comment Update PMAP_STEAL_MEMORY code to uvm_hotplug Typo in comment Fix a bug introduced in 1.271 where pmap_grow_map would no longer map the allocated page for the uvm.page_init_done == false case when PMAP_STEAL_MEMORY is not defined. Trailing whitespace Fix comment Always pmap_kenter_pa the page in pmap_grow_map regardless of how we got it. Always call pmap_grow_map with a page aligned new VA. KASSERT that this happenes. More KNF
Revision 1.388 / (download) - annotate - [select for diffs], Wed Feb 5 07:37:35 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.387: +98 -19
lines
Diff to previous 1.387 (colored)
Fix the armv[67] memory attributes for uncached memory. Previously it was mapped as strongly-ordered which meant that unaligned accesses would fault. armv7_generic_bs_map now maps pages with PMAP_DEV which is treated as SO bus_dma continues to use PMAP_NOCACHE as appropriate, but this now get mapped to the correct memory attribute bits for armv[67] DEVMAP_ENTRY usees a new flag PTE_DEV. The workaround for the unaligned access faults is now removed. XXX Other armv[67] boards bus_space implementations should be checked. XXX There is scope to reduce the difference to aarch64
Revision 1.387 / (download) - annotate - [select for diffs], Sun Feb 2 08:56:29 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.386: +39 -39
lines
Diff to previous 1.386 (colored)
More KNF
Revision 1.386 / (download) - annotate - [select for diffs], Sun Feb 2 08:19:15 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.385: +5 -3
lines
Diff to previous 1.385 (colored)
Always call pmap_grow_map with a page aligned new VA. KASSERT that this happenes.
Revision 1.385 / (download) - annotate - [select for diffs], Sun Feb 2 08:16:40 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.384: +5 -7
lines
Diff to previous 1.384 (colored)
Always pmap_kenter_pa the page in pmap_grow_map regardless of how we got it.
Revision 1.384 / (download) - annotate - [select for diffs], Sun Feb 2 07:55:11 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.383: +12 -12
lines
Diff to previous 1.383 (colored)
KNF
Revision 1.383 / (download) - annotate - [select for diffs], Sun Feb 2 07:47:51 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.382: +3 -3
lines
Diff to previous 1.382 (colored)
Fix comment
Revision 1.375.2.2 / (download) - annotate - [select for diffs], Sat Jan 25 22:38:38 2020 UTC (3 years, 1 month ago) by ad
Branch: ad-namecache
Changes since 1.375.2.1: +143 -34
lines
Diff to previous 1.375.2.1 (colored) to branchpoint 1.375 (colored)
Sync with head.
Revision 1.382 / (download) - annotate - [select for diffs], Sat Jan 25 16:19:29 2020 UTC (3 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: ad-namecache-base2
Changes since 1.381: +8 -7
lines
Diff to previous 1.381 (colored)
A fix and an optimisation to pmap_l1tt_free - in the !__HAVE_MM_MD_DIRECT_MAPPED_PHYS case pass UVM_KMF_WIRED so that the mappings are removed and the KVA is released. Fixes the KASSERT seen in the automated test runs. - in the __HAVE_MM_MD_DIRECT_MAPPED_PHYS case we can work out pa much easier than caling pmap_extract.
Revision 1.381 / (download) - annotate - [select for diffs], Sun Jan 19 10:59:56 2020 UTC (3 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.380: +5 -7
lines
Diff to previous 1.380 (colored)
Fix non-ARM_MMU_EXTENDED buildx
Revision 1.380 / (download) - annotate - [select for diffs], Sat Jan 18 14:40:04 2020 UTC (3 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.379: +143 -33
lines
Diff to previous 1.379 (colored)
Use 4K pages on ARM_MMU_EXTENDED platforms (all armv[67] except RPI) by creating a new pool l1ttpl for the userland L1 translation table which needs to be 8KB and 8KB aligned. Limit the pool to maxproc and add hooks to allow the sysctl changing of maxproc to adjust the pool. This comes at a 5% performance penalty for build.sh -j8 kernel on a Tegra TK1.
Revision 1.379 / (download) - annotate - [select for diffs], Sat Jan 18 07:52:33 2020 UTC (3 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.378: +3 -3
lines
Diff to previous 1.378 (colored)
Trailing whitespace
Revision 1.375.2.1 / (download) - annotate - [select for diffs], Fri Jan 17 21:47:23 2020 UTC (3 years, 2 months ago) by ad
Branch: ad-namecache
Changes since 1.375: +20 -20
lines
Diff to previous 1.375 (colored)
Sync with head.
Revision 1.378 / (download) - annotate - [select for diffs], Fri Jan 17 16:59:07 2020 UTC (3 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: ad-namecache-base1
Changes since 1.377: +5 -2
lines
Diff to previous 1.377 (colored)
Fix a bug introduced in 1.271 where pmap_grow_map would no longer map the allocated page for the uvm.page_init_done == false case when PMAP_STEAL_MEMORY is not defined.
Revision 1.377 / (download) - annotate - [select for diffs], Fri Jan 17 12:40:44 2020 UTC (3 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.376: +3 -3
lines
Diff to previous 1.376 (colored)
Typo in comment
Revision 1.376 / (download) - annotate - [select for diffs], Fri Jan 17 12:39:00 2020 UTC (3 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.375: +16 -19
lines
Diff to previous 1.375 (colored)
Update PMAP_STEAL_MEMORY code to uvm_hotplug
Revision 1.375 / (download) - annotate - [select for diffs], Tue Dec 31 18:09:21 2019 UTC (3 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: ad-namecache-base
Branch point for: ad-namecache
Changes since 1.374: +4 -4
lines
Diff to previous 1.374 (colored)
Improve a comment
Revision 1.374 / (download) - annotate - [select for diffs], Wed Sep 25 16:37:54 2019 UTC (3 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: phil-wifi-20191119
Changes since 1.373: +3 -3
lines
Diff to previous 1.373 (colored)
Convert a __CTASSERT into a KASSERT as L1_S_CACHE_MASK may not be a compile time constant if ARM_NMMUS > 1
Revision 1.365.2.1 / (download) - annotate - [select for diffs], Mon Jun 10 22:05:51 2019 UTC (3 years, 9 months ago) by christos
Branch: phil-wifi
Changes since 1.365: +124 -106
lines
Diff to previous 1.365 (colored)
Sync with HEAD
Revision 1.349.2.3 / (download) - annotate - [select for diffs], Tue Apr 23 18:26:22 2019 UTC (3 years, 11 months ago) by martin
Branch: netbsd-8
CVS Tags: netbsd-8-2-RELEASE,
netbsd-8-1-RELEASE,
netbsd-8-1-RC1
Changes since 1.349.2.2: +52 -46
lines
Diff to previous 1.349.2.2 (colored) to branchpoint 1.349 (colored) next main 1.350 (colored)
Pull up following revision(s) (requested by bouyer in ticket #1246): sys/arch/arm/arm32/pmap.c: revision 1.373 (via patch) Fix a deadlock between the pool and pmap codes: - cpu0 grabs the kernel lock (e.g. from a non-MPSAFE interrupt) and calls pool_get(). - cpu1 does a pool_get() on the same pool from MPSAFE code, which needs a pool_page_alloc(), which ends up in pmap_extract_coherency(). So cpu0 holds the kernel_lock and wants the pool lock. cpu1 holds the pool lock and wants the kernel_lock in pmap_extract_coherency(). The pmap code should not rely on kernel_lock. Intead make the pmap_kernel()->pm_obj_lock a IPL_VM lock and use it as pmap lock (thus dropping the pmap test pmap_{acquire,release}_pmap_lock()). This needs to be a IPL_VM because unlike user pmaps, this can be locked from interrupt context. Add a IPL_NONE lock for pmap_growkernel(). We can't use pmap_kernel()->pm_obj_lock here because pmap_grow_map() may sleep. Make pmap_lock (which may be locked with pm_obj_lock held) a IPL_VM lock in all case. reorder a few things to not call pool_get()/pool_put() (which may sleep) with pm_obj_lock held. Patch initially posted to port-arm@ on April 19, improved patch (per suggestions from Nick Hudson and Jason Thorpe) on April 21.
Revision 1.349.2.2 / (download) - annotate - [select for diffs], Tue Apr 23 18:22:37 2019 UTC (3 years, 11 months ago) by martin
Branch: netbsd-8
Changes since 1.349.2.1: +15 -2
lines
Diff to previous 1.349.2.1 (colored) to branchpoint 1.349 (colored)
Pull up following revision(s) (requested by bouyer in ticket #1245): sys/arch/arm/arm32/pmap.c: revision 1.372 Don't try to aquire/release the pmap lock when in ddb. Avoids a deadlock when entering ddb, or on "mach cpu n" ddb command (the pmap lock may already be held by another CPU, which is halted when entering ddb). Posted to port-arm@ on April 19.
Revision 1.373 / (download) - annotate - [select for diffs], Tue Apr 23 11:21:21 2019 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
CVS Tags: phil-wifi-20190609,
netbsd-9-base,
netbsd-9-0-RC2,
netbsd-9-0-RC1
Branch point for: netbsd-9
Changes since 1.372: +52 -46
lines
Diff to previous 1.372 (colored)
Fix a deadlock between the pool and pmap codes: - cpu0 grabs the kernel lock (e.g. from a non-MPSAFE interrupt) and calls pool_get(). - cpu1 does a pool_get() on the same pool from MPSAFE code, which needs a pool_page_alloc(), which ends up in pmap_extract_coherency(). So cpu0 holds the kernel_lock and wants the pool lock. cpu1 holds the pool lock and wants the kernel_lock in pmap_extract_coherency(). The pmap code should not rely on kernel_lock. Intead make the pmap_kernel()->pm_obj_lock a IPL_VM lock and use it as pmap lock (thus dropping the pmap test pmap_{acquire,release}_pmap_lock()). This needs to be a IPL_VM because unlike user pmaps, this can be locked from interrupt context. Add a IPL_NONE lock for pmap_growkernel(). We can't use pmap_kernel()->pm_obj_lock here because pmap_grow_map() may sleep. Make pmap_lock (which may be locked with pm_obj_lock held) a IPL_VM lock in all case. reorder a few things to not call pool_get()/pool_put() (which may sleep) with pm_obj_lock held. Patch initially posted to port-arm@ on April 19, improved patch (per suggestions from Nick Hudson and Jason Thorpe) on April 21.
Revision 1.372 / (download) - annotate - [select for diffs], Tue Apr 23 11:05:14 2019 UTC (3 years, 11 months ago) by bouyer
Branch: MAIN
Changes since 1.371: +15 -2
lines
Diff to previous 1.371 (colored)
Don't try to aquire/release the pmap lock when in ddb. Avoids a deadlock when entering ddb, or on "mach cpu n" ddb command (the pmap lock may already be held by another CPU, which is halted when entering ddb). Posted to port-arm@ on April 19.
Revision 1.364.2.4 / (download) - annotate - [select for diffs], Mon Nov 26 01:52:17 2018 UTC (4 years, 3 months ago) by pgoyette
Branch: pgoyette-compat
CVS Tags: pgoyette-compat-merge-20190127
Changes since 1.364.2.3: +3 -5
lines
Diff to previous 1.364.2.3 (colored) to branchpoint 1.364 (colored) next main 1.365 (colored)
Sync with HEAD, resolve a couple of conflicts
Revision 1.371 / (download) - annotate - [select for diffs], Sun Oct 28 14:59:17 2018 UTC (4 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-20190127,
pgoyette-compat-20190118,
pgoyette-compat-1226,
pgoyette-compat-1126,
isaki-audio2-base,
isaki-audio2
Changes since 1.370: +3 -5
lines
Diff to previous 1.370 (colored)
Fix the comment near pmap_bootstrap itself as well
Revision 1.364.2.3 / (download) - annotate - [select for diffs], Sat Oct 20 06:58:24 2018 UTC (4 years, 5 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.364.2.2: +42 -18
lines
Diff to previous 1.364.2.2 (colored) to branchpoint 1.364 (colored)
Sync with head
Revision 1.370 / (download) - annotate - [select for diffs], Thu Oct 18 09:01:52 2018 UTC (4 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-1020
Changes since 1.369: +41 -17
lines
Diff to previous 1.369 (colored)
Provide generic start code that assumes the MMU is off and caches are disabled as per the linux booting protocol for ARMv6 and ARMv7 boards. u-boot image type should be changed to 'linux' for correct behaviour. The new start code builds a minimal "bootstrap" L1PT with cached access disabled and uses the same table for all processors. AP startup is performed in less steps and more code is written in C. The bootstrap tables and stack are placed into an (orphaned) section "_init_memory" which is given to uvm when it is no longer used. Various kernels have been converted to use this code and tested. Some boards were provided by TNF. Thanks! The GENERIC kernel now boots on boards using the TEGRA, SUNXI and EXYNOS kernels. The GENERIC kernel will also work on RPI2 using u-boot. Thanks to martin@ and aymeric@ for testing on parallella and nanosoc respectively
Revision 1.369 / (download) - annotate - [select for diffs], Sun Oct 14 14:31:05 2018 UTC (4 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.368: +3 -3
lines
Diff to previous 1.368 (colored)
Use __nothing
Revision 1.364.2.2 / (download) - annotate - [select for diffs], Thu Sep 6 06:55:25 2018 UTC (4 years, 6 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.364.2.1: +27 -50
lines
Diff to previous 1.364.2.1 (colored) to branchpoint 1.364 (colored)
Sync with HEAD Resolve a couple of conflicts (result of the uimin/uimax changes)
Revision 1.368 / (download) - annotate - [select for diffs], Mon Sep 3 16:29:23 2018 UTC (4 years, 6 months ago) by riastradh
Branch: MAIN
CVS Tags: pgoyette-compat-0930,
pgoyette-compat-0906
Changes since 1.367: +3 -3
lines
Diff to previous 1.367 (colored)
Rename min/max -> uimin/uimax for better honesty. These functions are defined on unsigned int. The generic name min/max should not silently truncate to 32 bits on 64-bit systems. This is purely a name change -- no functional change intended. HOWEVER! Some subsystems have #define min(a, b) ((a) < (b) ? (a) : (b)) #define max(a, b) ((a) > (b) ? (a) : (b)) even though our standard name for that is MIN/MAX. Although these may invite multiple evaluation bugs, these do _not_ cause integer truncation. To avoid `fixing' these cases, I first changed the name in libkern, and then compile-tested every file where min/max occurred in order to confirm that it failed -- and thus confirm that nothing shadowed min/max -- before changing it. I have left a handful of bootloaders that are too annoying to compile-test, and some dead code: cobalt ews4800mips hp300 hppa ia64 luna68k vax acorn32/if_ie.c (not included in any kernels) macppc/if_gm.c (superseded by gem(4)) It should be easy to fix the fallout once identified -- this way of doing things fails safe, and the goal here, after all, is to _avoid_ silent integer truncations, not introduce them. Maybe one day we can reintroduce min/max as type-generic things that never silently truncate. But we should avoid doing that for a while, so that existing code has a chance to be detected by the compiler for conversion to uimin/uimax without changing the semantics until we can properly audit it all. (Who knows, maybe in some cases integer truncation is actually intended!)
Revision 1.367 / (download) - annotate - [select for diffs], Tue Aug 28 14:45:33 2018 UTC (4 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.366: +4 -4
lines
Diff to previous 1.366 (colored)
Fix arguments to align and align_offset for pmap_l2ptp_cache, i.e.align is now L2_TABLE_SIZE_REAL and align_offset is now 0. (There were reversed previously)
Revision 1.366 / (download) - annotate - [select for diffs], Tue Jul 31 07:00:48 2018 UTC (4 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.365: +24 -47
lines
Diff to previous 1.365 (colored)
Define and use VPRINTF
Revision 1.364.2.1 / (download) - annotate - [select for diffs], Sat Apr 7 04:12:11 2018 UTC (4 years, 11 months ago) by pgoyette
Branch: pgoyette-compat
Changes since 1.364: +16 -2
lines
Diff to previous 1.364 (colored)
Sync with HEAD. 77 conflicts resolved - all of them $NetBSD$
Revision 1.365 / (download) - annotate - [select for diffs], Sun Apr 1 04:35:03 2018 UTC (4 years, 11 months ago) by ryo
Branch: MAIN
CVS Tags: phil-wifi-base,
pgoyette-compat-0728,
pgoyette-compat-0625,
pgoyette-compat-0521,
pgoyette-compat-0502,
pgoyette-compat-0422,
pgoyette-compat-0415,
pgoyette-compat-0407
Branch point for: phil-wifi
Changes since 1.364: +16 -2
lines
Diff to previous 1.364 (colored)
Add initial support for ARMv8 (AARCH64) (by nisimura@ and ryo@) - sys/arch/evbarm64 is gone and integrated into sys/arch/evbarm. (by skrll@) - add support fdt. evbarm/conf/GENERIC64 fdt (bcm2837,sunxi,tegra) based generic 64bit kernel config. (by skrll@, jmcneill@)
Revision 1.364 / (download) - annotate - [select for diffs], Mon Jan 22 13:22:40 2018 UTC (5 years, 2 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-compat-base,
pgoyette-compat-0330,
pgoyette-compat-0322,
pgoyette-compat-0315
Branch point for: pgoyette-compat
Changes since 1.363: +19 -7
lines
Diff to previous 1.363 (colored)
Add PMAP_WRITE_COMBINE: to the list of flags supported by pmap_kenter_pa
Revision 1.363 / (download) - annotate - [select for diffs], Mon Jan 22 13:21:35 2018 UTC (5 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.362: +3 -3
lines
Diff to previous 1.362 (colored)
Trailing whitespace
Revision 1.362 / (download) - annotate - [select for diffs], Wed Jan 17 20:30:16 2018 UTC (5 years, 2 months ago) by skrll
Branch: MAIN
Changes since 1.361: +2 -11
lines
Diff to previous 1.361 (colored)
G/C ARM32_NEW_VM_LAYOUT
Revision 1.236.2.5 / (download) - annotate - [select for diffs], Sun Dec 3 11:35:51 2017 UTC (5 years, 3 months ago) by jdolecek
Branch: tls-maxphys
Changes since 1.236.2.4: +465 -326
lines
Diff to previous 1.236.2.4 (colored) next main 1.237 (colored)
update from HEAD
Revision 1.349.2.1 / (download) - annotate - [select for diffs], Thu Nov 2 21:29:51 2017 UTC (5 years, 4 months ago) by snj
Branch: netbsd-8
CVS Tags: netbsd-8-0-RELEASE,
netbsd-8-0-RC2,
netbsd-8-0-RC1,
matt-nb8-mediatek-base,
matt-nb8-mediatek
Changes since 1.349: +45 -38
lines
Diff to previous 1.349 (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.361 / (download) - annotate - [select for diffs], Wed Nov 1 21:13:26 2017 UTC (5 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: tls-maxphys-base-20171202
Changes since 1.360: +3 -4
lines
Diff to previous 1.360 (colored)
Unwrap two lines. NFC.
Revision 1.360 / (download) - annotate - [select for diffs], Wed Nov 1 21:11:44 2017 UTC (5 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.359: +3 -6
lines
Diff to previous 1.359 (colored)
Fix a comment
Revision 1.359 / (download) - annotate - [select for diffs], Sat Oct 28 00:37:12 2017 UTC (5 years, 4 months ago) by pgoyette
Branch: MAIN
Changes since 1.358: +45 -38
lines
Diff to previous 1.358 (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.358 / (download) - annotate - [select for diffs], Sun Oct 8 12:08:30 2017 UTC (5 years, 5 months ago) by flxd
Branch: MAIN
Changes since 1.357: +16 -27
lines
Diff to previous 1.357 (colored)
Revert attempt at tracking unmanaged mappings for VIVT as it was incomplete and buggy. PR port-shark/52102 From skrll@. Tested by martin@ and me.
Revision 1.357 / (download) - annotate - [select for diffs], Wed Sep 6 11:51:33 2017 UTC (5 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.356: +2 -5
lines
Diff to previous 1.356 (colored)
Remove useless KASSERT - we can't assert !mutex_owned()
Revision 1.356 / (download) - annotate - [select for diffs], Sat Sep 2 12:24:39 2017 UTC (5 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.355: +28 -17
lines
Diff to previous 1.355 (colored)
Perform tracking of unmanaged mappings for VIVT and call vac_me_harder as appropriate. PR/52102 shark: ffs_newvnode panic when unpacking sets installing -current Thanks to Felix Deichmann for bisecting the problem and testing the fix.
Revision 1.355 / (download) - annotate - [select for diffs], Sat Sep 2 11:57:09 2017 UTC (5 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.354: +5 -8
lines
Diff to previous 1.354 (colored)
KNF
Revision 1.354 / (download) - annotate - [select for diffs], Sat Sep 2 11:52:30 2017 UTC (5 years, 6 months ago) by skrll
Branch: MAIN
Changes since 1.353: +2 -4
lines
Diff to previous 1.353 (colored)
Remove an #ifdef PMAP_CACHE_VIVT that's inside #ifdef PMAP_CACHE_VIVT already
Revision 1.316.2.7 / (download) - annotate - [select for diffs], Mon Aug 28 17:51:29 2017 UTC (5 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.316.2.6: +195 -202
lines
Diff to previous 1.316.2.6 (colored) to branchpoint 1.316 (colored) next main 1.317 (colored)
Sync with HEAD
Revision 1.353 / (download) - annotate - [select for diffs], Thu Aug 24 14:19:36 2017 UTC (5 years, 7 months ago) by jmcneill
Branch: MAIN
CVS Tags: nick-nhusb-base-20170825
Changes since 1.352: +16 -7
lines
Diff to previous 1.352 (colored)
Do runtime detection of MP extensions to allow using a MULTIPROCESSOR kernel on CPUs without the MP extensions feature (like Cortex-A8).
Revision 1.352 / (download) - annotate - [select for diffs], Thu Jul 27 10:56:42 2017 UTC (5 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.351: +3 -3
lines
Diff to previous 1.351 (colored)
Macro confusion - fortunately this has no functional change.
Revision 1.351 / (download) - annotate - [select for diffs], Thu Jul 27 08:10:41 2017 UTC (5 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.350: +3 -4
lines
Diff to previous 1.350 (colored)
Remove redundant test - the compiler realised anyway as we get same binary output
Revision 1.350 / (download) - annotate - [select for diffs], Mon Jul 10 09:30:58 2017 UTC (5 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: perseant-stdc-iso10646-base,
perseant-stdc-iso10646
Changes since 1.349: +3 -3
lines
Diff to previous 1.349 (colored)
No need for '\n' in UVMHIST_LOG
Revision 1.295.2.11 / (download) - annotate - [select for diffs], Sat Jun 3 17:01:30 2017 UTC (5 years, 9 months ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-2-RELEASE
Changes since 1.295.2.10: +18 -26
lines
Diff to previous 1.295.2.10 (colored) to branchpoint 1.295 (colored) next main 1.296 (colored)
Pull up following revision(s) (requested by skrll in ticket #1424): sys/arch/arm/arm32/pmap.c: revision 1.345 Perform icache syncs for ARM_MMU_EXTENDED as well. This helps the PT_STEP code in pr/52119 and probably other things.
Revision 1.349 / (download) - annotate - [select for diffs], Wed May 24 06:31:07 2017 UTC (5 years, 10 months ago) by skrll
Branch: MAIN
CVS Tags: netbsd-8-base
Branch point for: netbsd-8
Changes since 1.348: +4 -2
lines
Diff to previous 1.348 (colored)
Check the "Havard TLB" maintenance operations if the "Unified TLB" maintenance opeations don't include invalidate by ASID. Some CPUs, e.g. Cortex-A8, have Havard TLBs and report ASID operations this way.
Revision 1.348 / (download) - annotate - [select for diffs], Wed May 24 06:27:33 2017 UTC (5 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.347: +148 -159
lines
Diff to previous 1.347 (colored)
Move closer to the common pmap by using the same pmap_remove_all optimisation where TLB flushes are avoided by clever ASID assignment. pmap_remove_all_complete can now be removed.
Revision 1.347 / (download) - annotate - [select for diffs], Mon May 22 06:35:04 2017 UTC (5 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.346: +10 -9
lines
Diff to previous 1.346 (colored)
Indent comment to match code it's describing
Revision 1.346 / (download) - annotate - [select for diffs], Sun May 21 07:06:51 2017 UTC (5 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.345: +4 -3
lines
Diff to previous 1.345 (colored)
KNF
Revision 1.335.2.4 / (download) - annotate - [select for diffs], Wed Apr 26 02:53:00 2017 UTC (5 years, 10 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.335.2.3: +18 -26
lines
Diff to previous 1.335.2.3 (colored) to branchpoint 1.335 (colored) next main 1.336 (colored)
Sync with HEAD
Revision 1.342.2.1 / (download) - annotate - [select for diffs], Fri Apr 21 16:53:22 2017 UTC (5 years, 11 months ago) by bouyer
Branch: bouyer-socketcan
Changes since 1.342: +25 -33
lines
Diff to previous 1.342 (colored) next main 1.343 (colored)
Sync with HEAD
Revision 1.345 / (download) - annotate - [select for diffs], Mon Apr 17 14:52:52 2017 UTC (5 years, 11 months ago) by skrll
Branch: MAIN
CVS Tags: prg-localcount2-base3,
prg-localcount2-base2,
prg-localcount2-base1,
prg-localcount2-base,
prg-localcount2,
pgoyette-localcount-20170426,
bouyer-socketcan-base1
Changes since 1.344: +18 -26
lines
Diff to previous 1.344 (colored)
Perform icache syncs for ARM_MMU_EXTENDED as well. This helps the PT_STEP code in pr/52119 and probably other things.
Revision 1.335.2.3 / (download) - annotate - [select for diffs], Mon Mar 20 06:57:10 2017 UTC (6 years ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.335.2.2: +9 -9
lines
Diff to previous 1.335.2.2 (colored) to branchpoint 1.335 (colored)
Sync with HEAD
Revision 1.295.2.8.2.1 / (download) - annotate - [select for diffs], Mon Mar 13 07:41:26 2017 UTC (6 years ago) by skrll
Branch: netbsd-7-nhusb
Changes since 1.295.2.8: +9 -9
lines
Diff to previous 1.295.2.8 (colored) next main 1.295.2.9 (colored)
Sync with netbsd-7-1-RELEASE
Revision 1.295.2.10 / (download) - annotate - [select for diffs], Sat Mar 11 16:03:54 2017 UTC (6 years ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-1-RELEASE,
netbsd-7-1-2-RELEASE,
netbsd-7-1-1-RELEASE,
netbsd-7-1
Changes since 1.295.2.9: +3 -3
lines
Diff to previous 1.295.2.9 (colored) to branchpoint 1.295 (colored)
fix fallout from ticket #1366: __nothing is nothing on netbsd-7
Revision 1.295.2.9 / (download) - annotate - [select for diffs], Sat Mar 11 07:40:21 2017 UTC (6 years ago) by snj
Branch: netbsd-7
Changes since 1.295.2.8: +9 -9
lines
Diff to previous 1.295.2.8 (colored) to branchpoint 1.295 (colored)
Pull up following revision(s) (requested by skrll in ticket #1366): sys/arch/arm/include/arm32/pmap.h: 1.145 sys/arch/arm/arm32/pmap.c: 1.343, 1.344 sys/arch/evbarm/gumstix/gumstix_machdep.c: 1.58 via patch Fixup the compile time decisions around PMAP_{INCLUDE,NEEDS}_PTE_SYNC and fix the options for xscale boards which require the code in pmap_l2ptp_ctor marked as #ifndef PMAP_INCLUDE_PTE_SYNC. Fix the typo (pte -> opte) in this code block and consistently use opte elsewhere. PR/51990: Regression data_abort_handler: data_aborts fsr=0x406 far=0xbfffeff5 on copyout in init -- fix unused. -- Set xscale_cache_clean_addr appropriately and re-arrange default KVA layout to allow direct map for all boards. OVERO/DUOVERO/PEPPER aren't tested. PR/52010: Regression: Gumstix Verdex is hanging in enabling cache + KASSERT ram_size
Revision 1.344 / (download) - annotate - [select for diffs], Sat Feb 25 16:48:03 2017 UTC (6 years ago) by christos
Branch: MAIN
CVS Tags: pgoyette-localcount-20170320,
jdolecek-ncq-base,
jdolecek-ncq
Changes since 1.343: +5 -5
lines
Diff to previous 1.343 (colored)
fix unused.
Revision 1.343 / (download) - annotate - [select for diffs], Thu Feb 23 08:22:20 2017 UTC (6 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.342: +6 -6
lines
Diff to previous 1.342 (colored)
Fixup the compile time decisions around PMAP_{INCLUDE,NEEDS}_PTE_SYNC and fix the options for xscale boards which require the code in pmap_l2ptp_ctor marked as #ifndef PMAP_INCLUDE_PTE_SYNC. Fix the typo (pte -> opte) in this code block and consistently use opte elsewhere. PR/51990: Regression data_abort_handler: data_aborts fsr=0x406 far=0xbfffeff5 on copyout in init
Revision 1.316.2.6 / (download) - annotate - [select for diffs], Sun Feb 5 13:40:03 2017 UTC (6 years, 1 month ago) by skrll
Branch: nick-nhusb
Changes since 1.316.2.5: +5 -5
lines
Diff to previous 1.316.2.5 (colored) to branchpoint 1.316 (colored)
Sync with HEAD
Revision 1.335.2.2 / (download) - annotate - [select for diffs], Sat Jan 7 08:56:10 2017 UTC (6 years, 2 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.335.2.1: +5 -5
lines
Diff to previous 1.335.2.1 (colored) to branchpoint 1.335 (colored)
Sync with HEAD. (Note that most of these changes are simply $NetBSD$ tag issues.)
Revision 1.342 / (download) - annotate - [select for diffs], Fri Dec 23 07:15:27 2016 UTC (6 years, 3 months ago) by cherry
Branch: MAIN
CVS Tags: pgoyette-localcount-20170107,
nick-nhusb-base-20170204,
bouyer-socketcan-base
Branch point for: bouyer-socketcan
Changes since 1.341: +4 -4
lines
Diff to previous 1.341 (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.341 / (download) - annotate - [select for diffs], Sat Dec 17 14:36:29 2016 UTC (6 years, 3 months ago) by flxd
Branch: MAIN
Changes since 1.340: +3 -3
lines
Diff to previous 1.340 (colored)
Fix typo "one the" and architecture where appropriate.
Revision 1.316.2.5 / (download) - annotate - [select for diffs], Wed Oct 5 20:55:24 2016 UTC (6 years, 5 months ago) by skrll
Branch: nick-nhusb
Changes since 1.316.2.4: +84 -21
lines
Diff to previous 1.316.2.4 (colored) to branchpoint 1.316 (colored)
Sync with HEAD
Revision 1.335.2.1 / (download) - annotate - [select for diffs], Sat Aug 6 00:19:04 2016 UTC (6 years, 7 months ago) by pgoyette
Branch: pgoyette-localcount
Changes since 1.335: +79 -39
lines
Diff to previous 1.335 (colored)
Sync with HEAD
Revision 1.340 / (download) - annotate - [select for diffs], Thu Aug 4 08:46:06 2016 UTC (6 years, 7 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-20161104,
pgoyette-localcount-20160806,
nick-nhusb-base-20161204,
nick-nhusb-base-20161004,
localcount-20160914
Changes since 1.339: +4 -3
lines
Diff to previous 1.339 (colored)
provide and use 'ci' in pmap_remove_all_complete.
Revision 1.339 / (download) - annotate - [select for diffs], Wed Aug 3 15:59:58 2016 UTC (6 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.338: +35 -14
lines
Diff to previous 1.338 (colored)
Don't touch pm_onproc at all in pmap_{update,destroy} and adjust KASSERT to suit. Update to cover the PMAP_TLB_MAX > 1 case as well while I'm here.
Revision 1.338 / (download) - annotate - [select for diffs], Mon Aug 1 18:28:38 2016 UTC (6 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.337: +44 -38
lines
Diff to previous 1.337 (colored)
pm_remove_all needs handling in pmap_destroy as well as pmap_update
Revision 1.337 / (download) - annotate - [select for diffs], Fri Jul 29 15:38:05 2016 UTC (6 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.336: +14 -2
lines
Diff to previous 1.336 (colored)
more debug
Revision 1.336 / (download) - annotate - [select for diffs], Fri Jul 29 09:47:09 2016 UTC (6 years, 7 months ago) by skrll
Branch: MAIN
Changes since 1.335: +7 -7
lines
Diff to previous 1.335 (colored)
Simplify ARM_MMU_EXTENDED #ifdefs No functional change
Revision 1.335 / (download) - annotate - [select for diffs], Thu Jul 14 15:51:41 2016 UTC (6 years, 8 months ago) by skrll
Branch: MAIN
CVS Tags: pgoyette-localcount-base,
pgoyette-localcount-20160726
Branch point for: pgoyette-localcount
Changes since 1.334: +26 -3
lines
Diff to previous 1.334 (colored)
Adapt this to the recent sys/uvm/pmap/pmap_tlb.c changes. MP kernels now don't trigger KASSERTs
Revision 1.334 / (download) - annotate - [select for diffs], Thu Jul 14 05:00:51 2016 UTC (6 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.333: +3 -3
lines
Diff to previous 1.333 (colored)
Spell PMAP_TLB_NEED_SHOOTDOWN correctly
Revision 1.333 / (download) - annotate - [select for diffs], Tue Jul 12 15:40:53 2016 UTC (6 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.332: +3 -3
lines
Diff to previous 1.332 (colored)
Fix harmless (?) typo
Revision 1.295.2.8 / (download) - annotate - [select for diffs], Fri Feb 26 22:31:06 2016 UTC (7 years ago) by snj
Branch: netbsd-7
CVS Tags: netbsd-7-nhusb-base-20170116,
netbsd-7-nhusb-base,
netbsd-7-1-RC2,
netbsd-7-1-RC1
Branch point for: netbsd-7-nhusb
Changes since 1.295.2.7: +2 -23
lines
Diff to previous 1.295.2.7 (colored) to branchpoint 1.295 (colored)
Pull up following revision(s) (requested by skrll in ticket #1106): sys/arch/arm/arm32/pmap.c: revision 1.332 Delete pmap_pmaps and its only user pmap_dump_all. The list wasn't being updated in an MP-safe manner.
Revision 1.316.2.4 / (download) - annotate - [select for diffs], Sun Dec 27 12:09:30 2015 UTC (7 years, 2 months ago) by skrll
Branch: nick-nhusb
Changes since 1.316.2.3: +64 -44
lines
Diff to previous 1.316.2.3 (colored) to branchpoint 1.316 (colored)
Sync with HEAD (as of 26th Dec)
Revision 1.332 / (download) - annotate - [select for diffs], Mon Dec 14 09:48:40 2015 UTC (7 years, 3 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base-20160907,
nick-nhusb-base-20160529,
nick-nhusb-base-20160422,
nick-nhusb-base-20160319,
nick-nhusb-base-20151226
Changes since 1.331: +2 -23
lines
Diff to previous 1.331 (colored)
Delete pmap_pmaps and its only user pmap_dump_all. The list wasn't being updated in an MP-safe manner.
Revision 1.331 / (download) - annotate - [select for diffs], Wed Nov 25 08:36:50 2015 UTC (7 years, 3 months ago) by skrll
Branch: MAIN
Changes since 1.330: +11 -16
lines
Diff to previous 1.330 (colored)
In the ARM_MMU_EXTENDED case make sure the kernel mappings are marked with XN (eXecute Never) appropriately. The XN logic is inconsistent and could do with changing to XN always set and cleared for VM_PROT_EXECUTE (or the inverse) everywhere.
Revision 1.330 / (download) - annotate - [select for diffs], Fri Nov 13 08:04:21 2015 UTC (7 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.329: +6 -4
lines
Diff to previous 1.329 (colored)
Tweak the KASSERTs in pmap_update in the ARM_MMU_EXTENDED case - Lazy updating is not done on the kernel pmap. PR port-arm/50420: curcpu()->ci_pmap_cur != pm || pm->pm_pai[0].pai_asid == curcpu()->ci_pmap_asid_cur" failed
Revision 1.329 / (download) - annotate - [select for diffs], Fri Nov 13 07:55:18 2015 UTC (7 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.328: +13 -4
lines
Diff to previous 1.328 (colored)
Wrap long lines.
Revision 1.328 / (download) - annotate - [select for diffs], Wed Nov 11 17:54:17 2015 UTC (7 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.327: +42 -7
lines
Diff to previous 1.327 (colored)
Support pmap_pv_track and friends
Revision 1.327 / (download) - annotate - [select for diffs], Fri Nov 6 08:44:35 2015 UTC (7 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.326: +3 -3
lines
Diff to previous 1.326 (colored)
Trailing whitespace
Revision 1.316.2.3 / (download) - annotate - [select for diffs], Tue Sep 22 12:05:37 2015 UTC (7 years, 6 months ago) by skrll
Branch: nick-nhusb
Changes since 1.316.2.2: +7 -7
lines
Diff to previous 1.316.2.2 (colored) to branchpoint 1.316 (colored)
Sync with HEAD
Revision 1.326 / (download) - annotate - [select for diffs], Sun Jul 26 00:15:53 2015 UTC (7 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base-20150921
Changes since 1.325: +3 -3
lines
Diff to previous 1.325 (colored)
KASSERT->KASSERTMSG
Revision 1.325 / (download) - annotate - [select for diffs], Tue Jun 9 10:44:55 2015 UTC (7 years, 9 months ago) by skrll
Branch: MAIN
Changes since 1.324: +6 -6
lines
Diff to previous 1.324 (colored)
Use armreg_auxctl_{read,write} instead of inline asm. No functional change.
Revision 1.316.2.2 / (download) - annotate - [select for diffs], Sat Jun 6 14:39:55 2015 UTC (7 years, 9 months ago) by skrll
Branch: nick-nhusb
Changes since 1.316.2.1: +38 -23
lines
Diff to previous 1.316.2.1 (colored) to branchpoint 1.316 (colored)
Sync with HEAD
Revision 1.324 / (download) - annotate - [select for diffs], Mon Jun 1 19:16:44 2015 UTC (7 years, 9 months ago) by matt
Branch: MAIN
CVS Tags: nick-nhusb-base-20150606
Changes since 1.323: +13 -17
lines
Diff to previous 1.323 (colored)
pmap_directbase is a failed experiment, nuke it.
Revision 1.323 / (download) - annotate - [select for diffs], Sat May 30 23:59:33 2015 UTC (7 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.322: +4 -3
lines
Diff to previous 1.322 (colored)
Support directmapped systems with >1GB that start memory at 0x80000000.
Revision 1.295.2.7 / (download) - annotate - [select for diffs], Wed May 27 05:33:29 2015 UTC (7 years, 9 months ago) by msaitoh
Branch: netbsd-7
CVS Tags: 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
Changes since 1.295.2.6: +3 -5
lines
Diff to previous 1.295.2.6 (colored) to branchpoint 1.295 (colored)
Pull up following revision(s) (requested by skrll in ticket #805): sys/arch/arm/include/arm32/pmap.h: revision 1.138 sys/arch/arm/arm/cpufunc.c: revision 1.151 sys/arch/arm/arm32/bus_dma.c: revision 1.90 sys/arch/arm/broadcom/bcm53xx_pax.c: revision 1.14 sys/arch/arm/arm32/bus_dma.c: revision 1.91 sys/arch/arm/samsung/exynos_space.c: revision 1.2 sys/arch/arm/arm32/db_machdep.c: revision 1.23 sys/arch/arm/allwinner/awin_space.c: revision 1.4 sys/arch/arm/include/rwlock.h: revision 1.9 sys/arch/arm/amlogic/amlogic_space.c: revision 1.2 sys/arch/arm/zynq/zynq_space.c: revision 1.2 sys/arch/arm/broadcom/bcm2835_space.c: revision 1.7 sys/arch/arm/arm32/pmap.c: revision 1.317 sys/arch/arm/include/locore.h: revision 1.19 sys/arch/arm/include/mutex.h: revision 1.20 sys/arch/arm/include/lock.h: revision 1.31 sys/arch/arm/include/lock.h: revision 1.32 sys/arch/arm/broadcom/bcmgen_space.c: revision 1.5 - Kill redundant semicolons. - Indentation. - Improve inline asm around dsb/dmb/isb: - always use volatile and mark them as memory barrier - use the common version from locore.h in all places not included from userland
Revision 1.295.2.6 / (download) - annotate - [select for diffs], Tue May 26 01:34:40 2015 UTC (7 years, 10 months ago) by msaitoh
Branch: netbsd-7
Changes since 1.295.2.5: +13 -5
lines
Diff to previous 1.295.2.5 (colored) to branchpoint 1.295 (colored)
Pull up following revision(s) (requested by skrll in ticket #800): sys/arch/arm/arm32/pmap.c: revision 1.320 sys/arch/arm/arm32/pmap.c: revision 1.321 sys/arch/arm/arm32/pmap.c: revision 1.322 sys/arch/arm/arm32/pmap.c: revision 1.319 - include "opt_arm_debug.h" for VERBOSE_INIT_ARM - Add pmap locking to pmap_kenter_pa/kremove - Make sure nptes is a multiple of PAGE_SIZE / L2_S_SIZE. - Use PDE_SYNC when syncing pdeps
Revision 1.295.2.5 / (download) - annotate - [select for diffs], Tue May 19 04:58:31 2015 UTC (7 years, 10 months ago) by snj
Branch: netbsd-7
Changes since 1.295.2.4: +4 -6
lines
Diff to previous 1.295.2.4 (colored) to branchpoint 1.295 (colored)
Pull up following revision(s) (requested by joerg in ticket #777): sys/arch/arm/arm32/pmap.c: revision 1.308 pmap_tlb_flushD is for !ARM_MMU_EXTENDED only now
Revision 1.322 / (download) - annotate - [select for diffs], Wed May 13 15:33:47 2015 UTC (7 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.321: +5 -5
lines
Diff to previous 1.321 (colored)
Use PDE_SYNC when syncing pdeps
Revision 1.321 / (download) - annotate - [select for diffs], Mon May 11 22:28:22 2015 UTC (7 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.320: +4 -2
lines
Diff to previous 1.320 (colored)
Make sure nptes is a multiple of PAGE_SIZE / L2_S_SIZE.
Revision 1.320 / (download) - annotate - [select for diffs], Mon Apr 13 16:19:42 2015 UTC (7 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.319: +7 -2
lines
Diff to previous 1.319 (colored)
Add pmap locking to pmap_kenter_pa/kremove
Revision 1.319 / (download) - annotate - [select for diffs], Sat Apr 11 15:21:33 2015 UTC (7 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.318: +3 -2
lines
Diff to previous 1.318 (colored)
#include "opt_arm_debug.h" for VERBOSE_INIT_ARM
Revision 1.295.2.4 / (download) - annotate - [select for diffs], Fri Apr 10 20:17:52 2015 UTC (7 years, 11 months ago) by snj
Branch: netbsd-7
Changes since 1.295.2.3: +13 -3
lines
Diff to previous 1.295.2.3 (colored) to branchpoint 1.295 (colored)
Pull up following revision(s) (requested by skrll in ticket #669): sys/arch/arm/arm32/pmap.c: revision 1.318 Fix two bugs. pmap_is_cached fix for MULTIPROCESSOR (not just ASID on local cpu -> any valid ASID on any cpu). pmap_deactivate: update curcpu()->ci_pmap_cur_asid to KERNEL_PID too.
Revision 1.318 / (download) - annotate - [select for diffs], Tue Apr 7 20:36:21 2015 UTC (7 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.317: +13 -3
lines
Diff to previous 1.317 (colored)
Fix two bugs. pmap_is_cached fix for MULTIPROCESSOR (not just ASID on local cpu -> any valid ASID on any cpu). pmap_deactivate: update curcpu()->ci_pmap_cur_asid to KERNEL_PID too.
Revision 1.316.2.1 / (download) - annotate - [select for diffs], Mon Apr 6 15:17:52 2015 UTC (7 years, 11 months ago) by skrll
Branch: nick-nhusb
Changes since 1.316: +3 -5
lines
Diff to previous 1.316 (colored)
Sync with HEAD
Revision 1.317 / (download) - annotate - [select for diffs], Wed Feb 25 13:52:42 2015 UTC (8 years ago) by joerg
Branch: MAIN
CVS Tags: nick-nhusb-base-20150406
Changes since 1.316: +3 -5
lines
Diff to previous 1.316 (colored)
Improve inline asm around dsb/dmb/isb: - always use volatile and mark them as memory barrier - use the common version from locore.h in all places not included from userland
Revision 1.295.2.3 / (download) - annotate - [select for diffs], Mon Nov 10 19:57:26 2014 UTC (8 years, 4 months ago) by martin
Branch: netbsd-7
Changes since 1.295.2.2: +29 -14
lines
Diff to previous 1.295.2.2 (colored) to branchpoint 1.295 (colored)
Pull up following revision(s) (requested by skrll in ticket #209): sys/arch/arm/pic/pic.c: revision 1.25 sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.21 sys/arch/arm/arm32/pmap.c: revision 1.312 sys/arch/arm/arm32/bus_dma.c: revision 1.89 sys/arch/arm/arm32/pmap.c: revision 1.313 sys/arch/arm/arm32/pmap.c: revision 1.314 sys/arch/arm/arm32/pmap.c: revision 1.315 sys/arch/arm/arm32/pmap.c: revision 1.316 Include opt_multiprocessor.h When allocing a l1page, if a page isn't available, use uvm_wait to wait for one to become available. Should fix PR/49364. Post a dmb before invalidating the cache in the post-{read,write} operations to ensure that any/all cachelines brought in via speculation are really flushed. Ensure all memory operations are complete by before wfi. For example, the cpu could have just been in uvm_pageidlezero. In pmap_fault_fixup re-instate the TLB flush for the shared L1 case that occurs for non-ARM_MMU_EXTENDED kernels. This fixes rump/rumpkern/t_sp:stress_killer on rpi which is currently non-ARM_MMU_EXTENDED Remove an unnecessary flush that sneaked in as part of break-before-make change. Remove an XXXNH comment. Update PTE_SYNC_CURRENT to add a dsb for armv7 - part of the break-before-make fix.
Revision 1.316 / (download) - annotate - [select for diffs], Mon Nov 10 15:46:33 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
CVS Tags: nick-nhusb-base
Branch point for: nick-nhusb
Changes since 1.315: +14 -8
lines
Diff to previous 1.315 (colored)
Update PTE_SYNC_CURRENT to add a dsb for armv7 - part of the break-before-make fix.
Revision 1.315 / (download) - annotate - [select for diffs], Mon Nov 10 14:37:14 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.314: +2 -3
lines
Diff to previous 1.314 (colored)
Remove an XXXNH comment.
Revision 1.314 / (download) - annotate - [select for diffs], Mon Nov 10 14:35:59 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.313: +2 -3
lines
Diff to previous 1.313 (colored)
Remove an unnecessary flush that sneaked in as part of break-before-make change.
Revision 1.313 / (download) - annotate - [select for diffs], Mon Nov 10 14:33:00 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.312: +8 -2
lines
Diff to previous 1.312 (colored)
In pmap_fault_fixup re-instate the TLB flush for the shared L1 case that occurs for non-ARM_MMU_EXTENDED kernels. This fixes rump/rumpkern/t_sp:stress_killer on rpi which is currently non-ARM_MMU_EXTENDED
Revision 1.295.2.2 / (download) - annotate - [select for diffs], Sun Nov 9 16:05:25 2014 UTC (8 years, 4 months ago) by martin
Branch: netbsd-7
Changes since 1.295.2.1: +83 -35
lines
Diff to previous 1.295.2.1 (colored) to branchpoint 1.295 (colored)
Pull up following revision(s) (requested by skrll in ticket #188): sys/arch/arm/include/arm32/pmap.h: revision 1.136 sys/arch/arm/include/armreg.h: revision 1.100 sys/arch/arm/cortex/gic.c: revision 1.11 sys/arch/arm/arm32/db_interface.c: revision 1.54 sys/arch/arm/include/armreg.h: revision 1.101 sys/arch/arm/cortex/gic.c: revision 1.12 sys/arch/arm/arm32/arm32_machdep.c: revision 1.107 sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.19 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.20 sys/arch/evbarm/conf/BPI: revision 1.5 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.21 sys/arch/arm/arm32/pmap.c: revision 1.306 sys/arch/arm/arm32/db_machdep.c: revision 1.22 sys/arch/arm/arm32/arm32_tlb.c: revision 1.3 sys/arch/arm/arm/undefined.c: revision 1.55 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.22 sys/arch/arm/arm32/pmap.c: revision 1.307 sys/arch/arm/arm32/arm32_tlb.c: revision 1.4 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.23 sys/arch/arm/arm32/arm32_tlb.c: revision 1.5 sys/arch/evbarm/conf/BPI: revision 1.8 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.24 sys/arch/arm/arm32/arm32_tlb.c: revision 1.6 sys/arch/arm/arm32/arm32_tlb.c: revision 1.7 sys/arch/evbarm/conf/CUBIETRUCK: revision 1.5 sys/arch/arm/pic/pic.c: revision 1.23 sys/arch/arm/pic/pic.c: revision 1.24 sys/arch/arm/pic/picvar.h: revision 1.11 sys/arch/arm/arm/cpufunc_asm_armv7.S: revision 1.20 sys/arch/arm/mainbus/cpu_mainbus.c: revision 1.16 sys/arch/arm/arm32/pmap.c: revision 1.298 sys/arch/arm/arm/cpufunc_asm_arm11.S: revision 1.17 sys/arch/arm/arm/cpufunc_asm_pj4b.S: revision 1.5 sys/arch/arm/arm32/pmap.c: revision 1.310 sys/arch/arm/arm32/pmap.c: revision 1.311 sys/arch/arm/arm32/arm32_kvminit.c: revision 1.32 sys/arch/arm/cortex/a9_mpsubr.S: revision 1.19 sys/arch/arm/arm32/arm32_boot.c: revision 1.10 sys/arch/arm/arm/ast.c: revision 1.25 sys/arch/arm/include/armreg.h: revision 1.98 sys/uvm/pmap/pmap_tlb.c: revision 1.10 sys/arch/arm/arm32/arm32_boot.c: revision 1.8 sys/arch/arm/arm32/arm32_boot.c: revision 1.9 sys/arch/arm/arm/arm_machdep.c: revision 1.43 Various ARM MP fixes.
Revision 1.312 / (download) - annotate - [select for diffs], Sat Nov 8 08:01:34 2014 UTC (8 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.311: +11 -6
lines
Diff to previous 1.311 (colored)
When allocing a l1page, if a page isn't available, use uvm_wait to wait for one to become available. Should fix PR/49364.
Revision 1.311 / (download) - annotate - [select for diffs], Fri Nov 7 12:44:58 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.310: +4 -2
lines
Diff to previous 1.310 (colored)
The fixup debug message can report false positives on MULTIPROCESSOR, so disable them there.
Revision 1.310 / (download) - annotate - [select for diffs], Fri Nov 7 12:43:36 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.309: +5 -4
lines
Diff to previous 1.309 (colored)
In pmap_enter only flush the TLB if really necessary
Revision 1.309 / (download) - annotate - [select for diffs], Wed Nov 5 09:13:16 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.308: +3 -3
lines
Diff to previous 1.308 (colored)
Fix typo in comment
Revision 1.308 / (download) - annotate - [select for diffs], Tue Nov 4 23:58:21 2014 UTC (8 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.307: +4 -6
lines
Diff to previous 1.307 (colored)
pmap_tlb_flushD is for !ARM_MMU_EXTENDED only now
Revision 1.295.2.1 / (download) - annotate - [select for diffs], Thu Oct 30 12:14:36 2014 UTC (8 years, 4 months ago) by martin
Branch: netbsd-7
Changes since 1.295: +2 -8
lines
Diff to previous 1.295 (colored)
Pull up following revision(s) (requested by maxv in ticket #165): sys/arch/newsmips/stand/boot/netif_news.c: revision 1.9 sys/arch/mvme68k/stand/installboot/installboot.c: revision 1.19 sys/arch/arm/arm32/pmap.c: revision 1.300 sys/arch/amiga/dev/siop2.c: revision 1.43 sys/arch/amiga/amiga/disksubr.c: revision 1.62 sys/arch/news68k/news68k/bus_space.c: revision 1.13 sys/arch/amiga/dev/siop.c: revision 1.69 sys/arch/x86/x86/x86_autoconf.c: revision 1.72 Remove dead code in various places under arch/.
Revision 1.307 / (download) - annotate - [select for diffs], Wed Oct 29 22:52:21 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.306: +77 -31
lines
Diff to previous 1.306 (colored)
Apply a bunch of break-before-make, i.e. set PTEs to zero, flush the TLB (across all CPUs) and set new PTE value. Mostly from matt@ with some updates from me. Flush the branch predictor in pmap_update.
Revision 1.306 / (download) - annotate - [select for diffs], Wed Oct 29 22:11:34 2014 UTC (8 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.305: +3 -4
lines
Diff to previous 1.305 (colored)
In pmap_deactivate don't set TTBR with the ASID of the deactivated LWP - use KERNEL_PID instead. This is probably a no-op as TTBCR_S_PD0 should (still) be set at the time of the call to cpu_setttb.
Revision 1.305 / (download) - annotate - [select for diffs], Sat Oct 25 10:58:12 2014 UTC (8 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.304: +2 -3
lines
Diff to previous 1.304 (colored)
Remove katelib.h and references to it. {Read,Write}{Word,Byte} macros are provided in the files that still use them. Someone(tm) should convert them to bus_space(9)
Revision 1.304 / (download) - annotate - [select for diffs], Mon Oct 20 07:13:27 2014 UTC (8 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.303: +6 -19
lines
Diff to previous 1.303 (colored)
Reduce code a little. Reviewed by gimpy.
Revision 1.303 / (download) - annotate - [select for diffs], Tue Oct 14 12:31:14 2014 UTC (8 years, 5 months ago) by skrll
Branch: MAIN
Changes since 1.302: +3 -3
lines
Diff to previous 1.302 (colored)
Typo in comment
Revision 1.302 / (download) - annotate - [select for diffs], Tue Sep 23 06:31:54 2014 UTC (8 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.301: +4 -6
lines
Diff to previous 1.301 (colored)
Use right conditional for checking nG.
Revision 1.301 / (download) - annotate - [select for diffs], Tue Sep 23 05:45:01 2014 UTC (8 years, 6 months ago) by nonaka
Branch: MAIN
Changes since 1.300: +7 -3
lines
Diff to previous 1.300 (colored)
nG bit exists only in ARMv6 and above.
Revision 1.300 / (download) - annotate - [select for diffs], Sun Sep 21 15:45:46 2014 UTC (8 years, 6 months ago) by christos
Branch: MAIN
Changes since 1.299: +2 -8
lines
Diff to previous 1.299 (colored)
remove dead code
Revision 1.299 / (download) - annotate - [select for diffs], Fri Sep 5 05:25:28 2014 UTC (8 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.298: +10 -8
lines
Diff to previous 1.298 (colored)
Don't nest structure definitions.
Revision 1.298 / (download) - annotate - [select for diffs], Sat Aug 30 13:02:01 2014 UTC (8 years, 6 months ago) by kiyohara
Branch: MAIN
Changes since 1.297: +3 -3
lines
Diff to previous 1.297 (colored)
It expects return value 'va != NULL' from uvm_km_alloc().
Revision 1.236.2.4 / (download) - annotate - [select for diffs], Wed Aug 20 00:02:45 2014 UTC (8 years, 7 months ago) by tls
Branch: tls-maxphys
Changes since 1.236.2.3: +1902 -1113
lines
Diff to previous 1.236.2.3 (colored)
Rebase to HEAD as of a few days ago.
Revision 1.297 / (download) - annotate - [select for diffs], Wed Aug 13 15:06:28 2014 UTC (8 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.296: +4 -2
lines
Diff to previous 1.296 (colored)
Fix for PR/49061 only kassert in pmap_kenter_pa if PMAP_CACHE_PIVT && !ARM_MMU_EXTENDED
Revision 1.296 / (download) - annotate - [select for diffs], Wed Aug 13 05:56:03 2014 UTC (8 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.295: +16 -8
lines
Diff to previous 1.295 (colored)
Fix for PR/49107. Make sure pmap_copy_page_xscale clears the ptes afters its done with them.
Revision 1.280.2.1 / (download) - annotate - [select for diffs], Sun Aug 10 06:53:50 2014 UTC (8 years, 7 months ago) by tls
Branch: tls-earlyentropy
Changes since 1.280: +179 -86
lines
Diff to previous 1.280 (colored) next main 1.281 (colored)
Rebase.
Revision 1.295 / (download) - annotate - [select for diffs], Fri Jul 25 15:09:43 2014 UTC (8 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: tls-maxphys-base,
tls-earlyentropy-base,
netbsd-7-base
Branch point for: netbsd-7
Changes since 1.294: +4 -3
lines
Diff to previous 1.294 (colored)
PTE_SYNC_RANGE a newly allocated L1 page for ARM_MMU_EXTENDED
Revision 1.294 / (download) - annotate - [select for diffs], Sun Jun 15 04:04:01 2014 UTC (8 years, 9 months ago) by ozaki-r
Branch: MAIN
Changes since 1.293: +3 -3
lines
Diff to previous 1.293 (colored)
Add missing semicolon
Revision 1.293 / (download) - annotate - [select for diffs], Thu Jun 5 03:45:48 2014 UTC (8 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.292: +3 -3
lines
Diff to previous 1.292 (colored)
Fix occupancy bug.
Revision 1.224.2.5 / (download) - annotate - [select for diffs], Thu May 22 11:39:31 2014 UTC (8 years, 10 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.224.2.4: +2033 -1140
lines
Diff to previous 1.224.2.4 (colored) to branchpoint 1.224 (colored) next main 1.225 (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.257.2.2 / (download) - annotate - [select for diffs], Sun May 18 17:44:56 2014 UTC (8 years, 10 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.257.2.1: +1718 -841
lines
Diff to previous 1.257.2.1 (colored) next main 1.258 (colored)
sync with head
Revision 1.292 / (download) - annotate - [select for diffs], Wed Apr 30 21:15:06 2014 UTC (8 years, 10 months ago) by joerg
Branch: MAIN
CVS Tags: yamt-pagecache-base9,
rmind-smpnet-nbase,
rmind-smpnet-base
Changes since 1.291: +3 -3
lines
Diff to previous 1.291 (colored)
pmap_is_current might be unused, tag it as such.
Revision 1.291 / (download) - annotate - [select for diffs], Tue Apr 22 14:20:03 2014 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.290: +3 -3
lines
Diff to previous 1.290 (colored)
Remove stray comment.
Revision 1.290 / (download) - annotate - [select for diffs], Tue Apr 22 14:00:45 2014 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.289: +6 -10
lines
Diff to previous 1.289 (colored)
Call pmap_free_l2_bucket for the kernel pmap so that l2b_occupancy is updated. pmap_free_l2_bucket already deals with the kernel pmap properly. ok matt@ Should fix the panic: kernel debugging assertion "mappings <= l2b->l2b_occupancy" failed: file "/usr/src/sys/arch/arm/arm32/pmap.c", line 3838 problem reported on port-arm by Joachim Thiemann
Revision 1.289 / (download) - annotate - [select for diffs], Tue Apr 22 12:13:09 2014 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.288: +3 -3
lines
Diff to previous 1.288 (colored)
Fix a format string to actually print the prot
Revision 1.288 / (download) - annotate - [select for diffs], Sun Apr 20 22:31:34 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.287: +3 -3
lines
Diff to previous 1.287 (colored)
Reduce resident_count by number of pages, not number of ptes.
Revision 1.287 / (download) - annotate - [select for diffs], Sat Apr 12 16:03:59 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.286: +4 -3
lines
Diff to previous 1.286 (colored)
KDASSERT -> KDASSERTMSG
Revision 1.286 / (download) - annotate - [select for diffs], Sat Apr 12 09:09:47 2014 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.285: +44 -44
lines
Diff to previous 1.285 (colored)
Trailing whitespace
Revision 1.285 / (download) - annotate - [select for diffs], Sat Apr 12 08:39:58 2014 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.284: +3 -3
lines
Diff to previous 1.284 (colored)
Fix typo and unbreak the build for various arm kernel builds.
Revision 1.284 / (download) - annotate - [select for diffs], Fri Apr 11 04:19:47 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.283: +122 -27
lines
Diff to previous 1.283 (colored)
Add a kernel for the CUBIETRUCK (CUBIEBOARD3). Allow direct mapping of all memory (but for now allow the memory mapped above KERNEL_BASE to used for poolpages).
Revision 1.283 / (download) - annotate - [select for diffs], Thu Apr 10 02:45:55 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.282: +4 -5
lines
Diff to previous 1.282 (colored)
Fix pasto.
Revision 1.282 / (download) - annotate - [select for diffs], Thu Apr 10 02:45:02 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.281: +3 -3
lines
Diff to previous 1.281 (colored)
Fix pmap_extract to deal with non-4KB pages.
Revision 1.281 / (download) - annotate - [select for diffs], Sat Apr 5 22:05:12 2014 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.280: +3 -2
lines
Diff to previous 1.280 (colored)
Add a missing pmap_release_page_lock
Revision 1.280 / (download) - annotate - [select for diffs], Wed Apr 2 15:45:51 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Branch point for: tls-earlyentropy
Changes since 1.279: +3 -3
lines
Diff to previous 1.279 (colored)
Mark omd as diagused for the ARM_MMU_EXTENDED case.
Revision 1.279 / (download) - annotate - [select for diffs], Wed Apr 2 15:35:14 2014 UTC (8 years, 11 months ago) by skrll
Branch: MAIN
Changes since 1.278: +3 -3
lines
Diff to previous 1.278 (colored)
Fix non-DIAGNOSTIC build
Revision 1.278 / (download) - annotate - [select for diffs], Wed Apr 2 14:05:54 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.277: +19 -10
lines
Diff to previous 1.277 (colored)
Init the page_lock to IPL_VM iff VIPT && arm_cache_prefer_mask != 0 otherwise use IPL_NONE. Don't bother with page_lock for KMPAGEs.
Revision 1.277 / (download) - annotate - [select for diffs], Wed Apr 2 13:26:22 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.276: +23 -19
lines
Diff to previous 1.276 (colored)
braces are your friends. use them.
Revision 1.276 / (download) - annotate - [select for diffs], Wed Apr 2 12:36:05 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.275: +4 -3
lines
Diff to previous 1.275 (colored)
Really fix locking this time.
Revision 1.275 / (download) - annotate - [select for diffs], Wed Apr 2 12:04:09 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.274: +19 -15
lines
Diff to previous 1.274 (colored)
Because vector_page might be 0, we have to process the entry L1pt. Make sure to map the new l2 area after we've grown the kernel. If msgbufaddr is set, don't alloc space for msgbuf.
Revision 1.274 / (download) - annotate - [select for diffs], Tue Apr 1 18:01:45 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: riastradh-xf86-video-intel-2-7-1-pre-2-21-15
Changes since 1.273: +17 -5
lines
Diff to previous 1.273 (colored)
For ARM_MMU_EXTENDED, if the page being mapped asked for EXEC but is not EXEC, sync it.
Revision 1.273 / (download) - annotate - [select for diffs], Mon Mar 31 01:49:04 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.272: +3 -3
lines
Diff to previous 1.272 (colored)
tag a variable with __diagused
Revision 1.272 / (download) - annotate - [select for diffs], Sun Mar 30 15:55:08 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.271: +10 -7
lines
Diff to previous 1.271 (colored)
Fix debug code in fault_fixup
Revision 1.271 / (download) - annotate - [select for diffs], Sun Mar 30 15:50:51 2014 UTC (8 years, 11 months ago) by matt
Branch: MAIN
Changes since 1.270: +1482 -710
lines
Diff to previous 1.270 (colored)
Make the ARM pmap use ASIDs, split TTBRs, and MP safe. This only happens for ARMv6 or later CPUs. This means that on context switch that the TLBs and caches no longer to cleaned/flushed. Also, eXecute Never (XN) protection has been added so non-exec pages can not be run. Change the page size for ARMv6+ to be 8KB while allows a L1PT to be a normal page. This means that the L1PT is not special. Use the XN support to only sync pages that are executed from.
Revision 1.270 / (download) - annotate - [select for diffs], Thu Feb 27 18:10:01 2014 UTC (9 years ago) by joerg
Branch: MAIN
CVS Tags: riastradh-drm2-base3
Changes since 1.269: +2 -5
lines
Diff to previous 1.269 (colored)
Member will never be null, so remove check.
Revision 1.269 / (download) - annotate - [select for diffs], Wed Feb 26 19:59:49 2014 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.268: +5 -5
lines
Diff to previous 1.268 (colored)
Only track kenter_pa'ed pages if arm_cache_prefer_mask is non-zero.
Revision 1.268 / (download) - annotate - [select for diffs], Wed Feb 26 17:35:21 2014 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.267: +17 -14
lines
Diff to previous 1.267 (colored)
Don't do ref/mod emulation for KENTRY pages. l2pte_minidata -> l2pte_minidata_p
Revision 1.267 / (download) - annotate - [select for diffs], Wed Feb 26 02:07:58 2014 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.266: +15 -24
lines
Diff to previous 1.266 (colored)
Move pmap_recent_user to ci->ci_pmap_lastuser and pmap_previous_active_lwp to ci->ci_lastlwp. Fix some comments.
Revision 1.266 / (download) - annotate - [select for diffs], Wed Feb 26 01:51:11 2014 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.265: +15 -15
lines
Diff to previous 1.265 (colored)
l2pte_valid -> l2pte_valid_p
Revision 1.265 / (download) - annotate - [select for diffs], Wed Feb 26 01:41:40 2014 UTC (9 years ago) by matt
Branch: MAIN
Changes since 1.264: +8 -20
lines
Diff to previous 1.264 (colored)
Add support for PMAP_PTE to pmap_kenter_pa
Revision 1.187.8.2 / (download) - annotate - [select for diffs], Sat Feb 15 16:18:36 2014 UTC (9 years, 1 month ago) by matt
Branch: matt-nb5-mips64
Changes since 1.187.8.1: +1518 -1032
lines
Diff to previous 1.187.8.1 (colored) to branchpoint 1.187 (colored) next main 1.188 (colored)
Merge armv7 support from HEAD, specifically support for the BCM5301X and BCM56340 evbarm kernels.
Revision 1.264 / (download) - annotate - [select for diffs], Thu Sep 12 14:45:18 2013 UTC (9 years, 6 months ago) by kiyohara
Branch: MAIN
Changes since 1.263: +5 -4
lines
Diff to previous 1.263 (colored)
Fix VIVT cache operation. Tested on Kirkwood machines.
Revision 1.257.2.1 / (download) - annotate - [select for diffs], Wed Aug 28 23:59:11 2013 UTC (9 years, 6 months ago) by rmind
Branch: rmind-smpnet
Changes since 1.257: +266 -355
lines
Diff to previous 1.257 (colored)
sync with head
Revision 1.263 / (download) - annotate - [select for diffs], Sun Aug 18 06:50:31 2013 UTC (9 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.262: +4 -7
lines
Diff to previous 1.262 (colored)
Include <arm/locore.h>
Revision 1.262 / (download) - annotate - [select for diffs], Wed Jul 3 21:37:35 2013 UTC (9 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: riastradh-drm2-base2,
riastradh-drm2-base1,
riastradh-drm2-base,
riastradh-drm2
Changes since 1.261: +157 -158
lines
Diff to previous 1.261 (colored)
Add l2pte_set and l2pte_reset inlines to set/reset a pte. These will be used to support > 4KB pages sizes. Don't use >> L1_S_SHIFT, use L1_IDX() instead.
Revision 1.261 / (download) - annotate - [select for diffs], Wed Jul 3 15:30:24 2013 UTC (9 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.260: +5 -3
lines
Diff to previous 1.260 (colored)
restore deleted conditional
Revision 1.260 / (download) - annotate - [select for diffs], Wed Jul 3 15:26:42 2013 UTC (9 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.259: +3 -3
lines
Diff to previous 1.259 (colored)
Fix c&p error
Revision 1.259 / (download) - annotate - [select for diffs], Wed Jul 3 15:24:35 2013 UTC (9 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.258: +82 -179
lines
Diff to previous 1.258 (colored)
Collapse multiple inlines and move repeated tests into them. No functional change.
Revision 1.258 / (download) - annotate - [select for diffs], Wed Jul 3 05:23:04 2013 UTC (9 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.257: +33 -23
lines
Diff to previous 1.257 (colored)
Add pmap_domain and pmap_l1_kva inlines.
Revision 1.236.2.3 / (download) - annotate - [select for diffs], Sun Jun 23 06:19:59 2013 UTC (9 years, 9 months ago) by tls
Branch: tls-maxphys
Changes since 1.236.2.2: +59 -14
lines
Diff to previous 1.236.2.2 (colored)
resync from head
Revision 1.257 / (download) - annotate - [select for diffs], Wed Jun 12 21:34:12 2013 UTC (9 years, 9 months ago) by matt
Branch: MAIN
Branch point for: rmind-smpnet
Changes since 1.256: +22 -6
lines
Diff to previous 1.256 (colored)
Add a ARM_HAS_VBAR option which forces the use of the VBAR register. This allows much code to deal with vector_page mappings to be eliminated. On a BEAGLEBONE kernel, this saves 8KB of text and instructions that never have to be executed. (The PJ4B has VBAR but doesn't implement the security extensions it is part of so a method was needed to allow it use VBAR with relying on the default test for the security extensions.)
Revision 1.256 / (download) - annotate - [select for diffs], Wed Jun 12 07:13:18 2013 UTC (9 years, 9 months ago) by matt
Branch: MAIN
Changes since 1.255: +15 -4
lines
Diff to previous 1.255 (colored)
If the vector_page is not ARM_VECTORS_{LOW,HIGH}, assume it's in kernel text and don't do anything special to map it.
Revision 1.255 / (download) - annotate - [select for diffs], Sat May 11 10:15:43 2013 UTC (9 years, 10 months ago) by skrll
Branch: MAIN
Changes since 1.254: +4 -3
lines
Diff to previous 1.254 (colored)
Fix !DDB build.
Revision 1.254 / (download) - annotate - [select for diffs], Fri Mar 29 13:27:08 2013 UTC (9 years, 11 months ago) by matt
Branch: MAIN
CVS Tags: khorben-n900
Changes since 1.253: +24 -7
lines
Diff to previous 1.253 (colored)
Fix pmap_flush_page to also flush the secondary cache, if there is one. This solves a bus_dma problem with DMA from uncached pages.
Revision 1.236.2.2 / (download) - annotate - [select for diffs], Mon Feb 25 00:28:24 2013 UTC (10 years ago) by tls
Branch: tls-maxphys
Changes since 1.236.2.1: +199 -71
lines
Diff to previous 1.236.2.1 (colored)
resync with head
Revision 1.228.2.1.2.3 / (download) - annotate - [select for diffs], Wed Feb 13 23:52:02 2013 UTC (10 years, 1 month ago) by matt
Branch: matt-nb6-plus
Changes since 1.228.2.1.2.2: +38 -2
lines
Diff to previous 1.228.2.1.2.2 (colored) to branchpoint 1.228.2.1 (colored) next main 1.228.2.2 (colored)
Sync with HEAD
Revision 1.253 / (download) - annotate - [select for diffs], Wed Feb 13 23:14:35 2013 UTC (10 years, 1 month ago) by matt
Branch: MAIN
CVS Tags: agc-symver-base,
agc-symver
Changes since 1.252: +38 -2
lines
Diff to previous 1.252 (colored)
Some armv7 fixes for speculative tlb loads.
Revision 1.228.2.2 / (download) - annotate - [select for diffs], Sat Feb 9 18:29:02 2013 UTC (10 years, 1 month ago) by riz
Branch: netbsd-6
CVS Tags: netbsd-6-1-RELEASE,
netbsd-6-1-RC4,
netbsd-6-1-RC3,
netbsd-6-1-RC2,
netbsd-6-1-RC1,
netbsd-6-1-5-RELEASE,
netbsd-6-1-4-RELEASE,
netbsd-6-1-3-RELEASE,
netbsd-6-1-2-RELEASE,
netbsd-6-1-1-RELEASE,
netbsd-6-1
Changes since 1.228.2.1: +55 -24
lines
Diff to previous 1.228.2.1 (colored) to branchpoint 1.228 (colored) next main 1.229 (colored)
Pull up following revision(s) (requested by msaitoh in ticket #803):
Revision 1.228.2.1.2.2 / (download) - annotate - [select for diffs], Thu Feb 7 06:52:53 2013 UTC (10 years, 1 month ago) by matt
Branch: matt-nb6-plus
Changes since 1.228.2.1.2.1: +163 -71
lines
Diff to previous 1.228.2.1.2.1 (colored) to branchpoint 1.228.2.1 (colored)
pullup pmap changes from HEAD
Revision 1.252 / (download) - annotate - [select for diffs], Mon Feb 4 13:37:30 2013 UTC (10 years, 1 month ago) by macallan
Branch: MAIN
Changes since 1.251: +6 -3
lines
Diff to previous 1.251 (colored)
support ARM32_MMAP_WRITECOMBINE for managed pages as well
Revision 1.251 / (download) - annotate - [select for diffs], Fri Feb 1 15:02:31 2013 UTC (10 years, 1 month ago) by matt
Branch: MAIN
Changes since 1.250: +45 -24
lines
Diff to previous 1.250 (colored)
cleanup PVF_WRITE & pvh_attrs interaction. cleanup PVF_WRITE & pvh_attrs interaction.
Revision 1.251 / (download) - annotate - [select for diffs], Fri Feb 1 15:02:31 2013 UTC (10 years, 1 month ago) by matt
Branch: MAIN
Changes since 1.250: +45 -24
lines
Diff to previous 1.250 (colored)
cleanup PVF_WRITE & pvh_attrs interaction. cleanup PVF_WRITE & pvh_attrs interaction.
Revision 1.250 / (download) - annotate - [select for diffs], Thu Jan 31 22:01:49 2013 UTC (10 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.249: +3 -3
lines
Diff to previous 1.249 (colored)
Another typo in a comment. Another typo in a comment.
Revision 1.250 / (download) - annotate - [select for diffs], Thu Jan 31 22:01:49 2013 UTC (10 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.249: +3 -3
lines
Diff to previous 1.249 (colored)
Another typo in a comment. Another typo in a comment.
Revision 1.249 / (download) - annotate - [select for diffs], Thu Jan 31 21:57:39 2013 UTC (10 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.248: +3 -3
lines
Diff to previous 1.248 (colored)
Typo in comment. Typo in comment.
Revision 1.249 / (download) - annotate - [select for diffs], Thu Jan 31 21:57:39 2013 UTC (10 years, 1 month ago) by skrll
Branch: MAIN
Changes since 1.248: +3 -3
lines
Diff to previous 1.248 (colored)
Typo in comment. Typo in comment.
Revision 1.224.2.4 / (download) - annotate - [select for diffs], Wed Jan 23 00:05:40 2013 UTC (10 years, 2 months ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.224.2.3: +18 -8
lines
Diff to previous 1.224.2.3 (colored) to branchpoint 1.224 (colored)
sync with head
Revision 1.248 / (download) - annotate - [select for diffs], Sat Jan 19 00:15:09 2013 UTC (10 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base8
Changes since 1.247: +7 -5
lines
Diff to previous 1.247 (colored)
Switch from only UVM_PGA_STRAT_ONLY to UVM_PGA_STRAT_FALLBACK in arm_pmap_alloc_poolpage.
Revision 1.224.2.3 / (download) - annotate - [select for diffs], Wed Jan 16 05:32:43 2013 UTC (10 years, 2 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.224.2.2: +110 -52
lines
Diff to previous 1.224.2.2 (colored) to branchpoint 1.224 (colored)
sync with (a bit old) head
Revision 1.247 / (download) - annotate - [select for diffs], Fri Jan 11 12:04:00 2013 UTC (10 years, 2 months ago) by matt
Branch: MAIN
Changes since 1.246: +13 -5
lines
Diff to previous 1.246 (colored)
Fix a bug in pmap_modify_pv where we didn't set PVF_WRITE on a page after changing its mapping to writeable. Add more KASSERTS Don't go into DDB by default in pmap_fixup. Fix a bug in pmap_modify_pv where we didnt set PVF_WRITE on a page after changing its mapping to writeable. Add more KASSERTS Dont go into DDB by default in pmap_fixup.
Revision 1.247 / (download) - annotate - [select for diffs], Fri Jan 11 12:04:00 2013 UTC (10 years, 2 months ago) by matt
Branch: MAIN
Changes since 1.246: +13 -5
lines
Diff to previous 1.246 (colored)
Fix a bug in pmap_modify_pv where we didn't set PVF_WRITE on a page after changing its mapping to writeable. Add more KASSERTS Don't go into DDB by default in pmap_fixup. Fix a bug in pmap_modify_pv where we didnt set PVF_WRITE on a page after changing its mapping to writeable. Add more KASSERTS Dont go into DDB by default in pmap_fixup.
Revision 1.246 / (download) - annotate - [select for diffs], Tue Dec 11 23:51:34 2012 UTC (10 years, 3 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base7
Changes since 1.245: +3 -3
lines
Diff to previous 1.245 (colored)
Fix C&P bug.
Revision 1.245 / (download) - annotate - [select for diffs], Tue Dec 11 01:51:14 2012 UTC (10 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.244: +4 -4
lines
Diff to previous 1.244 (colored)
Fix c&p error.
Revision 1.244 / (download) - annotate - [select for diffs], Tue Dec 11 01:16:10 2012 UTC (10 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.243: +104 -48
lines
Diff to previous 1.243 (colored)
Optimize pmap_{copy,zerp}_page_generic to understand that when all of memory is always mapped that you don't have create mappings dynamically.
Revision 1.243 / (download) - annotate - [select for diffs], Mon Dec 10 06:54:23 2012 UTC (10 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.242: +5 -3
lines
Diff to previous 1.242 (colored)
Change a KASSERT to a KASSERTMSG Change a KASSERT to a KASSERTMSG
Revision 1.243 / (download) - annotate - [select for diffs], Mon Dec 10 06:54:23 2012 UTC (10 years, 3 months ago) by matt
Branch: MAIN
Changes since 1.242: +5 -3
lines
Diff to previous 1.242 (colored)
Change a KASSERT to a KASSERTMSG Change a KASSERT to a KASSERTMSG
Revision 1.228.2.1.2.1 / (download) - annotate - [select for diffs], Wed Nov 28 22:40:19 2012 UTC (10 years, 3 months ago) by matt
Branch: matt-nb6-plus
Changes since 1.228.2.1: +117 -32
lines
Diff to previous 1.228.2.1 (colored)
Merge improved arm support (especially Cortex) from HEAD including OMAP and BCM53xx support.
Revision 1.236.2.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:01:02 2012 UTC (10 years, 4 months ago) by tls
Branch: tls-maxphys
Changes since 1.236: +56 -8
lines
Diff to previous 1.236 (colored)
Resync to 2012-11-19 00:00:00 UTC
Revision 1.242 / (download) - annotate - [select for diffs], Mon Nov 12 18:00:35 2012 UTC (10 years, 4 months ago) by skrll
Branch: MAIN
Changes since 1.241: +5 -5
lines
Diff to previous 1.241 (colored)
C99 types
Revision 1.224.2.2 / (download) - annotate - [select for diffs], Tue Oct 30 17:18:57 2012 UTC (10 years, 4 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.224.2.1: +115 -30
lines
Diff to previous 1.224.2.1 (colored) to branchpoint 1.224 (colored)
sync with head
Revision 1.241 / (download) - annotate - [select for diffs], Wed Oct 17 18:52:15 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
CVS Tags: yamt-pagecache-base6
Changes since 1.240: +21 -2
lines
Diff to previous 1.240 (colored)
Add a PMAP_NEEDS_ALLOC_POOLPAGE / PMAP_ALLOC_POOLPAGE hook so systems can allocate pool pages from a specific VM freelist.
Revision 1.240 / (download) - annotate - [select for diffs], Wed Oct 17 18:29:10 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.239: +3 -3
lines
Diff to previous 1.239 (colored)
Need to set pmap_needs_pte_sync before calling PTE_SYNC
Revision 1.239 / (download) - annotate - [select for diffs], Wed Oct 17 16:16:23 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.238: +3 -2
lines
Diff to previous 1.238 (colored)
When setting pmap_needs_pte_sync to 1 be sure to sync pte that caused the issue.
Revision 1.238 / (download) - annotate - [select for diffs], Wed Sep 26 18:18:08 2012 UTC (10 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.237: +13 -2
lines
Diff to previous 1.237 (colored)
If we get a fault we shouldn't have, set pmap_needs_pte_sync and retry.
Revision 1.237 / (download) - annotate - [select for diffs], Sat Sep 22 00:33:37 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.236: +22 -5
lines
Diff to previous 1.236 (colored)
Don't use an asm in pmap_activate to update the TTBR, use cpu_setttb instead but add a second argument to it to indicate whether the TLB/caches need to be flushed. Default cortex to pmap_needs_fixup = 1. But check the MMFR3 field to see if the fixed can be skipped. Use a cf_flag bit 0 to indicate whether the A9 L2 cache should disable (bit 0 = 1) or enabeld (bit = 0). With these changes, the A9 MMU can use traverse caches to do MMU tablewalks Also, make sure all memory has the shareable bit for the A9.
Revision 1.236 / (download) - annotate - [select for diffs], Sun Sep 2 14:46:38 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Branch point for: tls-maxphys
Changes since 1.235: +3 -3
lines
Diff to previous 1.235 (colored)
Supersections are on armv6 too.
Revision 1.235 / (download) - annotate - [select for diffs], Thu Aug 30 02:05:56 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.234: +9 -3
lines
Diff to previous 1.234 (colored)
Teach pmap_extract about supersections.
Revision 1.234 / (download) - annotate - [select for diffs], Wed Aug 29 18:56:45 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.233: +8 -11
lines
Diff to previous 1.233 (colored)
Make all cortex and arm11 cpus uses writeback cached memories for pagetables
Revision 1.233 / (download) - annotate - [select for diffs], Wed Aug 29 17:08:41 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.232: +4 -4
lines
Diff to previous 1.232 (colored)
Support PMAP_NOCACHE in pmap_kenter_pa Support PMAP_NOCACHE in pmap_kenter_pa
Revision 1.233 / (download) - annotate - [select for diffs], Wed Aug 29 17:08:41 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.232: +4 -4
lines
Diff to previous 1.232 (colored)
Support PMAP_NOCACHE in pmap_kenter_pa Support PMAP_NOCACHE in pmap_kenter_pa
Revision 1.232 / (download) - annotate - [select for diffs], Wed Aug 29 05:51:30 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.231: +3 -3
lines
Diff to previous 1.231 (colored)
Use the correct prot mask in vector_page_setprot Use the correct prot mask in vector_page_setprot
Revision 1.232 / (download) - annotate - [select for diffs], Wed Aug 29 05:51:30 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.231: +3 -3
lines
Diff to previous 1.231 (colored)
Use the correct prot mask in vector_page_setprot Use the correct prot mask in vector_page_setprot
Revision 1.231 / (download) - annotate - [select for diffs], Mon Aug 27 12:05:30 2012 UTC (10 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.230: +3 -3
lines
Diff to previous 1.230 (colored)
Use the correct (L1_S_PROT, not L2_S_PROT) macro for setting the protection of the vector page. This fixes a nasty little bug that shows up on armv7 systems when the vector page physical address changes (bit 12 of the address is cleared) and then any exception causes the system to hang.
Revision 1.230 / (download) - annotate - [select for diffs], Mon Aug 20 13:03:41 2012 UTC (10 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.229: +52 -18
lines
Diff to previous 1.229 (colored)
Add support for mapping SuperSection on armv6 and armv7. These always a domain of 0 so move the kernel from domain 15 to domain 0.
Revision 1.228.2.1 / (download) - annotate - [select for diffs], Thu Aug 9 06:36:46 2012 UTC (10 years, 7 months ago) by jdc
Branch: netbsd-6
CVS Tags: netbsd-6-0-RELEASE,
netbsd-6-0-RC2,
netbsd-6-0-RC1,
netbsd-6-0-6-RELEASE,
netbsd-6-0-5-RELEASE,
netbsd-6-0-4-RELEASE,
netbsd-6-0-3-RELEASE,
netbsd-6-0-2-RELEASE,
netbsd-6-0-1-RELEASE,
netbsd-6-0,
matt-nb6-plus-nbase,
matt-nb6-plus-base
Branch point for: matt-nb6-plus
Changes since 1.228: +3 -3
lines
Diff to previous 1.228 (colored)
Pull up revisions: src/sys/arch/evbarm/dev/plcomreg.h revisions 1.2,1.3,1.4 src/sys/arch/evbarm/conf/INTEGRATOR revision 1.65 src/sys/arch/evbarm/dev/plcom.c revisions 1.34,1.35,1.36,1.37,1.38,1.39,1.40 src/sys/arch/evbarm/ifpga/plcom_ifpga.c revisions 1.12,1.13,1.14 src/sys/arch/evbarm/dev/plcomvar.h revisions 1.9,1.10,1.11 src/sys/arch/evbarm/ifpga/plcom_ifpgavar.h revision 1.2 src/sys/arch/arm/arm/cpufunc.c revisions 1.105,1.108 src/sys/arch/arm/arm32/cpu.c revision 1.79 src/sys/arch/arm/include/armreg.h revisions 1.49,1.54 src/sys/arch/arm/arm32/pmap.c revision 1.229 src/sys/arch/arm/arm32/arm32_machdep.c revision 1.77 src/sys/arch/arm/include/cpu.h revision 1.64 src/sys/arch/arm/arm/cpufunc_asm_arm1136.S revision 1.3 src/sys/arch/arm/arm/cpufunc_asm_arm11x6.S revision 1.1 src/sys/arch/arm/conf/files.arm revision 1.106 src/sys/arch/arm/include/cpufunc.h revision 1.57 src/sys/dev/sdmmc/sdhc.c revisions 1.14,1.24 src/sys/dev/sdmmc/sdhcvar.h revisions 1.7,1.8 src/sys/arch/evbarm/ifpga/ifpgareg.h revision 1.4 src/sys/arch/evbarm/integrator/integrator_machdep.c revision 1.69 src/sys/arch/arm/broadcom/bcm2835_dma.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_emmc.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_intr.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_intr.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835_obio.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_plcom.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_pm.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_pmvar.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835_space.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835_tmr.c revision 1.1 src/sys/arch/arm/broadcom/bcm2835reg.h revision 1.1 src/sys/arch/arm/broadcom/bcm2835var.h revision 1.1 src/sys/arch/arm/broadcom/bcm_amba.h revision 1.1 src/sys/arch/arm/broadcom/files.bcm2835 revision 1.1 src/sys/arch/evbarm/Makefile revision 1.9 src/sys/arch/evbarm/conf/RPI revision 1.1 src/sys/arch/evbarm/conf/files.rpi revision 1.1 src/sys/arch/evbarm/conf/mk.rpi revision 1.1 src/sys/arch/evbarm/conf/std.rpi revision 1.1 src/sys/arch/evbarm/rpi/genassym.cf revision 1.1 src/sys/arch/evbarm/rpi/rpi.h revision 1.1 src/sys/arch/evbarm/rpi/rpi_machdep.c revision 1.1 src/sys/arch/evbarm/rpi/rpi_start.S revision 1.1,1.2 src/etc/etc.evbarm/Makefile.inc revision 1.28 (requested by skrll in ticket #454). don't mix #define<TAB> and #define<SPACE> in a file. avoid warning with options PLCOM_DEBUG for INTEGRATOR. Rename register values. No functional change - same code before and after. Existing names are prefixed with PL01X_ where they're common between the PL010 and the PL011. The PL010_/PL011_ prefixes are added where they're found only on the respective chips. Replace the simple_lock with a kmutex_t. Update the locking to match com(4) in the few places it didn't already. DOH. Replace a line that got accidently deleted in the last commit. device_t/softc split struct device * -> device_t struct cfdata * -> cfdata_t Add the 'Z' to the 1176 cpu product name. ok matt@ Fix locking botch introduced in 1.36. Fix a KASSERT. From/OK'ed by matt@ Fix racy softint dispatch that lead to KASSERT(si->si_active) in softint_execute Discussed with matt@. "Looks good to me" Add the documented ARM11[37]6 Auxiliary control register defines. Add support for the ARM1176JZS Add a flag for the lack of LED_ON in HOST_CTL (ti omap3 doesn't do that). Provide a method for attachments to specify capabilites. Add support for the PL011 to plcom. Pull across a bunch of fixes from com(4) while I'm here and do some other tidyup. Tested on a RaspberryPi. PL010 not tested. Initial commit of support for the RaspberryPI (www.raspberrypi.org) This is enough for serial console via the gpio header pins and to get to multiuser. A huge thank you to Matt Thomas for all his help. Add RPI to KERNEL_SETS Remove #if 0 code.
Revision 1.229 / (download) - annotate - [select for diffs], Fri Jul 13 06:02:58 2012 UTC (10 years, 8 months ago) by skrll
Branch: MAIN
Changes since 1.228: +3 -3
lines
Diff to previous 1.228 (colored)
Fix a KASSERT. From/OK'ed by matt@
Revision 1.224.2.1 / (download) - annotate - [select for diffs], Tue Apr 17 00:06:04 2012 UTC (10 years, 11 months ago) by yamt
Branch: yamt-pagecache
Changes since 1.224: +75 -104
lines
Diff to previous 1.224 (colored)
sync with head
Revision 1.224.6.1 / (download) - annotate - [select for diffs], Sat Feb 18 07:31:23 2012 UTC (11 years, 1 month ago) by mrg
Branch: jmcneill-usbmp
Changes since 1.224: +75 -104
lines
Diff to previous 1.224 (colored) next main 1.225 (colored)
merge to -current.
Revision 1.228 / (download) - annotate - [select for diffs], Sun Jan 29 20:16:16 2012 UTC (11 years, 1 month ago) by he
Branch: MAIN
CVS Tags: yamt-pagecache-base5,
yamt-pagecache-base4,
netbsd-6-base,
jmcneill-usbmp-base9,
jmcneill-usbmp-base8,
jmcneill-usbmp-base7,
jmcneill-usbmp-base6,
jmcneill-usbmp-base5,
jmcneill-usbmp-base4,
jmcneill-usbmp-base3,
jmcneill-usbmp-base2,
jmcneill-usbmp-base10
Branch point for: netbsd-6
Changes since 1.227: +4 -2
lines
Diff to previous 1.227 (colored)
Only declare helper variable which is only used in KASSERT() if DIAGNOSTIC is defined, to avoid "variable defined but never used" warning if DIAGNOSTIC isn't defined, and KASSERT() expands to nothing.
Revision 1.227 / (download) - annotate - [select for diffs], Sat Jan 28 16:16:41 2012 UTC (11 years, 1 month ago) by matt
Branch: MAIN
Changes since 1.226: +36 -5
lines
Diff to previous 1.226 (colored)
Since we don't do MULTIPROCESSOR, and hence preemption, locking the pvlists doesn't really matter.
Revision 1.226 / (download) - annotate - [select for diffs], Sat Jan 28 00:11:46 2012 UTC (11 years, 1 month ago) by matt
Branch: MAIN
Changes since 1.225: +38 -100
lines
Diff to previous 1.225 (colored)
Don't use simple locks.
Revision 1.225 / (download) - annotate - [select for diffs], Fri Jan 27 19:48:38 2012 UTC (11 years, 1 month ago) by para
Branch: MAIN
Changes since 1.224: +6 -6
lines
Diff to previous 1.224 (colored)
extending vmem(9) to be able to allocated resources for it's own needs. simplifying uvm_map handling (no special kernel entries anymore no relocking) make malloc(9) a thin wrapper around kmem(9) (with private interface for interrupt safety reasons) releng@ acknowledged
Revision 1.224 / (download) - annotate - [select for diffs], Fri Jul 1 20:57:45 2011 UTC (11 years, 8 months ago) by dyoung
Branch: MAIN
CVS Tags: yamt-pagecache-base3,
yamt-pagecache-base2,
yamt-pagecache-base,
jmcneill-usbmp-pre-base2,
jmcneill-usbmp-base,
jmcneill-audiomp3-base,
jmcneill-audiomp3
Branch point for: yamt-pagecache,
jmcneill-usbmp
Changes since 1.223: +3 -3
lines
Diff to previous 1.223 (colored)
#include <sys/bus.h> instead of <machine/bus.h>.
Revision 1.223 / (download) - annotate - [select for diffs], Thu Jun 30 20:09:19 2011 UTC (11 years, 8 months ago) by wiz
Branch: MAIN
Changes since 1.222: +3 -3
lines
Diff to previous 1.222 (colored)
dependant -> dependent
Revision 1.221.2.1 / (download) - annotate - [select for diffs], Thu Jun 23 14:18:59 2011 UTC (11 years, 9 months ago) by cherry
Branch: cherry-xenmp
Changes since 1.221: +20 -15
lines
Diff to previous 1.221 (colored) next main 1.222 (colored)
Catchup with rmind-uvmplock merge.
Revision 1.222 / (download) - annotate - [select for diffs], Sun Jun 12 03:35:39 2011 UTC (11 years, 9 months ago) by rmind
Branch: MAIN
Changes since 1.221: +20 -15
lines
Diff to previous 1.221 (colored)
Welcome to 5.99.53! Merge rmind-uvmplock branch: - Reorganize locking in UVM and provide extra serialisation for pmap(9). New lock order: [vmpage-owner-lock] -> pmap-lock. - Simplify locking in some pmap(9) modules by removing P->V locking. - Use lock object on vmobjlock (and thus vnode_t::v_interlock) to share the locks amongst UVM objects where necessary (tmpfs, layerfs, unionfs). - Rewrite and optimise x86 TLB shootdown code, make it simpler and cleaner. Add TLBSTATS option for x86 to collect statistics about TLB shootdowns. - Unify /dev/mem et al in MI code and provide required locking (removes kernel-lock on some ports). Also, avoid cache-aliasing issues. Thanks to Andrew Doran and Joerg Sonnenberger, as their initial patches formed the core changes of this branch.
Revision 1.219.2.1 / (download) - annotate - [select for diffs], Mon Jun 6 09:05:01 2011 UTC (11 years, 9 months ago) by jruoho
Branch: jruoho-x86intr
Changes since 1.219: +122 -4
lines
Diff to previous 1.219 (colored) next main 1.220 (colored)
Sync with HEAD.
Revision 1.212.2.6 / (download) - annotate - [select for diffs], Thu May 19 03:42:58 2011 UTC (11 years, 10 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.212.2.5: +12 -7
lines
Diff to previous 1.212.2.5 (colored) to branchpoint 1.212 (colored) next main 1.213 (colored)
Implement sharing of vnode_t::v_interlock amongst vnodes: - Lock is shared amongst UVM objects using uvm_obj_setlock() or getnewvnode(). - Adjust vnode cache to handle unsharing, add VI_LOCKSHARE flag for that. - Use sharing in tmpfs and layerfs for underlying object. - Simplify locking in ubc_fault(). - Sprinkle some asserts. Discussed with ad@.
Revision 1.212.2.5 / (download) - annotate - [select for diffs], Thu Apr 21 01:40:51 2011 UTC (11 years, 11 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.212.2.4: +84 -0
lines
Diff to previous 1.212.2.4 (colored) to branchpoint 1.212 (colored)
sync with head
Revision 1.221 / (download) - annotate - [select for diffs], Thu Mar 10 07:47:14 2011 UTC (12 years ago) by bsh
Branch: MAIN
CVS Tags: rmind-uvmplock-nbase,
rmind-uvmplock-base,
jym-xensuspend-nbase,
jym-xensuspend-base,
cherry-xenmp-base
Branch point for: cherry-xenmp
Changes since 1.220: +86 -2
lines
Diff to previous 1.220 (colored)
Preliminary ARM11 MPCore support. I have confirmed this commit doesn't affect existing evbarm kernels by comparing binaries.
Revision 1.212.2.4 / (download) - annotate - [select for diffs], Sat Mar 5 20:49:31 2011 UTC (12 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.212.2.3: +478 -398
lines
Diff to previous 1.212.2.3 (colored) to branchpoint 1.212 (colored)
sync with head
Revision 1.219.4.1 / (download) - annotate - [select for diffs], Sat Mar 5 15:09:32 2011 UTC (12 years ago) by bouyer
Branch: bouyer-quota2
Changes since 1.219: +36 -2
lines
Diff to previous 1.219 (colored) next main 1.220 (colored)
Sync with HEAD
Revision 1.220 / (download) - annotate - [select for diffs], Mon Feb 28 10:03:49 2011 UTC (12 years ago) by macallan
Branch: MAIN
CVS Tags: bouyer-quota2-nbase
Changes since 1.219: +38 -4
lines
Diff to previous 1.219 (colored)
implement arm32_pmap_flags() to allow mappings with write buffering enabled, mostly for video memory Tested on shark
Revision 1.211.2.23 / (download) - annotate - [select for diffs], Mon Nov 15 15:11:53 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.22: +0 -7
lines
Diff to previous 1.211.2.22 (colored) to branchpoint 1.211 (colored) next main 1.212 (colored)
Revert xmd(4).
Revision 1.219 / (download) - annotate - [select for diffs], Fri Nov 12 07:59:25 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base7,
uebayasi-xip-base6,
matt-mips64-premerge-20101231,
jruoho-x86intr-base,
bouyer-quota2-base
Branch point for: jruoho-x86intr,
bouyer-quota2
Changes since 1.218: +0 -2
lines
Diff to previous 1.218 (colored)
Put VM_PAGE_TO_MD() definition in one place. No functional changes.
Revision 1.218 / (download) - annotate - [select for diffs], Wed Nov 10 09:27:22 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: MAIN
Changes since 1.217: +6 -5
lines
Diff to previous 1.217 (colored)
Use more VM_PHYSMEM_*() accessors. No functional changes.
Revision 1.211.2.22 / (download) - annotate - [select for diffs], Wed Nov 10 08:59:13 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.21: +2 -2
lines
Diff to previous 1.211.2.21 (colored) to branchpoint 1.211 (colored)
Fix thinko; make vm_physseg ptr swap really work.
Revision 1.211.2.21 / (download) - annotate - [select for diffs], Wed Nov 10 08:04:59 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.20: +0 -1
lines
Diff to previous 1.211.2.20 (colored) to branchpoint 1.211 (colored)
opt_xip.h isn't needed any more here.
Revision 1.211.2.20 / (download) - annotate - [select for diffs], Wed Nov 10 03:36:26 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.19: +2 -2
lines
Diff to previous 1.211.2.19 (colored) to branchpoint 1.211 (colored)
Always use VM_PHYSMEM_PTR().
Revision 1.211.2.19 / (download) - annotate - [select for diffs], Sat Nov 6 08:08:14 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.18: +4 -2
lines
Diff to previous 1.211.2.18 (colored) to branchpoint 1.211 (colored)
Sync with HEAD.
Revision 1.217 / (download) - annotate - [select for diffs], Wed Nov 3 16:59:19 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: MAIN
CVS Tags: uebayasi-xip-base5,
uebayasi-xip-base4
Changes since 1.216: +1 -1
lines
Diff to previous 1.216 (colored)
Fix build of IXM1200 too. Pointed out by cegger, thanks.
Revision 1.216 / (download) - annotate - [select for diffs], Tue Nov 2 06:33:22 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: MAIN
Changes since 1.215: +2 -2
lines
Diff to previous 1.215 (colored)
Fix build of XScale.
Revision 1.211.2.18 / (download) - annotate - [select for diffs], Sun Oct 31 03:46:16 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.17: +1 -1
lines
Diff to previous 1.211.2.17 (colored) to branchpoint 1.211 (colored)
We already have a flag PMAP_NOCACHE. s/PMAP_UNMANAGED/PMAN_NOCACHE/. Pointed out by Chuck Silvers, thanks.
Revision 1.211.2.17 / (download) - annotate - [select for diffs], Sun Oct 31 03:43:02 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.16: +54 -45
lines
Diff to previous 1.211.2.16 (colored) to branchpoint 1.211 (colored)
More struct vm_page * -> struct vm_page_md * adjustments.
Revision 1.215 / (download) - annotate - [select for diffs], Sat Oct 30 16:14:08 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: MAIN
Changes since 1.214: +435 -388
lines
Diff to previous 1.214 (colored)
Pass struct vm_page_md * where possible. This causes 1% code increase, mainly because additional argument (paddr_t) affects register usage. This will be fixed when per-page data structure (struct vm_page) is redone, and physical address can be retrieved from struct vm_page_md *. Tested on (uncommitted) i.MX35 (ARM1136).
Revision 1.211.2.16 / (download) - annotate - [select for diffs], Sat Oct 30 08:41:06 2010 UTC (12 years, 4 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.15: +7 -0
lines
Diff to previous 1.211.2.15 (colored) to branchpoint 1.211 (colored)
Implement pmap_physload_device(9) to replace xmd(4) MD backend. Implement pmap_mmap(9) and use it from mem(4) and xmd(4).
Revision 1.211.2.15 / (download) - annotate - [select for diffs], Tue Aug 17 06:44:02 2010 UTC (12 years, 7 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.14: +92 -22
lines
Diff to previous 1.211.2.14 (colored) to branchpoint 1.211 (colored)
Sync with HEAD.
Revision 1.173.2.4 / (download) - annotate - [select for diffs], Wed Aug 11 22:51:39 2010 UTC (12 years, 7 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.173.2.3: +94 -24
lines
Diff to previous 1.173.2.3 (colored) to branchpoint 1.173 (colored) next main 1.174 (colored)
sync with head.
Revision 1.211.2.14 / (download) - annotate - [select for diffs], Wed Jul 7 16:35:25 2010 UTC (12 years, 8 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.13: +0 -1
lines
Diff to previous 1.211.2.13 (colored) to branchpoint 1.211 (colored)
Clean up; merge options DIRECT_PAGE into options XIP.
Revision 1.212.2.3 / (download) - annotate - [select for diffs], Sat Jul 3 01:19:13 2010 UTC (12 years, 8 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.212.2.2: +89 -19
lines
Diff to previous 1.212.2.2 (colored) to branchpoint 1.212 (colored)
sync with head
Revision 1.214 / (download) - annotate - [select for diffs], Wed Jun 16 22:06:53 2010 UTC (12 years, 9 months ago) by jmcneill
Branch: MAIN
CVS Tags: yamt-nfs-mp-base11,
yamt-nfs-mp-base10,
uebayasi-xip-base3,
uebayasi-xip-base2
Changes since 1.213: +89 -19
lines
Diff to previous 1.213 (colored)
PR port-arm/43299: Support added for igepv2/cortexa8/omap3530 Apply patch from PR, with build fixes. ok skrll, matt
Revision 1.211.2.13 / (download) - annotate - [select for diffs], Mon May 31 13:26:36 2010 UTC (12 years, 9 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.12: +1 -1
lines
Diff to previous 1.211.2.12 (colored) to branchpoint 1.211 (colored)
Re-define the definition of "device page"; device pages are pages of device memory. Pages which don't have vm_page (== can't be used for generic use), but whose PV are tracked, are called "direct pages" from now.
Revision 1.212.2.2 / (download) - annotate - [select for diffs], Sun May 30 05:16:37 2010 UTC (12 years, 9 months ago) by rmind
Branch: rmind-uvmplock
Changes since 1.212.2.1: +7 -7
lines
Diff to previous 1.212.2.1 (colored) to branchpoint 1.212 (colored)
sync with head
Revision 1.213 / (download) - annotate - [select for diffs], Fri May 14 05:02:05 2010 UTC (12 years, 10 months ago) by cegger
Branch: MAIN
Changes since 1.212: +7 -7
lines
Diff to previous 1.212 (colored)
Move PMAP_KMPAGE to be used in pmap_kenter_pa flags argument. 'Looks good to me' gimpy@
Revision 1.211.2.12 / (download) - annotate - [select for diffs], Fri Apr 30 14:39:07 2010 UTC (12 years, 10 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.11: +1 -1
lines
Diff to previous 1.211.2.11 (colored) to branchpoint 1.211 (colored)
Sync with HEAD.
Revision 1.211.2.11 / (download) - annotate - [select for diffs], Wed Apr 28 08:31:05 2010 UTC (12 years, 10 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.10: +4 -3
lines
Diff to previous 1.211.2.10 (colored) to branchpoint 1.211 (colored)
Always use struct vm_physseg *vm_physmem_ptrs[] in MD code.
Revision 1.211.2.10 / (download) - annotate - [select for diffs], Tue Apr 27 07:19:28 2010 UTC (12 years, 11 months ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.9: +2 -1
lines
Diff to previous 1.211.2.9 (colored) to branchpoint 1.211 (colored)
Support PMAP_UNMANAGED in some pmaps. (Others should be converted eventually, but no problem while managed device page is not used.)
Revision 1.187.8.1 / (download) - annotate - [select for diffs], Wed Apr 21 00:33:52 2010 UTC (12 years, 11 months ago) by matt
Branch: matt-nb5-mips64
CVS Tags: matt-nb5-mips64-premerge-20101231,
matt-nb5-mips64-k15
Changes since 1.187: +21 -3
lines
Diff to previous 1.187 (colored)
sync to netbsd-5
Revision 1.212.2.1 / (download) - annotate - [select for diffs], Tue Mar 16 15:38:02 2010 UTC (13 years ago) by rmind
Branch: rmind-uvmplock
Changes since 1.212: +13 -13
lines
Diff to previous 1.212 (colored)
Change struct uvm_object::vmobjlock to be dynamically allocated with mutex_obj_alloc(). It allows us to share the locks among UVM objects.
Revision 1.173.2.3 / (download) - annotate - [select for diffs], Thu Mar 11 15:02:04 2010 UTC (13 years ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.173.2.2: +125 -108
lines
Diff to previous 1.173.2.2 (colored) to branchpoint 1.173 (colored)
sync with head
Revision 1.211.2.9 / (download) - annotate - [select for diffs], Thu Feb 25 03:30:22 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.8: +4 -2
lines
Diff to previous 1.211.2.8 (colored) to branchpoint 1.211 (colored)
A few more VM_PAGE_TO_MD().
Revision 1.211.2.8 / (download) - annotate - [select for diffs], Sat Feb 20 16:48:57 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.7: +2 -0
lines
Diff to previous 1.211.2.7 (colored) to branchpoint 1.211 (colored)
Fix \!DIAGNOSTIC build.
Revision 1.212 / (download) - annotate - [select for diffs], Mon Feb 15 07:55:33 2010 UTC (13 years, 1 month ago) by skrll
Branch: MAIN
CVS Tags: yamt-nfs-mp-base9,
uebayasi-xip-base1
Branch point for: rmind-uvmplock
Changes since 1.211: +3 -3
lines
Diff to previous 1.211 (colored)
Typo in comment.
Revision 1.211.2.7 / (download) - annotate - [select for diffs], Wed Feb 10 15:48:28 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.6: +5 -4
lines
Diff to previous 1.211.2.6 (colored) to branchpoint 1.211 (colored)
Adjust previous.
Revision 1.211.2.6 / (download) - annotate - [select for diffs], Wed Feb 10 15:37:48 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.5: +185 -159
lines
Diff to previous 1.211.2.5 (colored) to branchpoint 1.211 (colored)
Replace all remaining pg->mdpage references with VM_PAGE_TO_MD(). Now struct vm_page * is fully opaque.
Revision 1.211.2.5 / (download) - annotate - [select for diffs], Wed Feb 10 14:18:30 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.4: +2 -15
lines
Diff to previous 1.211.2.4 (colored) to branchpoint 1.211 (colored)
Fix previous again & use VM_PAGE_TO_MD() where appropriate.
Revision 1.211.2.4 / (download) - annotate - [select for diffs], Wed Feb 10 13:58:08 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.3: +175 -155
lines
Diff to previous 1.211.2.3 (colored) to branchpoint 1.211 (colored)
Convert pmap_enter() and pmap_vac_me_harder().
Revision 1.211.2.3 / (download) - annotate - [select for diffs], Wed Feb 10 13:26:22 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.2: +19 -19
lines
Diff to previous 1.211.2.2 (colored) to branchpoint 1.211 (colored)
Convert pmap_enter_pv().
Revision 1.211.2.2 / (download) - annotate - [select for diffs], Wed Feb 10 13:23:57 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211.2.1: +49 -49
lines
Diff to previous 1.211.2.1 (colored) to branchpoint 1.211 (colored)
Convert pmap_remove_pv() / pmap_modify_pv() to take struct vm_page_md *.
Revision 1.211.2.1 / (download) - annotate - [select for diffs], Wed Feb 10 12:53:26 2010 UTC (13 years, 1 month ago) by uebayasi
Branch: uebayasi-xip
Changes since 1.211: +22 -22
lines
Diff to previous 1.211 (colored)
Start changing this to be ready for device page (XIP). The basic rule is device pages don't have struct vm_page * objects. Instead per-page data (mainly PV mappings) is rooted from the global struct vm_page_md array. Convert 2 functions to take struct vm_page_md * instead of struct vm_page *.
Revision 1.211 / (download) - annotate - [select for diffs], Sat Jan 2 07:53:29 2010 UTC (13 years, 2 months ago) by he
Branch: MAIN
CVS Tags: uebayasi-xip-base
Branch point for: uebayasi-xip
Changes since 1.210: +3 -3
lines
Diff to previous 1.210 (colored)
Remove a shadowed and unused local declaration so that this builds again.
Revision 1.210 / (download) - annotate - [select for diffs], Fri Jan 1 02:32:28 2010 UTC (13 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.209: +6 -0
lines
Diff to previous 1.209 (colored)
Sprinkle assertions after calling pmap_get_l2_bucket().
Revision 1.209 / (download) - annotate - [select for diffs], Thu Dec 31 18:34:56 2009 UTC (13 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.208: +5 -5
lines
Diff to previous 1.208 (colored)
Use pmap_is_current() where appropriate. No functional changes.
Revision 1.208 / (download) - annotate - [select for diffs], Thu Dec 31 16:00:53 2009 UTC (13 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.207: +1 -2
lines
Diff to previous 1.207 (colored)
pmap_page_remove(): remove an unused local variable; no functional changes.
Revision 1.207 / (download) - annotate - [select for diffs], Thu Dec 31 02:36:14 2009 UTC (13 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.206: +6 -6
lines
Diff to previous 1.206 (colored)
Correct assertions for PMAP_CACHE_VIPT code; if page coloring is disabled (arm_cache_prefer_mask == 0), pvh_attrs has never PVF_COLORED, so don't assert it. No functional changes.
Revision 1.206 / (download) - annotate - [select for diffs], Mon Dec 28 15:13:57 2009 UTC (13 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.205: +19 -16
lines
Diff to previous 1.205 (colored)
Indent.
Revision 1.205 / (download) - annotate - [select for diffs], Mon Dec 28 15:02:59 2009 UTC (13 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.204: +36 -36
lines
Diff to previous 1.204 (colored)
Always name struct pv_entry * as pv, not pve. No binary change.
Revision 1.204 / (download) - annotate - [select for diffs], Sun Dec 27 05:14:56 2009 UTC (13 years, 2 months ago) by uebayasi
Branch: MAIN
Changes since 1.203: +24 -3
lines
Diff to previous 1.203 (colored)
Add write-through cache work-around for ARM11 as well as ARM9/ARM10. Analyzed & tested on i.MX35 with help from Tsubai Masanari.
Revision 1.187.4.1 / (download) - annotate - [select for diffs], Thu Dec 3 09:26:59 2009 UTC (13 years, 3 months ago) by sborrill
Branch: netbsd-5
CVS Tags: netbsd-5-2-RELEASE,
netbsd-5-2-RC1,
netbsd-5-2-3-RELEASE,
netbsd-5-2-2-RELEASE,
netbsd-5-2-1-RELEASE,
netbsd-5-2,
netbsd-5-1-RELEASE,
netbsd-5-1-RC4,
netbsd-5-1-RC3,
netbsd-5-1-RC2,
netbsd-5-1-RC1,
netbsd-5-1-5-RELEASE,
netbsd-5-1-4-RELEASE,
netbsd-5-1-3-RELEASE,
netbsd-5-1-2-RELEASE,
netbsd-5-1-1-RELEASE,
netbsd-5-1,
matt-nb5-pq3-base,
matt-nb5-pq3
Changes since 1.187: +21 -3
lines
Diff to previous 1.187 (colored) next main 1.188 (colored)
Pull up the following revisions(s) (requested by scw in ticket #1168): sys/arch/arm/arm32/pmap.c: revision 1.203 Work-around a possible process exit corner case which can leave stale data in the cache after a context-switch. Addresses kern/41058.
Revision 1.203 / (download) - annotate - [select for diffs], Sat Nov 28 11:44:45 2009 UTC (13 years, 3 months ago) by scw
Branch: MAIN
CVS Tags: matt-premerge-20091211
Changes since 1.202: +21 -3
lines
Diff to previous 1.202 (colored)
Apply some band-aid to pmap_activate() for PR kern/41058: There's a corner case here which can leave turds in the cache as reported in kern/41058. They're probably left over during tear-down and switching away from an exiting process. Until the root cause is identified and fixed, zap the cache when switching pmaps. This will result in a few unnecessary cache flushes, but that's better than silently corrupting data. Also remove an extraneous return statement in pmap_page_protect() which crept in during the matt-armv6 merge.
Revision 1.202 / (download) - annotate - [select for diffs], Sat Nov 21 20:32:18 2009 UTC (13 years, 4 months ago) by rmind
Branch: MAIN
Changes since 1.201: +2 -3
lines
Diff to previous 1.201 (colored)
Use lwp_getpcb() on ARM (and acorn26/32), clean from struct user usage.
Revision 1.201 / (download) - annotate - [select for diffs], Sat Nov 7 07:27:41 2009 UTC (13 years, 4 months ago) by cegger
Branch: MAIN
Changes since 1.200: +6 -5
lines
Diff to previous 1.200 (colored)
Add a flags argument to pmap_kenter_pa(9). Patch showed on tech-kern@ http://mail-index.netbsd.org/tech-kern/2009/11/04/msg006434.html No objections.
Revision 1.200 / (download) - annotate - [select for diffs], Thu Oct 22 19:50:55 2009 UTC (13 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.199: +9 -20
lines
Diff to previous 1.199 (colored)
Simplify pmap_remove() a little by avoiding pmap_do_remove() layer, since possibility to skip wired mappings is not needed anymore. Apart from that, no functional differences are intended.
Revision 1.199 / (download) - annotate - [select for diffs], Wed Oct 21 21:11:59 2009 UTC (13 years, 5 months ago) by rmind
Branch: MAIN
Changes since 1.198: +2 -21
lines
Diff to previous 1.198 (colored)
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 1.195.2.1 / (download) - annotate - [select for diffs], Wed May 13 17:16:12 2009 UTC (13 years, 10 months ago) by jym
Branch: jym-xensuspend
Changes since 1.195: +10 -11
lines
Diff to previous 1.195 (colored) next main 1.196 (colored)
Sync with HEAD. Commit is split, to avoid a "too many arguments" protocol error.
Revision 1.173.2.2 / (download) - annotate - [select for diffs], Mon May 4 08:10:38 2009 UTC (13 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.173.2.1: +644 -292
lines
Diff to previous 1.173.2.1 (colored) to branchpoint 1.173 (colored)
sync with head.
Revision 1.187.2.2 / (download) - annotate - [select for diffs], Tue Apr 28 07:33:43 2009 UTC (13 years, 10 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.187.2.1: +10 -11
lines
Diff to previous 1.187.2.1 (colored) to branchpoint 1.187 (colored) next main 1.188 (colored)
Sync with HEAD.
Revision 1.198 / (download) - annotate - [select for diffs], Tue Apr 21 21:29:58 2009 UTC (13 years, 11 months ago) by cegger
Branch: MAIN
CVS Tags: yamt-nfs-mp-base8,
yamt-nfs-mp-base7,
yamt-nfs-mp-base6,
yamt-nfs-mp-base5,
yamt-nfs-mp-base4,
yamt-nfs-mp-base3,
nick-hppapmap-base4,
nick-hppapmap-base3,
nick-hppapmap-base,
jymxensuspend-base
Changes since 1.197: +5 -5
lines
Diff to previous 1.197 (colored)
change pmap flags argument from int to u_int. discussed with christos@ on source-changes-d@
Revision 1.197 / (download) - annotate - [select for diffs], Sun Mar 15 22:20:10 2009 UTC (14 years ago) by cegger
Branch: MAIN
Changes since 1.196: +3 -3
lines
Diff to previous 1.196 (colored)
ansify function definitions
Revision 1.196 / (download) - annotate - [select for diffs], Mon Mar 9 08:42:36 2009 UTC (14 years ago) by nonaka
Branch: MAIN
Changes since 1.195: +6 -7
lines
Diff to previous 1.195 (colored)
avail_start and avail_end is paddr_t.
Revision 1.187.2.1 / (download) - annotate - [select for diffs], Mon Jan 19 13:15:57 2009 UTC (14 years, 2 months ago) by skrll
Branch: nick-hppapmap
Changes since 1.187: +192 -109
lines
Diff to previous 1.187 (colored)
Sync with HEAD.
Revision 1.171.6.7 / (download) - annotate - [select for diffs], Sat Jan 17 13:27:52 2009 UTC (14 years, 2 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.171.6.6: +190 -107
lines
Diff to previous 1.171.6.6 (colored) to branchpoint 1.171 (colored) next main 1.172 (colored)
Sync with HEAD.
Revision 1.195 / (download) - annotate - [select for diffs], Thu Jan 8 01:42:48 2009 UTC (14 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: nick-hppapmap-base2,
mjf-devfs2-base
Branch point for: jym-xensuspend
Changes since 1.194: +16 -2
lines
Diff to previous 1.194 (colored)
When allocating a KMPAGE and it has multiple colors, make sure to flush them. Add some more KASSERTs for multiple colors (or lack thereof).
Revision 1.194 / (download) - annotate - [select for diffs], Tue Dec 30 05:51:19 2008 UTC (14 years, 2 months ago) by matt
Branch: MAIN
Changes since 1.193: +162 -103
lines
Diff to previous 1.193 (colored)
Reclaim PVF_KNC in VIPT to be PVF_MULTCLR (page has multiple colors). Track when a page is mapping in multiple colors and deal with the ramifications. When a page's MOD attribute is cleared, clean it from the cache. Fix a logic inversion. With these changes, the TI SDP2420 H4 board can successfully natively build a TISDP2420 kernel.
Revision 1.180.2.2 / (download) - annotate - [select for diffs], Sat Dec 13 01:13:01 2008 UTC (14 years, 3 months ago) by haad
Branch: haad-dm
Changes since 1.180.2.1: +0 -6480
lines
Diff to previous 1.180.2.1 (colored) next main 1.181 (colored)
Update haad-dm branch to haad-dm-base2.
Revision 1.193 / (download) - annotate - [select for diffs], Wed Dec 10 11:10:18 2008 UTC (14 years, 3 months ago) by pooka
Branch: MAIN
CVS Tags: haad-nbase2,
haad-dm-base2,
haad-dm-base
Changes since 1.192: +3 -3
lines
Diff to previous 1.192 (colored)
Make kernel_pmap_ptr a const. Requested by steve_martin.
Revision 1.192 / (download) - annotate - [select for diffs], Tue Dec 9 20:45:44 2008 UTC (14 years, 3 months ago) by pooka
Branch: MAIN
Changes since 1.191: +4 -3
lines
Diff to previous 1.191 (colored)
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 1.191 / (download) - annotate - [select for diffs], Wed Nov 19 06:24:04 2008 UTC (14 years, 4 months ago) by matt
Branch: MAIN
CVS Tags: ad-audiomp2-base,
ad-audiomp2
Changes since 1.190: +7 -4
lines
Diff to previous 1.190 (colored)
Allocate /dev/mem's page in pmap_init. Mark /dev/mem as MPSAFE. Ansify.
Revision 1.190 / (download) - annotate - [select for diffs], Wed Nov 12 12:35:57 2008 UTC (14 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.189: +3 -3
lines
Diff to previous 1.189 (colored)
Remove LKMs and switch to the module framework, pass 1. Proposed on tech-kern@.
Revision 1.189 / (download) - annotate - [select for diffs], Tue Nov 4 07:21:24 2008 UTC (14 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.188: +5 -2
lines
Diff to previous 1.188 (colored)
Use a mutex to control access DEV_MEM.
Revision 1.188 / (download) - annotate - [select for diffs], Tue Nov 4 07:10:01 2008 UTC (14 years, 4 months ago) by matt
Branch: MAIN
Changes since 1.187: +9 -6
lines
Diff to previous 1.187 (colored)
Protect some code with if (pg) { .. }
Revision 1.180.2.1 / (download) - annotate - [select for diffs], Sun Oct 19 22:15:41 2008 UTC (14 years, 5 months ago) by haad
Branch: haad-dm
Changes since 1.180: +459 -232
lines
Diff to previous 1.180 (colored)
Sync with HEAD.
Revision 1.175.2.3 / (download) - annotate - [select for diffs], Fri Oct 10 22:29:03 2008 UTC (14 years, 5 months ago) by skrll
Branch: wrstuden-revivesa
Changes since 1.175.2.2: +3 -3
lines
Diff to previous 1.175.2.2 (colored) to branchpoint 1.175 (colored) next main 1.176 (colored)
Sync with HEAD.
Revision 1.171.6.6 / (download) - annotate - [select for diffs], Sun Oct 5 20:11:25 2008 UTC (14 years, 5 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.171.6.5: +1 -1
lines
Diff to previous 1.171.6.5 (colored) to branchpoint 1.171 (colored)
Sync with HEAD.
Revision 1.187 / (download) - annotate - [select for diffs], Sun Sep 28 21:27:11 2008 UTC (14 years, 5 months ago) by skrll
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-4,
netbsd-5-base,
netbsd-5-0-RELEASE,
netbsd-5-0-RC4,
netbsd-5-0-RC3,
netbsd-5-0-RC2,
netbsd-5-0-RC1,
netbsd-5-0-2-RELEASE,
netbsd-5-0-1-RELEASE,
netbsd-5-0,
matt-nb5-mips64-u2-k2-k4-k7-k8-k9,
matt-nb5-mips64-u1-k1-k5,
matt-nb5-mips64-premerge-20091211,
matt-nb4-mips64-k7-u2a-k9b,
matt-mips64-base2,
haad-dm-base1
Branch point for: nick-hppapmap,
netbsd-5,
matt-nb5-mips64
Changes since 1.186: +3 -3
lines
Diff to previous 1.186 (colored)
Typo in comment.
Revision 1.171.6.5 / (download) - annotate - [select for diffs], Sun Sep 28 10:39:47 2008 UTC (14 years, 5 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.171.6.4: +469 -207
lines
Diff to previous 1.171.6.4 (colored) to branchpoint 1.171 (colored)
Sync with HEAD.
Revision 1.175.2.2 / (download) - annotate - [select for diffs], Thu Sep 18 04:33:18 2008 UTC (14 years, 6 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.175.2.1: +479 -209
lines
Diff to previous 1.175.2.1 (colored) to branchpoint 1.175 (colored)
Sync with wrstuden-revivesa-base-2.
Revision 1.186 / (download) - annotate - [select for diffs], Thu Aug 14 14:54:32 2008 UTC (14 years, 7 months ago) by matt
Branch: MAIN
CVS Tags: wrstuden-revivesa-base-3,
wrstuden-revivesa-base-2
Changes since 1.185: +42 -13
lines
Diff to previous 1.185 (colored)
Now that we track pages used by any of the kernel memory allocators, keep a count of them and export it as a sysctl node machdep.kmpages
Revision 1.185 / (download) - annotate - [select for diffs], Wed Aug 13 06:05:54 2008 UTC (14 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.184: +72 -60
lines
Diff to previous 1.184 (colored)
Fix a few more corner cases. Always KMPAGE or pages with unmanaged writeable kernel mappings as modified. Only ever set DIRTY bit is DMOD is true and NC is false. Don't modify unmanaged mappings in pmap_clearbit.
Revision 1.184 / (download) - annotate - [select for diffs], Fri Aug 8 06:21:09 2008 UTC (14 years, 7 months ago) by dogcow
Branch: MAIN
Changes since 1.183: +3 -3
lines
Diff to previous 1.183 (colored)
fix "warning: 'npv' may be used uninitialized in this function"
Revision 1.183 / (download) - annotate - [select for diffs], Wed Aug 6 19:13:45 2008 UTC (14 years, 7 months ago) by matt
Branch: MAIN
Changes since 1.182: +226 -107
lines
Diff to previous 1.182 (colored)
Change pv_entries to use SLIST. For VIPT caches, keep track of when pages are dirty so that their content can be flushed back to main memory. This is done when the page is read-only mapped by more than 1 color. Pages become when either their modified bit gets set or an unmanaged writeable page is mapped. When a page in unmapped or changed to read-only, run pmap_vac_me_harder in case the page can be mapped read-only. Thanks are given to Imre Deak for giving me the idea to assert for PVF_DIRTY.
Revision 1.176.2.4 / (download) - annotate - [select for diffs], Fri Jul 18 16:37:26 2008 UTC (14 years, 8 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.176.2.3: +244 -177
lines
Diff to previous 1.176.2.3 (colored) next main 1.177 (colored)
Sync with head.
Revision 1.182 / (download) - annotate - [select for diffs], Wed Jul 16 00:19:57 2008 UTC (14 years, 8 months ago) by matt
Branch: MAIN
CVS Tags: simonb-wapbl-nbase,
simonb-wapbl-base
Changes since 1.181: +243 -177
lines
Diff to previous 1.181 (colored)
Revamp bookkeeping for pages entered by pmap_kenter_pa. Keep track of them on pvlists so that the cacheability can be properly tracked.
Revision 1.181 / (download) - annotate - [select for diffs], Wed Jul 9 23:22:15 2008 UTC (14 years, 8 months ago) by scw
Branch: MAIN
Changes since 1.180: +3 -2
lines
Diff to previous 1.180 (colored)
When dealing with 'cleanlist_idx == PMAP_REMOVE_CLEAN_LIST_SIZE' in pmap_do_remove(), make sure to use PTE_SYNC() for each rolled-back PTE on the list. Fixes potential MMU inconsistencies on some ARM platforms where page-tables are mapped write-back.
Revision 1.176.2.3 / (download) - annotate - [select for diffs], Thu Jul 3 18:37:51 2008 UTC (14 years, 8 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.176.2.2: +51 -16
lines
Diff to previous 1.176.2.2 (colored)
Sync with head.
Revision 1.180 / (download) - annotate - [select for diffs], Thu Jul 3 13:02:12 2008 UTC (14 years, 8 months ago) by matt
Branch: MAIN
Branch point for: haad-dm
Changes since 1.179: +10 -4
lines
Diff to previous 1.179 (colored)
Use the same login in pmap_kenter_pa when removing an unmamanged mapping as in pmap_kremove (otherwise kro_mappings will become incorrect).
Revision 1.179 / (download) - annotate - [select for diffs], Thu Jul 3 06:13:41 2008 UTC (14 years, 8 months ago) by matt
Branch: MAIN
Changes since 1.178: +43 -14
lines
Diff to previous 1.178 (colored)
For armv6(VIPT), change the rules for mapping via kenter_pa. Allow readonly pages to be mapped by different cache color indexes.
Revision 1.171.6.4 / (download) - annotate - [select for diffs], Sun Jun 29 09:32:54 2008 UTC (14 years, 8 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.171.6.3: +10 -2
lines
Diff to previous 1.171.6.3 (colored) to branchpoint 1.171 (colored)
Sync with HEAD.
Revision 1.176.2.2 / (download) - annotate - [select for diffs], Fri Jun 27 15:11:16 2008 UTC (14 years, 8 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.176.2.1: +10 -2
lines
Diff to previous 1.176.2.1 (colored)
Sync with head.
Revision 1.178 / (download) - annotate - [select for diffs], Tue Jun 24 22:00:32 2008 UTC (14 years, 9 months ago) by scw
Branch: MAIN
Changes since 1.177: +10 -2
lines
Diff to previous 1.177 (colored)
In pmap_deactivate(), if the process is exiting make sure the next call to pmap_activate() performs a full MMU context-switch and cache flush, which might otherwise be skipped. Fixes ARM_LOW_VECTORS problem reported in PR port-arm/38950.
Revision 1.175.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:30:10 2008 UTC (14 years, 9 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.175: +5 -5
lines
Diff to previous 1.175 (colored)
Sync w/ -current. 34 merge conflicts to follow.
Revision 1.176.2.1 / (download) - annotate - [select for diffs], Wed Jun 18 16:32:38 2008 UTC (14 years, 9 months ago) by simonb
Branch: simonb-wapbl
Changes since 1.176: +4 -4
lines
Diff to previous 1.176 (colored)
Sync with head.
Revision 1.172.2.2 / (download) - annotate - [select for diffs], Tue Jun 17 09:13:55 2008 UTC (14 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.172.2.1: +5 -5
lines
Diff to previous 1.172.2.1 (colored) to branchpoint 1.172 (colored) next main 1.173 (colored)
sync with head.
Revision 1.177 / (download) - annotate - [select for diffs], Tue Jun 17 08:04:26 2008 UTC (14 years, 9 months ago) by chris
Branch: MAIN
CVS Tags: yamt-pf42-base4,
wrstuden-revivesa-base-1,
wrstuden-revivesa-base
Changes since 1.176: +4 -4
lines
Diff to previous 1.176 (colored)
Fix two KASSERT(value | (C1|C2)) to KASSERT(value & (C1|C2)) so that it tests for something, rather than always being true. Pointed out by Andy Shevchenko in: http://mail-index.netbsd.org/port-arm/2008/06/17/msg000255.html
Revision 1.171.6.3 / (download) - annotate - [select for diffs], Thu Jun 5 19:14:32 2008 UTC (14 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.171.6.2: +1 -1
lines
Diff to previous 1.171.6.2 (colored) to branchpoint 1.171 (colored)
Sync with HEAD. Also fix build.
Revision 1.176 / (download) - annotate - [select for diffs], Wed Jun 4 12:41:40 2008 UTC (14 years, 9 months ago) by ad
Branch: MAIN
Branch point for: simonb-wapbl
Changes since 1.175: +3 -3
lines
Diff to previous 1.175 (colored)
vm_page: put TAILQ_ENTRY into a union with LIST_ENTRY, so we can use both.
Revision 1.171.6.2 / (download) - annotate - [select for diffs], Mon Jun 2 13:21:53 2008 UTC (14 years, 9 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.171.6.1: +1229 -152
lines
Diff to previous 1.171.6.1 (colored) to branchpoint 1.171 (colored)
Sync with HEAD.
Revision 1.172.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:31:34 2008 UTC (14 years, 10 months ago) by yamt
Branch: yamt-pf42
Changes since 1.172: +1231 -154
lines
Diff to previous 1.172 (colored)
sync with head.
Revision 1.173.2.1 / (download) - annotate - [select for diffs], Fri May 16 02:21:56 2008 UTC (14 years, 10 months ago) by yamt
Branch: yamt-nfs-mp
Changes since 1.173: +1214 -139
lines
Diff to previous 1.173 (colored)
sync with head.
Revision 1.175 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:13 2008 UTC (14 years, 10 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base3,
yamt-pf42-base2,
yamt-nfs-mp-base2,
hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Changes since 1.174: +2 -9
lines
Diff to previous 1.174 (colored)
Remove clause 3 and 4 from TNF licenses
Revision 1.174 / (download) - annotate - [select for diffs], Sun Apr 27 18:58:44 2008 UTC (14 years, 10 months ago) by matt
Branch: MAIN
Changes since 1.173: +1214 -132
lines
Diff to previous 1.173 (colored)
Merge kernel changes in matt-armv6 to HEAD.
Revision 1.173 / (download) - annotate - [select for diffs], Sun Apr 20 15:42:19 2008 UTC (14 years, 11 months ago) by scw
Branch: MAIN
CVS Tags: yamt-nfs-mp-base
Branch point for: yamt-nfs-mp
Changes since 1.172: +19 -17
lines
Diff to previous 1.172 (colored)
There's really no need to switch VM contexts within cpu_switchto() as MI code always calls pmap_deactivate/pmap_activate on context switch. Instead, just record the last active lwp (or NULL if it exited) and defer switching VM context to pmap_activate(). This saves an additional function call overhead in cpu_switchto(). While here, g/c unused cpuswitch.S local .Lblock_userspace_access.
Revision 1.171.6.1 / (download) - annotate - [select for diffs], Thu Apr 3 12:42:12 2008 UTC (14 years, 11 months ago) by mjf
Branch: mjf-devfs2
Changes since 1.171: +14 -20
lines
Diff to previous 1.171 (colored)
Sync with HEAD.
Revision 1.172 / (download) - annotate - [select for diffs], Sat Mar 29 15:52:09 2008 UTC (14 years, 11 months ago) by chris
Branch: MAIN
CVS Tags: yamt-pf42-baseX,
yamt-pf42-base
Branch point for: yamt-pf42
Changes since 1.171: +14 -20
lines
Diff to previous 1.171 (colored)
Fix LOCKDEBUG build on arm by: * converting simple_{un}lock to mutex_enter/exit * Using UVM_OBJ_INIT & DESTROY for the uvm_object in the pmap structure
Revision 1.164.12.10 / (download) - annotate - [select for diffs], Tue Mar 4 06:08:32 2008 UTC (15 years ago) by matt
Branch: matt-armv6
Changes since 1.164.12.9: +6 -4
lines
Diff to previous 1.164.12.9 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored)
Fix a bug in pmap_flush_page which could nuke a PTE being used by pmap_zero_page or pmap_copy_page.
Revision 1.164.6.3 / (download) - annotate - [select for diffs], Thu Feb 28 21:47:41 2008 UTC (15 years ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.164.6.2: +15 -6
lines
Diff to previous 1.164.6.2 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored)
Sync with HEAD.
Revision 1.167.2.2 / (download) - annotate - [select for diffs], Mon Feb 18 21:04:22 2008 UTC (15 years, 1 month ago) by mjf
Branch: mjf-devfs
Changes since 1.167.2.1: +15 -6
lines
Diff to previous 1.167.2.1 (colored) to branchpoint 1.167 (colored) next main 1.168 (colored)
Sync with HEAD.
Revision 1.154.2.6 / (download) - annotate - [select for diffs], Mon Jan 21 09:35:37 2008 UTC (15 years, 2 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.154.2.5: +15 -6
lines
Diff to previous 1.154.2.5 (colored) to branchpoint 1.154 (colored) next main 1.155 (colored)
sync with head
Revision 1.164.10.2 / (download) - annotate - [select for diffs], Sun Jan 20 16:03:57 2008 UTC (15 years, 2 months ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.164.10.1: +31 -12
lines
Diff to previous 1.164.10.1 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored)
Sync to HEAD.
Revision 1.164.12.9 / (download) - annotate - [select for diffs], Wed Jan 9 01:45:12 2008 UTC (15 years, 2 months ago) by matt
Branch: matt-armv6
Changes since 1.164.12.8: +14 -5
lines
Diff to previous 1.164.12.8 (colored) to branchpoint 1.164 (colored)
sync with HEAD
Revision 1.169.6.2 / (download) - annotate - [select for diffs], Tue Jan 8 22:09:25 2008 UTC (15 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
CVS Tags: bouyer-xeni386-merge1
Changes since 1.169.6.1: +3 -2
lines
Diff to previous 1.169.6.1 (colored) to branchpoint 1.169 (colored) next main 1.170 (colored)
Sync with HEAD
Revision 1.171 / (download) - annotate - [select for diffs], Sun Jan 6 03:11:42 2008 UTC (15 years, 2 months ago) by matt
Branch: MAIN
CVS Tags: yamt-lazymbuf-base15,
yamt-lazymbuf-base14,
nick-net80211-sync-base,
nick-net80211-sync,
mjf-devfs-base,
matt-armv6-nbase,
matt-armv6-base,
keiichi-mipv6-nbase,
keiichi-mipv6-base,
keiichi-mipv6,
hpcarm-cleanup-base,
chris-arm-intr-rework-base7,
chris-arm-intr-rework-base6,
chris-arm-intr-rework-base5,
chris-arm-intr-rework-base4,
bouyer-xeni386-nbase,
bouyer-xeni386-base,
ad-socklock-base1
Branch point for: mjf-devfs2
Changes since 1.170: +5 -4
lines
Diff to previous 1.170 (colored)
current_intr_depth is dead. Make sure we don't use it anymore.
Revision 1.169.6.1 / (download) - annotate - [select for diffs], Wed Jan 2 21:47:21 2008 UTC (15 years, 2 months ago) by bouyer
Branch: bouyer-xeni386
Changes since 1.169: +12 -4
lines
Diff to previous 1.169 (colored)
Sync with HEAD
Revision 1.164.10.1 / (download) - annotate - [select for diffs], Tue Jan 1 15:39:18 2008 UTC (15 years, 2 months ago) by chris
Branch: chris-arm-intr-rework
Changes since 1.164: +157 -146
lines
Diff to previous 1.164 (colored)
Sync with HEAD.
Revision 1.170 / (download) - annotate - [select for diffs], Tue Jan 1 14:06:42 2008 UTC (15 years, 2 months ago) by chris
Branch: MAIN
CVS Tags: chris-arm-intr-rework-base3
Changes since 1.169: +12 -4
lines
Diff to previous 1.169 (colored)
Add support for kcore headers to arm32 kernel core dumps. The kcore code is based on i386's kcore header handling. Having an asm stub for dumpsys, to dump the registers onto the stack, and then call the C code to do the memory dump is based on amd64's core dump code. This allows a successful core dump on cats. Part of fixing PR cats/18026.
Revision 1.164.6.2 / (download) - annotate - [select for diffs], Wed Dec 26 22:24:35 2007 UTC (15 years, 3 months ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.164.6.1: +14 -22
lines
Diff to previous 1.164.6.1 (colored) to branchpoint 1.164 (colored)
Sync with HEAD.
Revision 1.161.2.6 / (download) - annotate - [select for diffs], Mon Dec 3 18:34:54 2007 UTC (15 years, 3 months ago) by ad
Branch: vmlocking
Changes since 1.161.2.5: +14 -22
lines
Diff to previous 1.161.2.5 (colored) next main 1.162 (colored)
Sync with HEAD.
Revision 1.167.2.1 / (download) - annotate - [select for diffs], Mon Nov 19 00:46:11 2007 UTC (15 years, 4 months ago) by mjf
Branch: mjf-devfs
Changes since 1.167: +14 -22
lines
Diff to previous 1.167 (colored)
Sync with HEAD.
Revision 1.154.2.5 / (download) - annotate - [select for diffs], Thu Nov 15 11:42:35 2007 UTC (15 years, 4 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.154.2.4: +14 -22
lines
Diff to previous 1.154.2.4 (colored) to branchpoint 1.154 (colored)
sync with head.
Revision 1.166.2.1 / (download) - annotate - [select for diffs], Tue Nov 13 15:58:13 2007 UTC (15 years, 4 months ago) by bouyer
Branch: bouyer-xenamd64
Changes since 1.166: +14 -22
lines
Diff to previous 1.166 (colored) next main 1.167 (colored)
Sync with HEAD
Revision 1.164.8.3 / (download) - annotate - [select for diffs], Sun Nov 11 16:46:25 2007 UTC (15 years, 4 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.164.8.2: +14 -22
lines
Diff to previous 1.164.8.2 (colored) to branchpoint 1.164 (colored) next main 1.165 (colored)
Sync with HEAD.
Revision 1.157.24.1.4.3 / (download) - annotate - [select for diffs], Sat Nov 10 04:18:51 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-nb4-arm
Changes since 1.157.24.1.4.2: +5 -4
lines
Diff to previous 1.157.24.1.4.2 (colored) to branchpoint 1.157.24.1 (colored) next main 1.158 (colored)
Refix thinko. (deal with non-page-aligned starts/lengths)
Revision 1.164.12.8 / (download) - annotate - [select for diffs], Sat Nov 10 04:16:11 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-armv6
CVS Tags: matt-armv6-prevmlocking
Changes since 1.164.12.7: +8 -5
lines
Diff to previous 1.164.12.7 (colored) to branchpoint 1.164 (colored)
Fix thinko. (need to deal non-page-aligned size/lengths)
Revision 1.157.24.1.4.2 / (download) - annotate - [select for diffs], Sat Nov 10 04:00:01 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-nb4-arm
Changes since 1.157.24.1.4.1: +6 -4
lines
Diff to previous 1.157.24.1.4.1 (colored) to branchpoint 1.157.24.1 (colored)
Fix thinko.
Revision 1.157.24.1.4.1 / (download) - annotate - [select for diffs], Sat Nov 10 02:56:26 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-nb4-arm
Changes since 1.157.24.1: +963 -93
lines
Diff to previous 1.157.24.1 (colored)
Add AT91 support from Sami Kantoluoto Add TI OMAP2430 support from Marty Fouts @ Danger Inc
Revision 1.164.12.7 / (download) - annotate - [select for diffs], Fri Nov 9 19:24:47 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.164.12.6: +39 -2
lines
Diff to previous 1.164.12.6 (colored) to branchpoint 1.164 (colored)
Add pmap_icache_sync_range and change arm32_sync_icache to use it. This will only invalidate va that have valid PTEs. This avoids cleaning unneeded cache lines.
Revision 1.164.12.6 / (download) - annotate - [select for diffs], Fri Nov 9 05:37:37 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.164.12.5: +9 -9
lines
Diff to previous 1.164.12.5 (colored) to branchpoint 1.164 (colored)
Make all the evbarm kernels build again. Fix lossage from rebase.
Revision 1.169 / (download) - annotate - [select for diffs], Thu Nov 8 11:10:28 2007 UTC (15 years, 4 months ago) by matt
Branch: MAIN
CVS Tags: yamt-kmem-base3,
yamt-kmem-base2,
yamt-kmem-base,
yamt-kmem,
vmlocking2-base3,
vmlocking2-base2,
vmlocking2-base1,
vmlocking2,
vmlocking-nbase,
reinoud-bufcleanup-nbase,
reinoud-bufcleanup-base,
jmcneill-pm-base,
cube-autoconf-base,
cube-autoconf,
bouyer-xenamd64-base2,
bouyer-xenamd64-base
Branch point for: bouyer-xeni386
Changes since 1.168: +4 -4
lines
Diff to previous 1.168 (colored)
Make this compile again.
Revision 1.164.12.5 / (download) - annotate - [select for diffs], Thu Nov 8 10:59:33 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.164.12.4: +14 -22
lines
Diff to previous 1.164.12.4 (colored) to branchpoint 1.164 (colored)
sync with -HEAD
Revision 1.164.12.4 / (download) - annotate - [select for diffs], Wed Nov 7 06:38:29 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.164.12.3: +4 -2
lines
Diff to previous 1.164.12.3 (colored) to branchpoint 1.164 (colored)
Fix botched color assertion
Revision 1.168 / (download) - annotate - [select for diffs], Wed Nov 7 00:23:15 2007 UTC (15 years, 4 months ago) by ad
Branch: MAIN
Changes since 1.167: +12 -20
lines
Diff to previous 1.167 (colored)
Merge from vmlocking: - pool_cache changes. - Debugger/procfs locking fixes. - Other minor changes.
Revision 1.164.12.3 / (download) - annotate - [select for diffs], Tue Nov 6 23:15:00 2007 UTC (15 years, 4 months ago) by matt
Branch: matt-armv6
Changes since 1.164.12.2: +138 -126
lines
Diff to previous 1.164.12.2 (colored) to branchpoint 1.164 (colored)
sync with HEAD
Revision 1.164.6.1 / (download) - annotate - [select for diffs], Thu Nov 1 16:06:47 2007 UTC (15 years, 4 months ago) by rjs
Branch: hpcarm-cleanup
Changes since 1.164: +135 -124
lines
Diff to previous 1.164 (colored)
Sync with HEAD.
Revision 1.154.2.4 / (download) - annotate - [select for diffs], Sat Oct 27 11:25:21 2007 UTC (15 years, 5 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.154.2.3: +135 -124
lines
Diff to previous 1.154.2.3 (colored) to branchpoint 1.154 (colored)
sync with head.
Revision 1.164.8.2 / (download) - annotate - [select for diffs], Fri Oct 26 15:42:14 2007 UTC (15 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.164.8.1: +4 -6
lines
Diff to previous 1.164.8.1 (colored) to branchpoint 1.164 (colored)
Sync with HEAD. Follow the merge of pmap.c on i386 and amd64 and move pmap_init_tmp_pgtbl into arch/x86/x86/pmap.c. Modify the ACPI wakeup code to restore CR4 before jumping back into kernel space as the large page option might cover that.
Revision 1.161.2.5 / (download) - annotate - [select for diffs], Fri Oct 19 12:42:41 2007 UTC (15 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.161.2.4: +4 -6
lines
Diff to previous 1.161.2.4 (colored)
Sync with head.
Revision 1.167 / (download) - annotate - [select for diffs], Wed Oct 17 19:53:31 2007 UTC (15 years, 5 months ago) by garbled
Branch: MAIN
CVS Tags: yamt-x86pmap-base4,
jmcneill-base
Branch point for: mjf-devfs
Changes since 1.166: +2 -2
lines
Diff to previous 1.166 (colored)
Merge the ppcoea-renovation branch to HEAD. This branch was a major cleanup and rototill of many of the various OEA cpu based PPC ports that focused on sharing as much code as possible between the various ports to eliminate near-identical copies of files in every tree. Additionally there is a new PIC system that unifies the interface to interrupt code for all different OEA ppc arches. The work for this branch was done by a variety of people, too long to list here. TODO: bebox still needs work to complete the transition to -renovation. ofppc still needs a bunch of work, which I will be looking at. ev64260 still needs to be renovated amigappc was not attempted. NOTES: pmppc was removed as an arch, and moved to a evbppc target.
Revision 1.163.4.3 / (download) - annotate - [select for diffs], Tue Oct 16 18:23:35 2007 UTC (15 years, 5 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.163.4.2: +4 -6
lines
Diff to previous 1.163.4.2 (colored) to branchpoint 1.163 (colored) next main 1.164 (colored)
Sync with HEAD
Revision 1.165.2.1 / (download) - annotate - [select for diffs], Sun Oct 14 11:47:32 2007 UTC (15 years, 5 months ago) by yamt
Branch: yamt-x86pmap
Changes since 1.165: +4 -6
lines
Diff to previous 1.165 (colored) next main 1.166 (colored)
sync with head.
Revision 1.164.12.2 / (download) - annotate - [select for diffs], Fri Oct 12 02:22:22 2007 UTC (15 years, 5 months ago) by matt
Branch: matt-armv6
Changes since 1.164.12.1: +1162 -125
lines
Diff to previous 1.164.12.1 (colored) to branchpoint 1.164 (colored)
Import TI OMAP 2430 and ARM11/ARMv6 support. Now on ARMv6, the cache is no longer purged on context switches.
Revision 1.166 / (download) - annotate - [select for diffs], Wed Oct 10 17:44:39 2007 UTC (15 years, 5 months ago) by ad
Branch: MAIN
CVS Tags: yamt-x86pmap-base3,
vmlocking-base,
ppcoea-renovation-base
Branch point for: bouyer-xenamd64
Changes since 1.165: +4 -6
lines
Diff to previous 1.165 (colored)
Comment out references to spinlockmgr().
Revision 1.161.2.4 / (download) - annotate - [select for diffs], Tue Oct 9 13:37:29 2007 UTC (15 years, 5 months ago) by ad
Branch: vmlocking
Changes since 1.161.2.3: +133 -120
lines
Diff to previous 1.161.2.3 (colored)
Sync with head.
Revision 1.163.4.2 / (download) - annotate - [select for diffs], Wed Oct 3 19:22:38 2007 UTC (15 years, 5 months ago) by garbled
Branch: ppcoea-renovation
Changes since 1.163.4.1: +133 -120
lines
Diff to previous 1.163.4.1 (colored) to branchpoint 1.163 (colored)
Sync with HEAD
Revision 1.164.8.1 / (download) - annotate - [select for diffs], Tue Oct 2 18:26:52 2007 UTC (15 years, 5 months ago) by joerg
Branch: jmcneill-pm
Changes since 1.164: +133 -120
lines
Diff to previous 1.164 (colored)
Sync with HEAD.
Revision 1.165 / (download) - annotate - [select for diffs], Sat Sep 15 09:25:21 2007 UTC (15 years, 6 months ago) by scw
Branch: MAIN
CVS Tags: yamt-x86pmap-base2,
yamt-x86pmap-base
Branch point for: yamt-x86pmap
Changes since 1.164: +133 -120
lines
Diff to previous 1.164 (colored)
ARM cpu_switchto() has been partially broken since yamt-idlelwp was merged as its cache/tlb management smarts relied too heavily on pre-merge context- switch behaviour. See PR kern/36548 for one manifestation of the breakage. To address this: - Ditch the shadow pmap variables in the PCB (pagedir, l1vec, dacr, cstate) as it was too easy for them to get out of sync with the pmap. - Re-write (and fix) the convoluted cpuswitch.S cache/tlb ASM code in C. It's only slightly less efficient, but is much more readable/maintainable. - Document cpufuncs.cf_context_switch() as being C-callable. - pmap_activate() becomes a no-op if the lwp's vmspace is already active. (Good performance win, since pmap_activate() is now invoked on every context-switch, even though ARM's cpu_switchto() already does all the grunt work) XXX: Some CPU-specific armXX_context_switch() implementations (arm67, arm7tdmi, arm8) always flush the I+D caches. This should not be necessary. Someone with access to hardware (acorn32?) needs to deal with this.
Revision 1.154.2.3 / (download) - annotate - [select for diffs], Mon Sep 3 14:23:15 2007 UTC (15 years, 6 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.154.2.2: +11 -10
lines
Diff to previous 1.154.2.2 (colored) to branchpoint 1.154 (colored)
sync with head.
Revision 1.164.12.1 / (download) - annotate - [select for diffs], Wed Aug 29 04:31:37 2007 UTC (15 years, 6 months ago) by matt
Branch: matt-armv6
Changes since 1.164: +3 -3
lines
Diff to previous 1.164 (colored)
Use ci_intr_depth
Revision 1.162.2.1 / (download) - annotate - [select for diffs], Wed Jul 11 19:58:06 2007 UTC (15 years, 8 months ago) by mjf
Branch: mjf-ufs-trans
Changes since 1.162: +6 -5
lines
Diff to previous 1.162 (colored) next main 1.163 (colored)
Sync with head.
Revision 1.161.2.3 / (download) - annotate - [select for diffs], Sun May 27 12:27:08 2007 UTC (15 years, 10 months ago) by ad
Branch: vmlocking
Changes since 1.161.2.2: +3 -3
lines
Diff to previous 1.161.2.2 (colored)
Sync with head.
Revision 1.163.4.1 / (download) - annotate - [select for diffs], Tue May 22 17:26:39 2007 UTC (15 years, 10 months ago) by matt
Branch: ppcoea-renovation
Changes since 1.163: +3 -3
lines
Diff to previous 1.163 (colored)
Update to HEAD.
Revision 1.164 / (download) - annotate - [select for diffs], Thu May 17 14:51:16 2007 UTC (15 years, 10 months ago) by yamt
Branch: MAIN
CVS Tags: nick-csl-alignment-base5,
nick-csl-alignment-base,
nick-csl-alignment,
mjf-ufs-trans-base,
matt-mips64-base,
matt-mips64,
chris-arm-intr-rework-base2,
chris-arm-intr-rework-base
Branch point for: matt-armv6,
jmcneill-pm,
hpcarm-cleanup,
chris-arm-intr-rework
Changes since 1.163: +3 -3
lines
Diff to previous 1.163 (colored)
merge yamt-idlelwp branch. asked by core@. some ports still needs work. from doc/BRANCHES: idle lwp, and some changes depending on it. 1. separate context switching and thread scheduling. (cf. gmcgarry_ctxsw) 2. implement idle lwp. 3. clean up related MD/MI interfaces. 4. make scheduler(s) modular.
Revision 1.158.2.5 / (download) - annotate - [select for diffs], Sun Apr 15 16:02:37 2007 UTC (15 years, 11 months ago) by yamt
Branch: yamt-idlelwp
Changes since 1.158.2.4: +5 -4
lines
Diff to previous 1.158.2.4 (colored) to branchpoint 1.158 (colored) next main 1.159 (colored)
sync with head.
Revision 1.161.2.2 / (download) - annotate - [select for diffs], Tue Apr 10 13:22:51 2007 UTC (15 years, 11 months ago) by ad
Branch: vmlocking
Changes since 1.161.2.1: +5 -4
lines
Diff to previous 1.161.2.1 (colored)
Sync with head.
Revision 1.163 / (download) - annotate - [select for diffs], Mon Apr 9 16:05:41 2007 UTC (15 years, 11 months ago) by chris
Branch: MAIN
CVS Tags: yamt-idlelwp-base8,
thorpej-atomic-base,
thorpej-atomic
Branch point for: ppcoea-renovation
Changes since 1.162: +5 -4
lines
Diff to previous 1.162 (colored)
In pmap_activate restore interrupts to their previous state rather than always enabling them. It's not clear if this actually caused any problems, but it seems safer to restore to the previous state in case pmap_activate is ever called with interrupts disabled.
Revision 1.158.2.4 / (download) - annotate - [select for diffs], Thu Mar 29 10:52:27 2007 UTC (15 years, 11 months ago) by skrll
Branch: yamt-idlelwp
Changes since 1.158.2.3: +3 -3
lines
Diff to previous 1.158.2.3 (colored) to branchpoint 1.158 (colored)
Adapt arm32. Thanks to scw for helping out. Tested on my cats (SA1) XXX hydra should die. i've made some changes, but no guarantees.
Revision 1.158.2.3 / (download) - annotate - [select for diffs], Sat Mar 24 14:54:33 2007 UTC (16 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.158.2.2: +6 -6
lines
Diff to previous 1.158.2.2 (colored) to branchpoint 1.158 (colored)
sync with head.
Revision 1.161.2.1 / (download) - annotate - [select for diffs], Tue Mar 13 16:49:55 2007 UTC (16 years ago) by ad
Branch: vmlocking
Changes since 1.161: +6 -6
lines
Diff to previous 1.161 (colored)
Sync with head.
Revision 1.162 / (download) - annotate - [select for diffs], Mon Mar 12 18:18:24 2007 UTC (16 years ago) by ad
Branch: MAIN
CVS Tags: reinoud-bufcleanup
Branch point for: mjf-ufs-trans
Changes since 1.161: +6 -6
lines
Diff to previous 1.161 (colored)
Pass an ipl argument to pool_init/POOL_INIT to be used when initializing the pool's lock.
Revision 1.158.2.2 / (download) - annotate - [select for diffs], Mon Mar 12 05:47:02 2007 UTC (16 years ago) by rmind
Branch: yamt-idlelwp
Changes since 1.158.2.1: +3 -3
lines
Diff to previous 1.158.2.1 (colored) to branchpoint 1.158 (colored)
Sync with HEAD.
Revision 1.161 / (download) - annotate - [select for diffs], Sun Mar 4 05:59:37 2007 UTC (16 years ago) by christos
Branch: MAIN
Branch point for: vmlocking
Changes since 1.160: +3 -3
lines
Diff to previous 1.160 (colored)
Kill caddr_t; there will be some MI fallout, but it will be fixed shortly.
Revision 1.158.2.1 / (download) - annotate - [select for diffs], Tue Feb 27 16:49:32 2007 UTC (16 years ago) by yamt
Branch: yamt-idlelwp
Changes since 1.158: +72 -72
lines
Diff to previous 1.158 (colored)
- sync with head. - move sched_changepri back to kern_synch.c as it doesn't know PPQ anymore.
Revision 1.154.2.2 / (download) - annotate - [select for diffs], Mon Feb 26 09:05:55 2007 UTC (16 years, 1 month ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.154.2.1: +76 -76
lines
Diff to previous 1.154.2.1 (colored) to branchpoint 1.154 (colored)
sync with head.
Revision 1.160 / (download) - annotate - [select for diffs], Thu Feb 22 05:14:05 2007 UTC (16 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: ad-audiomp-base,
ad-audiomp
Changes since 1.159: +53 -53
lines
Diff to previous 1.159 (colored)
TRUE -> true, FALSE -> false
Revision 1.159 / (download) - annotate - [select for diffs], Wed Feb 21 22:59:38 2007 UTC (16 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.158: +22 -22
lines
Diff to previous 1.158 (colored)
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 1.157.24.1 / (download) - annotate - [select for diffs], Wed Feb 21 18:33:19 2007 UTC (16 years, 1 month ago) by snj
Branch: netbsd-4
CVS Tags: wrstuden-fixsa-newbase,
wrstuden-fixsa-base-1,
wrstuden-fixsa-base,
wrstuden-fixsa,
netbsd-4-0-RELEASE,
netbsd-4-0-RC5,
netbsd-4-0-RC4,
netbsd-4-0-RC3,
netbsd-4-0-RC2,
netbsd-4-0-RC1,
netbsd-4-0-1-RELEASE,
netbsd-4-0,
matt-nb4-arm-base
Branch point for: matt-nb4-arm
Changes since 1.157: +6 -6
lines
Diff to previous 1.157 (colored) next main 1.158 (colored)
Pull up following revision(s) (requested by matt in ticket #457): sys/arch/arm/arm32/pmap.c: revision 1.158 From Scott Allan in http://mail-index.netbsd.org/port-arm/2006/07/26/0000.html I ran into a problem when I tried to set up a mapping that started at virtual address 0xFFF00000 and was 0x00100000 long. In other words, the mapping should have gone to the end of the 32 bit address space. The mapping was made with no problem, but pmap_devmap_find_va() wouldn't find an address within the mapping. For example, if I told it to find a mapping for 0x1000 bytes at 0xFFF01000, it would try to make sure that 0xFFF01000 was greater than 0xFFF00000 and that (0xFFF01000+0x1000) was less than (0xFFF00000 +0x00100000). However, that last expression (0xFFF00000+0x00100000) wrapped around to be simply 0x00000000 so it wasn't found. This patch fixes this problem in pmap_devmap_find_va() and pmap_devmap_find_pa() by subtracting one off of the
Revision 1.157.20.1 / (download) - annotate - [select for diffs], Fri Jan 12 01:00:41 2007 UTC (16 years, 2 months ago) by ad
Branch: newlock2
Changes since 1.157: +6 -6
lines
Diff to previous 1.157 (colored) next main 1.158 (colored)
Sync with head.
Revision 1.158 / (download) - annotate - [select for diffs], Sat Jan 6 00:40:47 2007 UTC (16 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: post-newlock2-merge,
newlock2-nbase,
newlock2-base
Branch point for: yamt-idlelwp
Changes since 1.157: +6 -6
lines
Diff to previous 1.157 (colored)
From Scott Allen in http://mail-index.netbsd.org/port-arm/2006/07/26/0000.html I ran into a problem when I tried to set up a mapping that started at virtual address 0xFFF00000 and was 0x00100000 long. In other words, the mapping should have gone to the end of the 32 bit address space. The mapping was made with no problem, but pmap_devmap_find_va() wouldn't find an address within the mapping. For example, if I told it to find a mapping for 0x1000 bytes at 0xFFF01000, it would try to make sure that 0xFFF01000 was greater than 0xFFF00000 and that (0xFFF01000+0x1000) was less than (0xFFF00000+0x00100000). However, that last expression (0xFFF00000+0x00100000) wrapped around to be simply 0x00000000 so it wasn't found. This patch fixes this problem in pmap_devmap_find_va() and pmap_devmap_find_pa() by subtracting one off of the sizes to be compared, so in my example, (0xFFF01000+0x1000-1) will be less than (0xFFF00000+0x00100000-1).
Revision 1.154.2.1 / (download) - annotate - [select for diffs], Wed Jun 21 14:49:16 2006 UTC (16 years, 9 months ago) by yamt
Branch: yamt-lazymbuf
Changes since 1.154: +72 -64
lines
Diff to previous 1.154 (colored)
sync with head.
Revision 1.157 / (download) - annotate - [select for diffs], Sat Dec 24 20:06:47 2005 UTC (17 years, 3 months ago) by perry
Branch: MAIN
CVS Tags: yamt-uio_vmspace-base5,
yamt-uio_vmspace,
yamt-splraiseipl-base5,
yamt-splraiseipl-base4,
yamt-splraiseipl-base3,
yamt-splraiseipl-base2,
yamt-splraiseipl-base,
yamt-splraiseipl,
yamt-pdpolicy-base9,
yamt-pdpolicy-base8,
yamt-pdpolicy-base7,
yamt-pdpolicy-base6,
yamt-pdpolicy-base5,
yamt-pdpolicy-base4,
yamt-pdpolicy-base3,
yamt-pdpolicy-base2,
yamt-pdpolicy-base,
yamt-pdpolicy,
simonb-timecounters-base,
simonb-timecounters,
simonb-timcounters-final,
rpaulo-netinet-merge-pcb-base,
rpaulo-netinet-merge-pcb,
peter-altq-base,
peter-altq,
netbsd-4-base,
gdamore-uart-base,
gdamore-uart,
elad-kernelauth-base,
elad-kernelauth,
chap-midi-nbase,
chap-midi-base,
chap-midi,
abandoned-netbsd-4-base,
abandoned-netbsd-4
Branch point for: newlock2,
netbsd-4
Changes since 1.156: +27 -27
lines
Diff to previous 1.156 (colored)
Remove leading __ from __(const|inline|signed|volatile) -- it is obsolete.
Revision 1.137.2.7 / (download) - annotate - [select for diffs], Sun Dec 11 10:28:14 2005 UTC (17 years, 3 months ago) by christos
Branch: ktrace-lwp
Changes since 1.137.2.6: +47 -39
lines
Diff to previous 1.137.2.6 (colored) next main 1.138 (colored)
Sync with head.
Revision 1.156 / (download) - annotate - [select for diffs], Sat Dec 10 21:19:57 2005 UTC (17 years, 3 months ago) by scw
Branch: MAIN
CVS Tags: ktrace-lwp-base
Changes since 1.155: +40 -33
lines
Diff to previous 1.155 (colored)
Implement pmap_collect() for arm32.
Revision 1.155 / (download) - annotate - [select for diffs], Thu Dec 8 22:41:44 2005 UTC (17 years, 3 months ago) by yamt
Branch: MAIN
Changes since 1.154: +9 -8
lines
Diff to previous 1.154 (colored)
use VM_PAGE_TO_PHYS macro.
Revision 1.137.2.6 / (download) - annotate - [select for diffs], Thu Nov 10 13:55:16 2005 UTC (17 years, 4 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.137.2.5: +17 -7
lines
Diff to previous 1.137.2.5 (colored)
Sync with HEAD. Here we go again...
Revision 1.154 / (download) - annotate - [select for diffs], Mon Jul 4 00:42:37 2005 UTC (17 years, 8 months ago) by bsh
Branch: MAIN
CVS Tags: yamt-vop-base3,
yamt-vop-base2,
yamt-vop-base,
yamt-vop,
yamt-readahead-pervnode,
yamt-readahead-perfile,
yamt-readahead-base3,
yamt-readahead-base2,
yamt-readahead-base,
yamt-readahead,
thorpej-vnode-attr-base,
thorpej-vnode-attr
Branch point for: yamt-lazymbuf
Changes since 1.153: +3 -3
lines
Diff to previous 1.153 (colored)
The first step to support Intel PXA270. kernel config option CPU_XSCALE_PXA2X0 is now obsoleted by CPU_XSCALE_PXA250 and CPU_XSCALE_PXA270. If both of them are defined, CPU is determined run-time.
Revision 1.153 / (download) - annotate - [select for diffs], Fri Jun 24 15:59:04 2005 UTC (17 years, 9 months ago) by scw
Branch: MAIN
Changes since 1.152: +7 -4
lines
Diff to previous 1.152 (colored)
In pmap_devmap_find_pa(), use 64-bit arithmetic to handle the case where 'pa + size' == 0x0. As in, if we're passed details of a region right at the top of physical address space. Otherwise we'll likely hit a false-positive due to 32-bit wrap-around.
Revision 1.150.2.1 / (download) - annotate - [select for diffs], Fri Apr 29 11:28:02 2005 UTC (17 years, 10 months ago) by kent
Branch: kent-audio2
Changes since 1.150: +14 -7
lines
Diff to previous 1.150 (colored) next main 1.151 (colored)
sync with -current
Revision 1.152 / (download) - annotate - [select for diffs], Tue Apr 26 16:03:08 2005 UTC (17 years, 11 months ago) by scw
Branch: MAIN
CVS Tags: kent-audio2-base
Changes since 1.151: +11 -4
lines
Diff to previous 1.151 (colored)
Since pmap_page_remove() is called from pmap_page_protect(), don't modify the current pmap's pm_cstate if we have to flush the TLB, as callers of pmap_page_protect() are not required to invoke pmap_update() afterwards. Otherwise we can end up with a pm_cstate which is inconsistent with reality in the TLB, which can lead to future TLB flushes being erroneously skipped.
Revision 1.137.2.5 / (download) - annotate - [select for diffs], Fri Apr 1 14:26:50 2005 UTC (17 years, 11 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.137.2.4: +5 -5
lines
Diff to previous 1.137.2.4 (colored)
Sync with HEAD.
Revision 1.151 / (download) - annotate - [select for diffs], Fri Apr 1 11:59:23 2005 UTC (17 years, 11 months ago) by yamt
Branch: MAIN
Changes since 1.150: +5 -5
lines
Diff to previous 1.150 (colored)
merge yamt-km branch. - don't use managed mappings/backing objects for wired memory allocations. save some resources like pv_entry. also fix (most of) PR/27030. - simplify kernel memory management API. - simplify pmap bootstrap of some ports. - some related cleanups.
Revision 1.150.4.1 / (download) - annotate - [select for diffs], Fri Jan 28 10:33:58 2005 UTC (18 years, 1 month ago) by yamt
Branch: yamt-km
Changes since 1.150: +5 -5
lines
Diff to previous 1.150 (colored) next main 1.151 (colored)
convert arch/arm to new apis.
Revision 1.137.2.4 / (download) - annotate - [select for diffs], Mon Jan 17 19:29:12 2005 UTC (18 years, 2 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.137.2.3: +8 -8
lines
Diff to previous 1.137.2.3 (colored)
Sync with HEAD.
Revision 1.150 / (download) - annotate - [select for diffs], Fri Jan 14 02:28:54 2005 UTC (18 years, 2 months ago) by joff
Branch: MAIN
CVS Tags: yamt-km-base4,
yamt-km-base3,
yamt-km-base2,
yamt-km-base,
netbsd-3-base,
netbsd-3-1-RELEASE,
netbsd-3-1-RC4,
netbsd-3-1-RC3,
netbsd-3-1-RC2,
netbsd-3-1-RC1,
netbsd-3-1-1-RELEASE,
netbsd-3-1,
netbsd-3-0-RELEASE,
netbsd-3-0-RC6,
netbsd-3-0-RC5,
netbsd-3-0-RC4,
netbsd-3-0-RC3,
netbsd-3-0-RC2,
netbsd-3-0-RC1,
netbsd-3-0-3-RELEASE,
netbsd-3-0-2-RELEASE,
netbsd-3-0-1-RELEASE,
netbsd-3-0,
netbsd-3
Branch point for: yamt-km,
kent-audio2
Changes since 1.149: +7 -7
lines
Diff to previous 1.149 (colored)
Dont try freeing bootstrap pages with pool_page_free. Fixes kern/28869
Revision 1.149 / (download) - annotate - [select for diffs], Sun Jan 2 22:47:26 2005 UTC (18 years, 2 months ago) by chris
Branch: MAIN
CVS Tags: kent-audio1-beforemerge
Changes since 1.148: +3 -3
lines
Diff to previous 1.148 (colored)
Remove direct references to TAILQ internal structures. No functional change, just tidying up code.
Revision 1.137.2.3 / (download) - annotate - [select for diffs], Tue Sep 21 13:13:10 2004 UTC (18 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.137.2.2: +2 -2
lines
Diff to previous 1.137.2.2 (colored)
Fix the sync with head I botched.
Revision 1.137.2.2 / (download) - annotate - [select for diffs], Sat Sep 18 14:32:17 2004 UTC (18 years, 6 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.137.2.1: +0 -0
lines
Diff to previous 1.137.2.1 (colored)
Sync with HEAD.
Revision 1.137.2.1 / (download) - annotate - [select for diffs], Tue Aug 3 10:32:29 2004 UTC (18 years, 7 months ago) by skrll
Branch: ktrace-lwp
Changes since 1.137: +115 -26
lines
Diff to previous 1.137 (colored)
Sync with HEAD
Revision 1.148 / (download) - annotate - [select for diffs], Sat Apr 3 04:35:48 2004 UTC (18 years, 11 months ago) by bsh
Branch: MAIN
CVS Tags: kent-audio1-base,
kent-audio1
Changes since 1.147: +3 -3
lines
Diff to previous 1.147 (colored)
pmap_pte_init_arm9() is necessary only when defined(CPU_ARM9) and defined(ARM9_CACHE_WRITE_THROUGH)
Revision 1.147 / (download) - annotate - [select for diffs], Sun Jan 18 13:03:50 2004 UTC (19 years, 2 months ago) by scw
Branch: MAIN
CVS Tags: netbsd-2-base,
netbsd-2-1-RELEASE,
netbsd-2-1-RC6,
netbsd-2-1-RC5,
netbsd-2-1-RC4,
netbsd-2-1-RC3,
netbsd-2-1-RC2,
netbsd-2-1-RC1,
netbsd-2-1,
netbsd-2-0-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-3-RELEASE,
netbsd-2-0-2-RELEASE,
netbsd-2-0-1-RELEASE,
netbsd-2-0,
netbsd-2
Changes since 1.146: +27 -2
lines
Diff to previous 1.146 (colored)
Fix ARM_VECTORS_LOW fallout caused by the recent reaper removal. Just before removing the vector page mapping, switch to the kernel pmap's L1/vector page mapping so as not to pull the rug out from under ourselves. To prevent the stale L1/vector page mapping from being restored by cpu_switch, replace the relevant fields of the dying process' pcb with those of lwp0's pcb.
Revision 1.146 / (download) - annotate - [select for diffs], Sat Nov 1 17:35:42 2003 UTC (19 years, 4 months ago) by jdolecek
Branch: MAIN
Changes since 1.145: +3 -3
lines
Diff to previous 1.145 (colored)
avoid stong words in comments
Revision 1.145 / (download) - annotate - [select for diffs], Wed Oct 29 05:48:19 2003 UTC (19 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.144: +4 -7
lines
Diff to previous 1.144 (colored)
Whitespace.
Revision 1.144 / (download) - annotate - [select for diffs], Wed Oct 29 05:47:04 2003 UTC (19 years, 4 months ago) by mycroft
Branch: MAIN
Changes since 1.143: +3 -3
lines
Diff to previous 1.143 (colored)
The previous patch was wrong -- mcr does not output anything. Instead give a junk input (it's not used when the last argument is 0).
Revision 1.143 / (download) - annotate - [select for diffs], Tue Oct 28 08:22:55 2003 UTC (19 years, 5 months ago) by scw
Branch: MAIN
Changes since 1.142: +5 -12
lines
Diff to previous 1.142 (colored)
Fix an uninitialised variable warning, reported by Shoichi Miyake in port-arm/23293.
Revision 1.142 / (download) - annotate - [select for diffs], Sun Oct 26 23:11:15 2003 UTC (19 years, 5 months ago) by chris
Branch: MAIN
Changes since 1.141: +3 -3
lines
Diff to previous 1.141 (colored)
Fix up some unitialised variables.
Revision 1.141 / (download) - annotate - [select for diffs], Mon Oct 13 20:50:34 2003 UTC (19 years, 5 months ago) by scw
Branch: MAIN
Changes since 1.140: +57 -3
lines
Diff to previous 1.140 (colored)
On Xscale, define PMAP_UAREA() and use it to tweak uarea mappings so they use the mini D$. This results in a small performance boost on xscale platforms, since flushing the main cache on a context switch won't affect the kernel stack/pcb.
Revision 1.140 / (download) - annotate - [select for diffs], Sun Oct 5 19:44:58 2003 UTC (19 years, 5 months ago) by matt
Branch: MAIN
Changes since 1.139: +4 -6
lines
Diff to previous 1.139 (colored)
Add SA_SIGINFO support for ARM (from Chris Gilbert).
Revision 1.139 / (download) - annotate - [select for diffs], Sun Sep 21 00:26:09 2003 UTC (19 years, 6 months ago) by matt
Branch: MAIN
Changes since 1.138: +4 -4
lines
Diff to previous 1.138 (colored)
Change some type-punning detected by gcc 3.3.1 to (void *).
Revision 1.138 / (download) - annotate - [select for diffs], Sat Sep 6 09:44:10 2003 UTC (19 years, 6 months ago) by rearnsha
Branch: MAIN
Changes since 1.137: +24 -2
lines
Diff to previous 1.137 (colored)
Support for initializing ARM10 processors in write-through mode.
Revision 1.137 / (download) - annotate - [select for diffs], Mon Jun 23 11:01:07 2003 UTC (19 years, 9 months ago) by martin
Branch: MAIN
Branch point for: ktrace-lwp
Changes since 1.136: +4 -2
lines
Diff to previous 1.136 (colored)
Make sure to include opt_foo.h if a defflag option FOO is used.
Revision 1.136 / (download) - annotate - [select for diffs], Sun Jun 15 18:18:16 2003 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.135: +14 -3
lines
Diff to previous 1.135 (colored)
Add another devmap routine that allows bootstrap code to register a devmap reflecting mappings that are created by really early bootstrap code before pmap_devmap_bootstrap() is called.
Revision 1.135 / (download) - annotate - [select for diffs], Sun Jun 15 17:45:21 2003 UTC (19 years, 9 months ago) by thorpej
Branch: MAIN
Changes since 1.134: +71 -2
lines
Diff to previous 1.134 (colored)
Replace the ad-hoc "section mapping table" for static device mappings with a more generic "devmap" structure that can also handle mappings made with large and small pages. Add new pmap routines to enter these mappings during bootstrap (and "remember" the devmap), and routines to look up the static mappings once the kernel is running.
Revision 1.134 / (download) - annotate - [select for diffs], Wed May 21 18:07:07 2003 UTC (19 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.133: +3584 -2825
lines
Diff to previous 1.133 (colored)
Move the new pmap from arm32/pmap_new.c to arm32/pmap.c, fully replacing the old.
Revision 1.133 / (download) - annotate - [select for diffs], Sat May 10 21:10:27 2003 UTC (19 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.132: +17 -4
lines
Diff to previous 1.132 (colored)
Back out the following chagne: http://mail-index.netbsd.org/source-changes/2003/05/08/0068.html There were some side-effects that I didn't anticipate, and fixing them is proving to be more difficult than I thought, do just eject for now. Maybe one day we can look at this again. Fixes PR kern/21517.
Revision 1.132 / (download) - annotate - [select for diffs], Thu May 8 18:13:14 2003 UTC (19 years, 10 months ago) by thorpej
Branch: MAIN
Changes since 1.131: +6 -19
lines
Diff to previous 1.131 (colored)
Simplify the way the bounds of the managed kernel virtual address space is advertised to UVM by making virtual_avail and virtual_end first-class exported variables by UVM. Machine-dependent code is responsible for initializing them before main() is called. Anything that steals KVA must adjust these variables accordingly. This reduces the number of instances of this info from 3 to 1, and simplifies the pmap(9) interface by removing the pmap_virtual_space() function call, and removing two arguments from pmap_steal_memory(). This also eliminates some kludges such as having to burn kernel_map entries on space used by the kernel and stolen KVA. This also eliminates use of VM_{MIN,MAX}_KERNEL_ADDRESS from MI code, this giving MD code greater flexibility over the bounds of the managed kernel virtual address space if a given port's specific platforms can vary in this regard (this is especially true of the evb* ports).
Revision 1.131 / (download) - annotate - [select for diffs], Tue Apr 22 00:24:49 2003 UTC (19 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.130: +27 -7
lines
Diff to previous 1.130 (colored)
Some ARM32_PMAP_NEW-related cleanup: * Define a new "MMU type", ARM_MMU_SA1. While the SA-1's MMU is basically compatible with the generic, the SA-1 cache does not have a write-through mode, and it is useful to know have an indication of this. * Add a new PMAP_NEEDS_PTE_SYNC indicator, and try to evaluate it at compile time. We evaluate it like so: - If SA-1-style MMU is the only type configured -> 1 - If SA-1-style MMU is not configured -> 0 - Otherwise, defer to a run-time variable. If PMAP_NEEDS_PTE_SYNC might evaluate to true (SA-1 only or run-time check), then we also define PMAP_INCLUDE_PTE_SYNC so that e.g. assembly code can include the necessary run-time support. PMAP_INCLUDE_PTE_SYNC largely replaces the ARM32_PMAP_NEEDS_PTE_SYNC manual setting Steve included with the original new pmap. * In the new pmap, make pmap_pte_init_generic() check to see if the CPU has a write-back cache. If so, init the PT cache mode to C=1,B=0 to get write-through mode. Otherwise, init the PT cache mode to C=1,B=1. * Add a new pmap_pte_init_arm8(). Old pmap, same as generic. New pmap, sets page table cacheability to 0 (ARM8 has a write-back cache, but flushing it is quite expensive). * In the new pmap, make pmap_pte_init_arm9() reset the PT cache mode to C=1,B=0, since the write-back check in generic gets it wrong for ARM9, since we use write-through mode all the time on ARM9 right now. (What this really tells me is that the test for write-through cache is less than perfect, but we can fix that later.) * Add a new pmap_pte_init_sa1(). Old pmap, same as generic. New pmap, does generic initialization, then resets page table cache mode to C=1,B=1, since C=1,B=0 does not produce write-through on the SA-1.
Revision 1.130 / (download) - annotate - [select for diffs], Tue Apr 1 23:19:09 2003 UTC (19 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.129: +25 -25
lines
Diff to previous 1.129 (colored)
Use PAGE_SIZE rather than NBPG.
Revision 1.129 / (download) - annotate - [select for diffs], Sat Mar 29 07:58:16 2003 UTC (20 years ago) by bsh
Branch: MAIN
Changes since 1.128: +35 -5
lines
Diff to previous 1.128 (colored)
for Intel PXA2[15][05] processors, select write-back/write-through cache based on CPU id. write-through on PXA2[15]0 B2 stepping and earlier. write-back on C0 and C1 stepping (a.k.a PXA2[15]5 A0) options XSCALE_CACHE_WRITE_{THROUGH,BACK} can override it. for other XScale CPUs than PXA2xx, XSCALE_CACHE_WRITE_THROUGH works same as before.
Revision 1.128 / (download) - annotate - [select for diffs], Thu Mar 27 19:42:30 2003 UTC (20 years ago) by mycroft
Branch: MAIN
Changes since 1.127: +2 -3
lines
Diff to previous 1.127 (colored)
Remove references to variables that aren't used here.
Revision 1.127 / (download) - annotate - [select for diffs], Sun Mar 23 15:59:23 2003 UTC (20 years ago) by chris
Branch: MAIN
Changes since 1.126: +2 -32
lines
Diff to previous 1.126 (colored)
Garbage collect pmap_map, the last (and only?) use has been removed.
Revision 1.126 / (download) - annotate - [select for diffs], Sun Feb 23 23:40:01 2003 UTC (20 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.125: +7 -6
lines
Diff to previous 1.125 (colored)
Change pcb32_pagedir to a paddr_t (after all, it's used as a paddr_t everywhere in the code).
Revision 1.125 / (download) - annotate - [select for diffs], Fri Feb 21 00:23:03 2003 UTC (20 years, 1 month ago) by chris
Branch: MAIN
Changes since 1.124: +30 -29
lines
Diff to previous 1.124 (colored)
Convert a few types into things that are more accurate, mostly: int's to unsigned int/u_int where they shouldn't go negative. int's to boolean_t's where they're being used as bools. No real functional change (in the produced asm a few condition codes changed)
Revision 1.97.4.6 / (download) - annotate - [select for diffs], Fri Feb 14 22:21:16 2003 UTC (20 years, 1 month ago) by he
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-PATCH002-RELEASE,
netbsd-1-6-PATCH002-RC4,
netbsd-1-6-PATCH002-RC3,
netbsd-1-6-PATCH002-RC2,
netbsd-1-6-PATCH002-RC1,
netbsd-1-6-PATCH002,
netbsd-1-6-PATCH001-RELEASE,
netbsd-1-6-PATCH001-RC3,
netbsd-1-6-PATCH001-RC2,
netbsd-1-6-PATCH001
Changes since 1.97.4.5: +15 -11
lines
Diff to previous 1.97.4.5 (colored) to branchpoint 1.97 (colored) next main 1.98 (colored)
Revert pull-up of revision 1.110 (requested by rearnsha in ticket #1170): Revert cached memory access to L1 tables, this causes instability on the release branch.
Revision 1.124 / (download) - annotate - [select for diffs], Fri Jan 17 22:28:49 2003 UTC (20 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.123: +10 -10
lines
Diff to previous 1.123 (colored)
Merge the nathanw_sa branch.
Revision 1.30.2.19 / (download) - annotate - [select for diffs], Wed Dec 11 05:53:02 2002 UTC (20 years, 3 months ago) by thorpej
Branch: nathanw_sa
CVS Tags: nathanw_sa_end
Changes since 1.30.2.18: +69 -65
lines
Diff to previous 1.30.2.18 (colored) to branchpoint 1.30 (colored) next main 1.31 (colored)
Sync with HEAD.
Revision 1.97.4.5 / (download) - annotate - [select for diffs], Sat Dec 7 20:44:23 2002 UTC (20 years, 3 months ago) by he
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-PATCH001-RC1
Changes since 1.97.4.4: +120 -50
lines
Diff to previous 1.97.4.4 (colored) to branchpoint 1.97 (colored)
Pull up revision 1.111 (requested by thorpej in ticket #714): Use a pool cache for PT-PTs.
Revision 1.97.4.4 / (download) - annotate - [select for diffs], Sat Dec 7 20:43:02 2002 UTC (20 years, 3 months ago) by he
Branch: netbsd-1-6
Changes since 1.97.4.3: +129 -3
lines
Diff to previous 1.97.4.3 (colored) to branchpoint 1.97 (colored)
Pull up revision 1.105 (requested by thorpej in ticket #714): Add code, conditional on PMAP_ALIAS_DEBUG, which can be used to hunt for virtual aliases between managed (pmap_enter) and unmanaged (pmap_kenter_pa) mappings.
Revision 1.123 / (download) - annotate - [select for diffs], Sun Nov 24 01:09:09 2002 UTC (20 years, 4 months ago) by chris
Branch: MAIN
CVS Tags: nathanw_sa_before_merge,
nathanw_sa_base,
gmcgarry_ucred_base,
gmcgarry_ucred,
gmcgarry_ctxsw_base,
gmcgarry_ctxsw,
fvdl_fs64_base
Changes since 1.122: +9 -6
lines
Diff to previous 1.122 (colored)
Add a debug assert that wired pages provide protection flags in the flags argument as well. Also update a couple of debug messages to NPDEBUG.
Revision 1.97.4.3 / (download) - annotate - [select for diffs], Thu Nov 21 20:15:23 2002 UTC (20 years, 4 months ago) by he
Branch: netbsd-1-6
Changes since 1.97.4.2: +12 -16
lines
Diff to previous 1.97.4.2 (colored) to branchpoint 1.97 (colored)
Pull up revision 1.110 (requested by thorpej in ticket #712): Do cached memory access to L1 tables, making sure to write-back the cache after any L1 table modifications.
Revision 1.97.4.2 / (download) - annotate - [select for diffs], Sat Nov 16 10:03:47 2002 UTC (20 years, 4 months ago) by he
Branch: netbsd-1-6
Changes since 1.97.4.1: +9 -19
lines
Diff to previous 1.97.4.1 (colored) to branchpoint 1.97 (colored)
Pull up revision 1.107 (requested by thorpej in ticket #662): Clean up some warts in pmap_protect().
Revision 1.122 / (download) - annotate - [select for diffs], Tue Nov 12 22:14:21 2002 UTC (20 years, 4 months ago) by chris
Branch: MAIN
Changes since 1.121: +23 -22
lines
Diff to previous 1.121 (colored)
Tweak a few minor things: when looking to reenable caching, only do so if all the pages aren't already cached. Convert some ints to unsigned int. (scarily this actually shows the biggest decrease in timing for my benchmark, I guess the compiler can optimise better)
Revision 1.30.2.18 / (download) - annotate - [select for diffs], Mon Nov 11 21:56:35 2002 UTC (20 years, 4 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.17: +25 -19
lines
Diff to previous 1.30.2.17 (colored) to branchpoint 1.30 (colored)
Catch up to -current
Revision 1.121 / (download) - annotate - [select for diffs], Mon Nov 11 20:34:03 2002 UTC (20 years, 4 months ago) by chris
Branch: MAIN
Changes since 1.120: +42 -42
lines
Diff to previous 1.120 (colored)
gratuitous whitespace and de-__P'ing. No functional change.
Revision 1.120 / (download) - annotate - [select for diffs], Mon Nov 11 09:34:44 2002 UTC (20 years, 4 months ago) by chris
Branch: MAIN
Changes since 1.119: +24 -14
lines
Diff to previous 1.119 (colored)
A few minor tweaks. Use pmap_free_pvs in pmap_remove, should save on the overhead of freeing each pv on it's own. Correctly set ptp when calling pmap_enter_pv, this adds more overhead, but the effect is minimal. Timings show that it increases gmake's make configure step from 2:07.90 to 2:08.90. I've more optimisations planned that should negate this increase.
Revision 1.119 / (download) - annotate - [select for diffs], Mon Nov 11 08:58:05 2002 UTC (20 years, 4 months ago) by chris
Branch: MAIN
Changes since 1.118: +3 -7
lines
Diff to previous 1.118 (colored)
Remove unused pa variable (it's assigned but not used any more)
Revision 1.30.2.17 / (download) - annotate - [select for diffs], Fri Oct 18 02:35:22 2002 UTC (20 years, 5 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.16: +10 -10
lines
Diff to previous 1.30.2.16 (colored) to branchpoint 1.30 (colored)
Catch up to -current.
Revision 1.14.2.9 / (download) - annotate - [select for diffs], Thu Oct 10 18:31:45 2002 UTC (20 years, 5 months ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.8: +10 -10
lines
Diff to previous 1.14.2.8 (colored) next main 1.15 (colored)
sync kqueue with -current; this includes merge of gehenna-devsw branch, merge of i386 MP branch, and part of autoconf rototil work
Revision 1.118 / (download) - annotate - [select for diffs], Fri Sep 27 15:35:42 2002 UTC (20 years, 6 months ago) by provos
Branch: MAIN
CVS Tags: kqueue-beforemerge,
kqueue-base,
kqueue-aftermerge,
bjh21-hydra-base,
bjh21-hydra
Changes since 1.117: +4 -4
lines
Diff to previous 1.117 (colored)
remove trailing \n in panic(). approved perry.
Revision 1.117 / (download) - annotate - [select for diffs], Sun Sep 22 07:56:57 2002 UTC (20 years, 6 months ago) by chs
Branch: MAIN
Changes since 1.116: +8 -8
lines
Diff to previous 1.116 (colored)
rename the existing pmap_remove_all() here to pmap_page_remove() (ala the x86 pmap) to avoid conflicting with the new pmap interface function of the same name.
Revision 1.30.2.16 / (download) - annotate - [select for diffs], Tue Sep 17 21:13:22 2002 UTC (20 years, 6 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.15: +3 -2
lines
Diff to previous 1.30.2.15 (colored) to branchpoint 1.30 (colored)
Catch up to -current.
Revision 1.14.2.8 / (download) - annotate - [select for diffs], Fri Sep 6 08:32:26 2002 UTC (20 years, 6 months ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.7: +500 -279
lines
Diff to previous 1.14.2.7 (colored)
sync kqueue branch with HEAD
Revision 1.116 / (download) - annotate - [select for diffs], Thu Sep 5 18:34:00 2002 UTC (20 years, 6 months ago) by jdolecek
Branch: MAIN
Changes since 1.115: +3 -2
lines
Diff to previous 1.115 (colored)
whitespace fix past __KERNEL_RCSID()
Revision 1.97.2.2 / (download) - annotate - [select for diffs], Fri Aug 30 00:19:08 2002 UTC (20 years, 6 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.97.2.1: +500 -276
lines
Diff to previous 1.97.2.1 (colored) to branchpoint 1.97 (colored) next main 1.98 (colored)
catch up with -current.
Revision 1.30.2.15 / (download) - annotate - [select for diffs], Wed Aug 28 18:17:53 2002 UTC (20 years, 7 months ago) by wrstuden
Branch: nathanw_sa
Changes since 1.30.2.14: +4 -4
lines
Diff to previous 1.30.2.14 (colored) to branchpoint 1.30 (colored)
There is no 'p', there is only 'l'.
Revision 1.30.2.14 / (download) - annotate - [select for diffs], Tue Aug 27 06:03:16 2002 UTC (20 years, 7 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.30.2.13: +270 -93
lines
Diff to previous 1.30.2.13 (colored) to branchpoint 1.30 (colored)
Sync with -current.
Revision 1.115 / (download) - annotate - [select for diffs], Sat Aug 24 03:10:40 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
CVS Tags: gehenna-devsw-base
Changes since 1.114: +13 -9
lines
Diff to previous 1.114 (colored)
In pmap_map_in_l1() and pmap_unmap_in_l1(), make sure that the VA that is passed in is already aligned to a 4M super-section.
Revision 1.114 / (download) - annotate - [select for diffs], Sat Aug 24 02:50:53 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.113: +13 -7
lines
Diff to previous 1.113 (colored)
When we allocate a PTP, make sure the offset we specify is for the 4M super-section that the PTP will map, not some random 1M chunk of it. This gives the PTP hint code a much better chance to working properly, and allows us to tidy up the code that flushes a PTP from the cache in pmap_destroy().
Revision 1.113 / (download) - annotate - [select for diffs], Sat Aug 24 02:16:31 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.112: +117 -23
lines
Diff to previous 1.112 (colored)
Enable caching on kernel and user page tables. This saves having to do uncached memory access during VM operations (which can be quite expensive on some CPUs). We currently write-back PTEs as soon as they're modified; there is some room for optimization (to write them back in larger chunks). For PTEs in the APTE space (i.e. PTEs for pmaps that describe another process's address space), PTEs must also be evicted from the cache complete (PTEs in PTE space will be evicted durint a context switch).
Revision 1.112 / (download) - annotate - [select for diffs], Thu Aug 22 01:13:55 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.111: +9 -2
lines
Diff to previous 1.111 (colored)
* Add PTE_SYNC() and PTE_SYNC_RANGE() macros. These don't actually do anything yet. * Use PTE_SYNC() and PTE_SYNC_RANGE() in some obvious places, i.e. where vtopte() is used.
Revision 1.111 / (download) - annotate - [select for diffs], Wed Aug 21 21:22:52 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.110: +120 -50
lines
Diff to previous 1.110 (colored)
Use a pool cache for PT-PTs.
Revision 1.110 / (download) - annotate - [select for diffs], Wed Aug 21 18:34:31 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.109: +12 -16
lines
Diff to previous 1.109 (colored)
Do cached memory access to L1 tables, making sure to write-back the cache after any L1 table modifications.
Revision 1.30.2.13 / (download) - annotate - [select for diffs], Tue Aug 13 04:17:36 2002 UTC (20 years, 7 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.30.2.12: +13 -2
lines
Diff to previous 1.30.2.12 (colored) to branchpoint 1.30 (colored)
From trunk: Add the brutal hack that allows us to limp along using the read/write cache line allocation policy on XScale CPUs: in pmap_enter(), if the pmap is the kernel pmap, clear the X-bit in the PTE, thus disabling read/write-allocate for managed kernel mappings. Yes, this is ugly. But it makes userland code run with r/w-allocate, which is a huge improvement on systems with low core memory performance.
Revision 1.109 / (download) - annotate - [select for diffs], Tue Aug 13 03:36:30 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.108: +13 -2
lines
Diff to previous 1.108 (colored)
Add the brutal hack that allows us to limp along using the read/write cache line allocation policy on XScale CPUs: in pmap_enter(), if the pmap is the kernel pmap, clear the X-bit in the PTE, thus disabling read/write-allocate for managed kernel mappings. Yes, this is ugly. But it makes userland code run with r/w-allocate, which is a huge improvement on systems with low core memory performance.
Revision 1.30.2.12 / (download) - annotate - [select for diffs], Tue Aug 13 02:17:51 2002 UTC (20 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.11: +216 -53
lines
Diff to previous 1.30.2.11 (colored) to branchpoint 1.30 (colored)
Catch up to -current.
Revision 1.108 / (download) - annotate - [select for diffs], Sat Aug 10 00:48:35 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.107: +19 -19
lines
Diff to previous 1.107 (colored)
Tidy up pmap_clean_page() a little, and reenable some code that was disabled previously: Skip cleaning mappings which are read-only, because the pmap (now) does clean pages on a r/w -> r/o transition.
Revision 1.107 / (download) - annotate - [select for diffs], Sat Aug 10 00:11:51 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.106: +9 -19
lines
Diff to previous 1.106 (colored)
Clean up some warts in pmap_protect().
Revision 1.106 / (download) - annotate - [select for diffs], Fri Aug 9 21:49:09 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.105: +21 -2
lines
Diff to previous 1.105 (colored)
Add an XSCALE_CACHE_READ_WRITE_ALLOCATE option for people who want to play fast-and-loose.
Revision 1.105 / (download) - annotate - [select for diffs], Fri Aug 9 18:22:59 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.104: +129 -3
lines
Diff to previous 1.104 (colored)
Add some code, conditional on PMAP_ALIAS_DEBUG, that can be used to hunt for virtual aliases between managed (pmap_enter) and non-managed (pmap_kenter_pa) mappings.
Revision 1.104 / (download) - annotate - [select for diffs], Tue Aug 6 21:43:51 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.103: +46 -18
lines
Diff to previous 1.103 (colored)
- pmap_remove(): unmap the PTEs *after* we have finished with the page tables. - pmap_enter(): if making a mapping for the same PA rw->ro, write-back the cache before doing so. - pmap_clearbit(): if revoking REF on a page, make sure to wbinv the cache if the page has write permission, else inv the cache if the page's PTE is valid (XXX we actually wbinv in this case, as well, due to lack of idcache_inv_range()). Only flush the TLB if the PTE changed.
Revision 1.30.2.11 / (download) - annotate - [select for diffs], Thu Aug 1 02:41:13 2002 UTC (20 years, 7 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.10: +12 -139
lines
Diff to previous 1.30.2.10 (colored) to branchpoint 1.30 (colored)
Catch up to -current.
Revision 1.103 / (download) - annotate - [select for diffs], Wed Jul 31 17:34:23 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.102: +2 -57
lines
Diff to previous 1.102 (colored)
Overhaul how DMA ranges work in the ARM bus_dma implementation. A new "arm32_dma_range" structure now describes a DMA window, with a system address base, bus address base, and length. In addition to providing info about which memory regions are legal for DMA, the new structure provides address translation support, as well. As before, if a tag does not list any ranges, then all addresses are considered valid, and no DMA address translation is performed. This allows us to remove a large chunk of code which was duplicated and tweaked slightly (to do the address translation) from the stock ARM bus_dma in the XScale IOP and ARM Integrator ports. Test compiled on all ARM platforms, test booted on Intel IQ80321 and Shark.
Revision 1.97.4.1 / (download) - annotate - [select for diffs], Wed Jul 31 00:23:17 2002 UTC (20 years, 7 months ago) by lukem
Branch: netbsd-1-6
CVS Tags: netbsd-1-6-RELEASE,
netbsd-1-6-RC3,
netbsd-1-6-RC2,
netbsd-1-6-RC1
Changes since 1.97: +13 -4
lines
Diff to previous 1.97 (colored)
Pull up revision 1.100 (requested by thorpej in ticket #587): Don't use pmap_kenter_pa() in pmap_map(); doing so causes an assertion failure in pmap_kenter_pa().
Revision 1.102 / (download) - annotate - [select for diffs], Wed Jul 31 00:20:52 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.101: +3 -79
lines
Diff to previous 1.101 (colored)
Move the calls to uvm_page_physload() out of pmap_bootstrap() and into platform-specific initialization code, giving platform-specific code control over which free list a given chunk of memory gets put onto. Changes are essentially mechanical. Test compiled for all ARM platforms, test booted on Intel IQ80321 and Shark. Discussed some time ago on port-arm.
Revision 1.101 / (download) - annotate - [select for diffs], Tue Jul 30 16:16:39 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.100: +2 -7
lines
Diff to previous 1.100 (colored)
Move the uvm_setpagesize() call to platform-dependent code in preparation for other changes to pmap_bootstrap().
Revision 1.100 / (download) - annotate - [select for diffs], Tue Jul 30 16:07:23 2002 UTC (20 years, 7 months ago) by thorpej
Branch: MAIN
Changes since 1.99: +13 -4
lines
Diff to previous 1.99 (colored)
Don't use pmap_kenter_pa() in pmap_map(); doing so causes an assertion failure in pmap_kenter_pa().
Revision 1.97.2.1 / (download) - annotate - [select for diffs], Sun Jul 14 17:45:54 2002 UTC (20 years, 8 months ago) by gehenna
Branch: gehenna-devsw
Changes since 1.97: +6 -7
lines
Diff to previous 1.97 (colored)
catch up with -current.
Revision 1.30.2.10 / (download) - annotate - [select for diffs], Tue Jul 2 19:04:40 2002 UTC (20 years, 8 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.9: +8 -10
lines
Diff to previous 1.30.2.9 (colored) to branchpoint 1.30 (colored)
Several curlwp references here can revert to curproc.
Revision 1.30.2.9 / (download) - annotate - [select for diffs], Mon Jun 24 22:03:54 2002 UTC (20 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.8: +11 -11
lines
Diff to previous 1.30.2.8 (colored) to branchpoint 1.30 (colored)
Curproc->curlwp renaming. Change uses of "curproc->l_proc" back to "curproc", which is more like the original use. Bare uses of "curproc" are now "curlwp". "curproc" is now #defined in proc.h as ((curlwp) ? (curlwp)->l_proc) : NULL) so that it is always safe to reference curproc (*de*referencing curproc is another story, but that's always been true).
Revision 1.14.2.7 / (download) - annotate - [select for diffs], Sun Jun 23 17:34:45 2002 UTC (20 years, 9 months ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.6: +903 -829
lines
Diff to previous 1.14.2.6 (colored)
catch up with -current on kqueue branch
Revision 1.30.2.8 / (download) - annotate - [select for diffs], Thu Jun 20 03:38:05 2002 UTC (20 years, 9 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.7: +65 -22
lines
Diff to previous 1.30.2.7 (colored) to branchpoint 1.30 (colored)
Catch up to -current.
Revision 1.99 / (download) - annotate - [select for diffs], Sun Jun 2 14:44:42 2002 UTC (20 years, 9 months ago) by drochner
Branch: MAIN
Changes since 1.98: +2 -3
lines
Diff to previous 1.98 (colored)
move initialization of the "struct pglist" returned by uvm_pglistalloc() from the calling code into uvm_pglistalloc() itself for consistency and easier error handling
Revision 1.98 / (download) - annotate - [select for diffs], Sat Jun 1 23:50:54 2002 UTC (20 years, 9 months ago) by lukem
Branch: MAIN
Changes since 1.97: +6 -6
lines
Diff to previous 1.97 (colored)
SIMPLEQ rototill: - implement SIMPLEQ_REMOVE(head, elm, type, field). whilst it's O(n), this mirrors the functionality of SLIST_REMOVE() (the other singly-linked list type) and FreeBSD's STAILQ_REMOVE() - remove the unnecessary elm arg from SIMPLEQ_REMOVE_HEAD(). this mirrors the functionality of SLIST_REMOVE_HEAD() (the other singly-linked list type) and FreeBSD's STAILQ_REMOVE_HEAD() - remove notes about SIMPLEQ not supporting arbitrary element removal - use SIMPLEQ_FOREACH() instead of home-grown for loops - use SIMPLEQ_EMPTY() appropriately - use SIMPLEQ_*() instead of accessing sqh_first,sqh_last,sqe_next directly - reorder manual page; be consistent about how the types are listed - other minor cleanups
Revision 1.97 / (download) - annotate - [select for diffs], Tue May 14 19:22:34 2002 UTC (20 years, 10 months ago) by chris
Branch: MAIN
CVS Tags: netbsd-1-6-base
Branch point for: netbsd-1-6,
gehenna-devsw
Changes since 1.96: +8 -2
lines
Diff to previous 1.96 (colored)
Implement scheduler lock protocol, this fixes PR arm/10863. Also add correct locking when freeing pages in pmap_destroy (fix from potr) This now means that arm32 kernels can be built with LOCKDEBUG enabled. (only tested on cats though)
Revision 1.96 / (download) - annotate - [select for diffs], Wed Apr 24 17:35:10 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.95: +55 -17
lines
Diff to previous 1.95 (colored)
* pmap_clean_page(): Clean up a comment. * pmap_protect(): write back the range when doing a r/w -> r/o transition. (Still leave the block concerned with this in pmap_clean_page() disabled, for now.) * pmap_pte_init_xscale(): Disable read/write-allocate for now, until we figure out why sometimes cache lines of NULs get deposited into file data. Also, make sure ECC protection of page table access is disabled for now. * xscale_setup_minidata(): Make sure the mini-data cache is configured write-back with read/write-allocate.
Revision 1.30.2.7 / (download) - annotate - [select for diffs], Wed Apr 17 00:02:26 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.6: +526 -223
lines
Diff to previous 1.30.2.6 (colored) to branchpoint 1.30 (colored)
Catch up to -current.
Revision 1.95 / (download) - annotate - [select for diffs], Fri Apr 12 21:52:47 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.94: +19 -18
lines
Diff to previous 1.94 (colored)
Default all XScale core processors to the read/write-allocate write-back cache mode. Add a new XSCALE_CACHE_WRITE_THROUGH option for people who are paranoid about the cache-related errata (you *do* have to line up the planets correctly to trip them, but having the option is useful).
Revision 1.94 / (download) - annotate - [select for diffs], Wed Apr 10 17:39:31 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.93: +11 -6
lines
Diff to previous 1.93 (colored)
On XScale processors where we use write-back caching, use are read/write-allocate line allocation policy. On the i80321, this improves nearly every lmbench benchmark, dramatically so the ones that are sensitive to memory bandwidth (100-300% improvement for these).
Revision 1.93 / (download) - annotate - [select for diffs], Wed Apr 10 17:08:13 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.92: +67 -26
lines
Diff to previous 1.92 (colored)
Add a new function, pmap_alloc_ptpt(), that allocates the PTPT and maps it the way we want, rather than using uvm_km_zalloc() and playing the "revoke cacheability" song-and-dance.
Revision 1.92 / (download) - annotate - [select for diffs], Wed Apr 10 15:56:21 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.91: +13 -10
lines
Diff to previous 1.91 (colored)
pmap_alloc_l1pt(): Just enter the mappings for the L1 table by hand, rather than calling pmap_kenter_pa() and then revoking cacheability in the PTE.
Revision 1.91 / (download) - annotate - [select for diffs], Wed Apr 10 15:44:23 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.90: +5 -5
lines
Diff to previous 1.90 (colored)
Use L2_S_CACHE_MASK in places where we revoke cacheability.
Revision 1.90 / (download) - annotate - [select for diffs], Wed Apr 10 04:40:58 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.89: +3 -5
lines
Diff to previous 1.89 (colored)
pmap_kenter_pa(): Obey the "prot" argument, rather than simply making all mappings r/w (!!).
Revision 1.89 / (download) - annotate - [select for diffs], Wed Apr 10 01:30:42 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.88: +4 -4
lines
Diff to previous 1.88 (colored)
In pmap_copy_page_xscale(), put the source page in the mini-data cache, as well. The mini-data cache is 2-way, so src and dst won't clobber each other, and the smallness of the cache doesn't matter, since we access each page once sequentially. While we still have to do the initial clean of the source page, this saves another 4K of main D$ pollution, and also means we don't have to do 2 cache passes after the copy is complete (i.e. we can skip the invalidation of the source page in the main cache, since it's no longer there).
Revision 1.88 / (download) - annotate - [select for diffs], Wed Apr 10 00:45:43 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.87: +87 -4
lines
Diff to previous 1.87 (colored)
Add separate pmap_{zero,copy}_page() functions for generic ARM vs. XScale. Use the mini-data cache for the destination on XScale, thus saving tossing out 4K of possible-useful data from the main data cache each time. This significantly improves every test in lmbench.
Revision 1.87 / (download) - annotate - [select for diffs], Tue Apr 9 23:44:01 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.86: +36 -2
lines
Diff to previous 1.86 (colored)
* Move the code that cleans the XScale mini-data cache into its own function. * Add a new function which sets up the mini-data cache clean area properly.
Revision 1.86 / (download) - annotate - [select for diffs], Tue Apr 9 22:37:01 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.85: +50 -29
lines
Diff to previous 1.85 (colored)
* Split pte_cache_mode into pte_l1_s_cache_mode, pte_l2_l_cache_mode, and pte_l2_s_cache_mode. The cache-meaningful bits are different for these descriptor types on some processor models. * Add pte_*_cache_mask, corresponding to each above, which has a mask of the cache-meangful bits, and define those for generic and XScale MMU classes. Note, the L2_S_CACHE_MASK_xscale definition requires use of the Extended Small Page L2 descriptor (the "X" bit overlaps with AP bits otherwise).
Revision 1.85 / (download) - annotate - [select for diffs], Tue Apr 9 21:00:43 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.84: +86 -2
lines
Diff to previous 1.84 (colored)
Define 2 classes of ARM MMUs: 1. Generic (compatible with ARM6) 1. XScale (can be used as generic, but also has certainly nifty extensions). Define abstract PTE bit defintions for each MMU class. If only one MMU class is configured into the kernel (based on CPU_* options), then we get the constants for that MMU class. Otherwise we indirect through varaibles set up via set_cpufuncs(). XXX The XScale bits are currently the same as the generic bits. Baby steps.
Revision 1.84 / (download) - annotate - [select for diffs], Tue Apr 9 19:44:22 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.83: +8 -8
lines
Diff to previous 1.83 (colored)
L2_TYPE_S -> L2_S_PROTO
Revision 1.83 / (download) - annotate - [select for diffs], Tue Apr 9 19:37:16 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.82: +43 -35
lines
Diff to previous 1.82 (colored)
Use abstract names for the protection and PTE type bits in L1 and L2 descriptors. This will allow us to support different PTE layouts that enable the use of extensions on different processor models.
Revision 1.82 / (download) - annotate - [select for diffs], Fri Apr 5 22:17:41 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.81: +28 -30
lines
Diff to previous 1.81 (colored)
Back-out rev 1.75 (pmap_extract() rewrite), and fix the (minor) bug that revision intended to fix properly.
Revision 1.81 / (download) - annotate - [select for diffs], Fri Apr 5 16:58:05 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.80: +77 -79
lines
Diff to previous 1.80 (colored)
* Rewrite the 32-bit ARM pte.h based on the ARM architecture manual. Significant cleanup, here, including better PTE bit names. * Add XScale PTE extensions (ECC enable, write-allocate cache mode). * Mechanical changes everywhere else to update for new pte.h. While doing this, two bugs (as a result of typos) were fixed in arm/arm32/bus_dma.c evbarm/integrator/int_bus_dma.c
Revision 1.80 / (download) - annotate - [select for diffs], Thu Apr 4 05:42:29 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.79: +3 -3
lines
Diff to previous 1.79 (colored)
Eliminate a mask against PD_MASK.
Revision 1.79 / (download) - annotate - [select for diffs], Thu Apr 4 04:43:20 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.78: +24 -18
lines
Diff to previous 1.78 (colored)
There is no need to mask VAs and PAs w/ PG_FRAME to clear the lower bits; UVM provides us page-aligned addresses for everything. For the paranoid, we'll leave KDASSERT()'s in that check for this if the kernel is built with DEBUG. Low-hanging fruit that shaves some cycles.
Revision 1.78 / (download) - annotate - [select for diffs], Thu Apr 4 04:25:44 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.77: +46 -46
lines
Diff to previous 1.77 (colored)
Rename flags that are really part of the pv_entry/mdpage into pmap.h and give them more descriptive names and better comments: * PT_M -> PVF_MOD (page is modified) * PT_H -> PVF_REF (page is referenced) * PT_W -> PVF_WIRED (mapping is wired) * PT_Wr -> PVF_WRITE (mapping is writable) * PT_NC -> PVF_NC (mapping is non-cacheable; multiple mappings)
Revision 1.77 / (download) - annotate - [select for diffs], Thu Apr 4 02:06:46 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.76: +8 -6
lines
Diff to previous 1.76 (colored)
Catch a couple more vector page mapping manipulations.
Revision 1.76 / (download) - annotate - [select for diffs], Wed Apr 3 23:33:28 2002 UTC (20 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.75: +29 -6
lines
Diff to previous 1.75 (colored)
Clean up handling of the vector page on 32-bit ARM systems: * Don't refer to VA 0, instead refer to a new variable: vector_page * Delete the old zero_page_*() functions, replacing them with a new one: vector_page_setprot(). * When manipulating vector page mappings in user pmaps, only do so if the vector page is below KERNEL_BASE (if it's above KERNEL_BASE, the vector page is mapped by the kernel pmap). * Add a new function, arm32_vector_init(), which takes the virtual address of the vector page (which MUST be valid when the function is called) and a bitmask of vectors the kernel is going to take over, and performs all vector page initialization, including setting the V bit in the CPU Control register ("relocate vectors to high address"), if necessary.
Revision 1.75 / (download) - annotate - [select for diffs], Wed Apr 3 15:59:58 2002 UTC (20 years, 11 months ago) by reinoud
Branch: MAIN
Changes since 1.74: +25 -27
lines
Diff to previous 1.74 (colored)
Rototil and fix the pmap_extract function. It wouldn't even return data when the part being quiried was mapped with a section (!) giving weird results and had become a mess of goto's. Complete rewrite and cleaned up the `goto'-jungle entirely ... ripped all goto's. The resulting code is much better to read and might even have a small performance gain.
Revision 1.30.2.6 / (download) - annotate - [select for diffs], Mon Apr 1 07:39:08 2002 UTC (20 years, 11 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.5: +629 -961
lines
Diff to previous 1.30.2.5 (colored) to branchpoint 1.30 (colored)
Catch up to -current. (CVS: It's not just a program. It's an adventure!)
Revision 1.74 / (download) - annotate - [select for diffs], Mon Mar 25 22:11:12 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.73: +3 -4
lines
Diff to previous 1.73 (colored)
Fix reporting of the kernel virtual address space range to UVM.
Revision 1.73 / (download) - annotate - [select for diffs], Mon Mar 25 19:53:38 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.72: +80 -224
lines
Diff to previous 1.72 (colored)
* Some cleanup. * Delete the call to pmap_copy() in pmap.h
Revision 1.72 / (download) - annotate - [select for diffs], Mon Mar 25 17:50:12 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.71: +15 -14
lines
Diff to previous 1.71 (colored)
Clean up pmap_map_ptes() and pmap_unmap_ptes() a little, and add a debug assertion that curproc is never NULL if mapping a non-current pmap.
Revision 1.71 / (download) - annotate - [select for diffs], Mon Mar 25 17:33:26 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.70: +29 -30
lines
Diff to previous 1.70 (colored)
The target page of pmap_zero_page(), pmap_pageidlezero(), and pmap_copy_page() will never have any mappings. Therefore, it is unnecessary to do a cache clean for that page. Add assertions in #ifdef DEBUG that assert this invariant. This shaves some cycles off the frequently-called pmap_zero_page() and pmap_copy_page() (no need to look up the dst page's vm_page structure, and one less function call to clean the page).
Revision 1.70 / (download) - annotate - [select for diffs], Mon Mar 25 04:51:20 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.69: +13 -13
lines
Diff to previous 1.69 (colored)
* Fix use of pmap_curmaxkvaddr. * Use the PTP hint in the pmap.
Revision 1.69 / (download) - annotate - [select for diffs], Mon Mar 25 03:00:28 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.68: +16 -4
lines
Diff to previous 1.68 (colored)
Move some private pmap data structures into pmap.c
Revision 1.68 / (download) - annotate - [select for diffs], Sun Mar 24 21:32:18 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.67: +2 -104
lines
Diff to previous 1.67 (colored)
Garbage-collect pmap_pte() (and good riddance!)
Revision 1.67 / (download) - annotate - [select for diffs], Sun Mar 24 21:10:25 2002 UTC (21 years ago) by chris
Branch: MAIN
Changes since 1.66: +2 -3
lines
Diff to previous 1.66 (colored)
remove pointless pg = NULL in else part of if (pg != NULL)
Revision 1.66 / (download) - annotate - [select for diffs], Sun Mar 24 20:48:59 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.65: +16 -55
lines
Diff to previous 1.65 (colored)
pmap_enter(): Use pmap_map_ptes() correctly.
Revision 1.65 / (download) - annotate - [select for diffs], Sun Mar 24 18:05:45 2002 UTC (21 years ago) by chris
Branch: MAIN
Changes since 1.64: +4 -4
lines
Diff to previous 1.64 (colored)
Update pmap_copy_page to only map in the src readonly and only invalidate it after the copy, no need for it to flush the wb.
Revision 1.64 / (download) - annotate - [select for diffs], Sun Mar 24 06:07:00 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.63: +8 -10
lines
Diff to previous 1.63 (colored)
pmap_allocpagedir(): Don't use pmap_pte(), and simplify a little.
Revision 1.63 / (download) - annotate - [select for diffs], Sun Mar 24 05:55:31 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.62: +9 -2
lines
Diff to previous 1.62 (colored)
pmap_handled_emulation(): Fix locking protocol botch. XXX Should we traverse the PV list and enable all PTEs?
Revision 1.62 / (download) - annotate - [select for diffs], Sun Mar 24 05:52:10 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.61: +29 -28
lines
Diff to previous 1.61 (colored)
pmap_handled_emulation(): Use pmap_map_ptes() correctly.
Revision 1.61 / (download) - annotate - [select for diffs], Sun Mar 24 05:39:53 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.60: +32 -27
lines
Diff to previous 1.60 (colored)
pmap_modified_emulation(): Use pmap_map_ptes() correctly.
Revision 1.60 / (download) - annotate - [select for diffs], Sun Mar 24 05:28:46 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.59: +28 -22
lines
Diff to previous 1.59 (colored)
pmap_unwire(): Use pmap_map_ptes() correctly.
Revision 1.59 / (download) - annotate - [select for diffs], Sun Mar 24 05:15:59 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.58: +15 -13
lines
Diff to previous 1.58 (colored)
pmap_clearbit(): Use pmap_map_ptes() correctly.
Revision 1.58 / (download) - annotate - [select for diffs], Sun Mar 24 04:56:49 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.57: +11 -14
lines
Diff to previous 1.57 (colored)
Use pmap_is_curpmap() consistently.
Revision 1.57 / (download) - annotate - [select for diffs], Sun Mar 24 04:49:16 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.56: +27 -46
lines
Diff to previous 1.56 (colored)
Clean up the PTP allocation functions a bit.
Revision 1.56 / (download) - annotate - [select for diffs], Sun Mar 24 03:37:21 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.55: +11 -13
lines
Diff to previous 1.55 (colored)
* arm_byte_to_page() -> arm_btop() * arm_page_to_byte() -> arm_ptob()
Revision 1.55 / (download) - annotate - [select for diffs], Sun Mar 24 03:25:10 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.54: +6 -6
lines
Diff to previous 1.54 (colored)
Remove some redundant tests in pmap_enter().
Revision 1.54 / (download) - annotate - [select for diffs], Sat Mar 23 19:21:58 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.53: +43 -38
lines
Diff to previous 1.53 (colored)
Garbage-collect the "pagehook" stuff.
Revision 1.53 / (download) - annotate - [select for diffs], Sat Mar 23 02:22:57 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.52: +27 -27
lines
Diff to previous 1.52 (colored)
* Rename PROCESS_PAGE_TBLS_BASE -> PTE_BASE * Rename ALT_PAGE_TBLS_BASE -> APTE_BASE * Garbage-collect PAGE_TABLE_SPACE_START
Revision 1.14.2.6 / (download) - annotate - [select for diffs], Sat Mar 16 15:56:04 2002 UTC (21 years ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.5: +518 -390
lines
Diff to previous 1.14.2.5 (colored)
Catch up with -current.
Revision 1.52 / (download) - annotate - [select for diffs], Fri Mar 8 20:48:29 2002 UTC (21 years ago) by thorpej
Branch: MAIN
CVS Tags: newlock-base,
newlock,
eeh-devprop-base,
eeh-devprop
Changes since 1.51: +3 -3
lines
Diff to previous 1.51 (colored)
Pool deals fairly well with physical memory shortage, but it doesn't deal with shortages of the VM maps where the backing pages are mapped (usually kmem_map). Try to deal with this: * Group all information about the backend allocator for a pool in a separate structure. The pool references this structure, rather than the individual fields. * Change the pool_init() API accordingly, and adjust all callers. * Link all pools using the same backend allocator on a list. * The backend allocator is responsible for waiting for physical memory to become available, but will still fail if it cannot callocate KVA space for the pages. If this happens, carefully drain all pools using the same backend allocator, so that some KVA space can be freed. * Change pool_reclaim() to indicate if it actually succeeded in freeing some pages, and use that information to make draining easier and more efficient. * Get rid of PR_URGENT. There was only one use of it, and it could be dealt with by the caller. From art@openbsd.org.
Revision 1.51 / (download) - annotate - [select for diffs], Wed Mar 6 10:55:21 2002 UTC (21 years ago) by chris
Branch: MAIN
Changes since 1.50: +19 -35
lines
Diff to previous 1.50 (colored)
Mostly style changes to stop us directly referencing tqh_first, and use TAILQ_FIRST instead. Based on rev 1.130 of the i386 pmap.c.
Revision 1.50 / (download) - annotate - [select for diffs], Tue Mar 5 04:48:03 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.49: +44 -60
lines
Diff to previous 1.49 (colored)
* Make pmap_is_{modified,referenced}() macros in pmap.h that just test the attributes in the vm_page_md directly. * Clean up pmap_clear_{modified,referenced}(). * Delete now-unused pmap_testbit().
Revision 1.49 / (download) - annotate - [select for diffs], Tue Mar 5 04:19:59 2002 UTC (21 years ago) by thorpej
Branch: MAIN
Changes since 1.48: +173 -267
lines
Diff to previous 1.48 (colored)
Switch back to using vm_page_md (thanks chuq for finding the bug in the code that made it unstable before!)
Revision 1.48 / (download) - annotate - [select for diffs], Sun Mar 3 11:22:59 2002 UTC (21 years ago) by chris
Branch: MAIN
Changes since 1.47: +133 -54
lines
Diff to previous 1.47 (colored)
Implement pmap_growkernel for arm32 based ports. Note that this has been compiled on some systems, cats, IQ80310, IPAQ, netwinder and shark (note that shark's build is currently broken due to other reasons), but only actually run on cats. Shark doesn't make use of the functionality as I believe there has to be a correlation between OFW and the kernel tables so that calls into OFW work.
Revision 1.30.2.5 / (download) - annotate - [select for diffs], Thu Feb 28 04:07:23 2002 UTC (21 years ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.4: +216 -41
lines
Diff to previous 1.30.2.4 (colored) to branchpoint 1.30 (colored)
Catch up to -current.
Revision 1.47 / (download) - annotate - [select for diffs], Fri Feb 22 04:49:20 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
CVS Tags: ifpoll-base
Changes since 1.46: +13 -8
lines
Diff to previous 1.46 (colored)
Change pmap_map_entry() to work like pmap_map_chunk(): take a pointer to the L1 table and a virtual address, and no pointer to the L2 table. The L2 table will be looked up by pmap_map_entry(), which will panic if the there is no L2 table for the requested VA. NOTE: IT IS EXTREMELY IMPORTANT THAT THE CORRECT VIRTUAL ADDRESS BE PROVIDED TO pmap_map_entry()! Notably, the code that mapped the kernel L2 tables into the kernel PT mapping L2 table were not passing actual virtual addresses, but rather offsets into the range mapped by the L2 table. I have fixed up all of these call sites, and tested the resulting kernel on both an IQ80310 and a Shark. Other portmasters should examine their pmap_map_entry() calls if their new kernels fail.
Revision 1.46 / (download) - annotate - [select for diffs], Thu Feb 21 21:58:01 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.45: +41 -22
lines
Diff to previous 1.45 (colored)
Keep track of which kernel PTs are available during bootstrap, and let pmap_map_chunk() lookup the correct one to use for the current VA. Eliminate the "l2table" argument to pmap_map_chunk(). Add a second L2 table for mapping kernel text/data/bss on the IQ80310 (fixes booting kernels with ramdisks).
Revision 1.45 / (download) - annotate - [select for diffs], Thu Feb 21 06:36:11 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.44: +11 -2
lines
Diff to previous 1.44 (colored)
In pmap_map_chunk(), if we can't use a section mapping, then make sure that the L1 slot for the current VA points to an L2 table, and panic if it doesn't.
Revision 1.44 / (download) - annotate - [select for diffs], Thu Feb 21 05:25:24 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.43: +6 -4
lines
Diff to previous 1.43 (colored)
Always pass the L1 table to pmap_map_chunk(). This allows pmap_map_chunk() to perform some error checking.
Revision 1.43 / (download) - annotate - [select for diffs], Thu Feb 21 02:52:20 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.42: +87 -6
lines
Diff to previous 1.42 (colored)
map_chunk() -> pmap_map_chunk(), and move it to pmap.c
Revision 1.42 / (download) - annotate - [select for diffs], Wed Feb 20 20:41:16 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.41: +22 -2
lines
Diff to previous 1.41 (colored)
map_pagetable() -> pmap_link_l2pt(), and move it to pmap.c
Revision 1.41 / (download) - annotate - [select for diffs], Wed Feb 20 02:32:57 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.40: +23 -2
lines
Diff to previous 1.40 (colored)
Collapse map_entry{,ro,nc}() into a single pmap_map_entry() that takes a prot and a "cacheable" indicator.
Revision 1.40 / (download) - annotate - [select for diffs], Wed Feb 20 00:10:17 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.39: +21 -3
lines
Diff to previous 1.39 (colored)
Rename map_section() to pmap_map_section(), move it to pmap.c, and give it an extra argument (prot - specifies protection of the mapping).
Revision 1.14.2.5 / (download) - annotate - [select for diffs], Mon Feb 11 20:07:18 2002 UTC (21 years, 1 month ago) by jdolecek
Branch: kqueue
Changes since 1.14.2.4: +40 -40
lines
Diff to previous 1.14.2.4 (colored)
Sync w/ -current.
Revision 1.39 / (download) - annotate - [select for diffs], Wed Feb 6 17:41:42 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.38: +301 -183
lines
Diff to previous 1.38 (colored)
Back out all the vm_page_md changes. They are causing some mysterious problems (a similar change to the i386 pmap causes mysterious problems there, as well), and the issue needs to be investigated more.
Revision 1.38 / (download) - annotate - [select for diffs], Wed Feb 6 17:32:35 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.37: +26 -48
lines
Diff to previous 1.37 (colored)
Efficiency tweaks, some made possible by vm_page_md.
Revision 1.37 / (download) - annotate - [select for diffs], Tue Feb 5 21:14:36 2002 UTC (21 years, 1 month ago) by thorpej
Branch: MAIN
Changes since 1.36: +171 -267
lines
Diff to previous 1.36 (colored)
Use vm_page_md rather than pmap_physseg. Saves lots of cycles in common operations.
Revision 1.36 / (download) - annotate - [select for diffs], Fri Jan 25 19:19:25 2002 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.35: +18 -17
lines
Diff to previous 1.35 (colored)
Overhaul of the ARM cache code. This is mostly a simplification pass. Rather than providing a whole slew of cache operations that aren't ever used, distill them down to some useful primitives: icache_sync_all Synchronize I-cache icache_sync_range Synchronize I-cache range dcache_wbinv_all Write-back and Invalidate D-cache dcache_wbinv_range Write-back and Invalidate D-cache range dcache_inv_range Invalidate D-cache range dcache_wb_range Write-back D-cache range idcache_wbinv_all Write-back and Invalidate D-cache, Invalidate I-cache idcache_wbinv_range Write-back and Invalidate D-cache, Invalidate I-cache range Note: This does not yet include an overhaul of the actual asm files that implement the primitives. Instead, we've provided a safe default for each CPU type, and the individual CPU types can now be optimized one at a time.
Revision 1.35 / (download) - annotate - [select for diffs], Sun Jan 20 03:41:48 2002 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.34: +2 -4
lines
Diff to previous 1.34 (colored)
Some prototype cleanup.
Revision 1.34 / (download) - annotate - [select for diffs], Thu Jan 17 03:06:21 2002 UTC (21 years, 2 months ago) by thorpej
Branch: MAIN
Changes since 1.33: +24 -23
lines
Diff to previous 1.33 (colored)
Teach pmap_extract() about section mappings.
Revision 1.30.2.4 / (download) - annotate - [select for diffs], Fri Jan 11 23:38:01 2002 UTC (21 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.3: +19 -43
lines
Diff to previous 1.30.2.3 (colored) to branchpoint 1.30 (colored)
More catchup.
Revision 1.14.2.4 / (download) - annotate - [select for diffs], Thu Jan 10 19:37:49 2002 UTC (21 years, 2 months ago) by thorpej
Branch: kqueue
Changes since 1.14.2.3: +355 -146
lines
Diff to previous 1.14.2.3 (colored)
Sync kqueue branch with -current.
Revision 1.30.2.3 / (download) - annotate - [select for diffs], Tue Jan 8 00:23:09 2002 UTC (21 years, 2 months ago) by nathanw
Branch: nathanw_sa
Changes since 1.30.2.2: +28 -5
lines
Diff to previous 1.30.2.2 (colored) to branchpoint 1.30 (colored)
Catch up to -current.
Revision 1.33 / (download) - annotate - [select for diffs], Sat Jan 5 22:41:47 2002 UTC (21 years, 2 months ago) by chris
Branch: MAIN
Changes since 1.32: +19 -43
lines
Diff to previous 1.32 (colored)
Make some of the arm32 files build with LOOSE_PROTOTYPES not set in the makefile. Turned up a few mismatched functions. Note that this isn't all of the arm32 files. Aim will be to get arm32 kernels built with LOOSE_PROTOTYPES not set.
Revision 1.32 / (download) - annotate - [select for diffs], Thu Nov 22 18:24:43 2001 UTC (21 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.31: +15 -5
lines
Diff to previous 1.31 (colored)
Add cpu_cpwait() calls after TLB updates that are not expected to be followed up by a pmap_update().
Revision 1.31 / (download) - annotate - [select for diffs], Mon Nov 19 18:41:32 2001 UTC (21 years, 4 months ago) by thorpej
Branch: MAIN
Changes since 1.30: +15 -2
lines
Diff to previous 1.30 (colored)
Implement pmap_update(). Currently it just calls cpu_cpwait(), which ensures that TLB/cache operations have completed.
Revision 1.30.2.2 / (download) - annotate - [select for diffs], Thu Nov 15 06:39:22 2001 UTC (21 years, 4 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.30.2.1: +3736 -0
lines
Diff to previous 1.30.2.1 (colored) to branchpoint 1.30 (colored)
Machine-dependent kernel mods for scheduler activations on 32-bit ARM processors. Kernel boots multi-user on an XScale, but upcalls not yet tested.
Revision 1.28.2.1 / (download) - annotate - [select for diffs], Mon Nov 12 21:16:30 2001 UTC (21 years, 4 months ago) by thorpej
Branch: thorpej-mips-cache
Changes since 1.28: +70 -46
lines
Diff to previous 1.28 (colored) next main 1.29 (colored)
Sync the thorpej-mips-cache branch with -current.
Revision 1.30.2.1, Sat Nov 3 00:06:02 2001 UTC (21 years, 4 months ago) by thorpej
Branch: nathanw_sa
Changes since 1.30: +0 -3724
lines
FILE REMOVED
file pmap.c was added on branch nathanw_sa on 2001-11-15 06:39:22 +0000
Revision 1.30 / (download) - annotate - [select for diffs], Sat Nov 3 00:06:02 2001 UTC (21 years, 4 months ago) by rearnsha
Branch: MAIN
CVS Tags: thorpej-mips-cache-base
Branch point for: nathanw_sa
Changes since 1.29: +19 -13
lines
Diff to previous 1.29 (colored)
Replace most uses of pmap_pde_p with pmap_pde_page, since that is what we need later in the code. This fixes a fatal kernel fault in pmap_modified_emulation if a user application tries to access a kernel address that is section-mapped. Add a diagnostic that detects attempts to call pmap_kenter_pa with a va that is section-mapped.
Revision 1.29 / (download) - annotate - [select for diffs], Thu Nov 1 15:49:16 2001 UTC (21 years, 4 months ago) by rearnsha
Branch: MAIN
Changes since 1.28: +53 -35
lines
Diff to previous 1.28 (colored)
When clearing the modified bit for modified emulation, don't turn caching on for a page just because we are clearing the writable bit in the PTE: this is incompatible with the way pmap_vac_me_harder works, and the code in the modified emulation handler doesn't know about recalculating the cachable attributes (nor should it, IMO). Also, if we are invalidating a page, flush its TLB entry; for some reason we were only doing this when clearing the Write or modified bits. These patches together seem to solve the random seg-faults that were still occuring occasionally under heavy paging.
Revision 1.28 / (download) - annotate - [select for diffs], Thu Oct 18 18:15:56 2001 UTC (21 years, 5 months ago) by rearnsha
Branch: MAIN
Branch point for: thorpej-mips-cache
Changes since 1.27: +21 -2
lines
Diff to previous 1.27 (colored)
Add a comment describing the logic implemented by pmap_vac_me_harder.
Revision 1.27 / (download) - annotate - [select for diffs], Thu Oct 18 17:06:14 2001 UTC (21 years, 5 months ago) by rearnsha
Branch: MAIN
Changes since 1.26: +12 -5
lines
Diff to previous 1.26 (colored)
On processors that support both write-through and write-back cacheing (eg ARM920), the mode in which the processor operates is governed by the use of both the PT_C and PT_B bits: PT_C=1,PT_B=1 -> Write-back PT_C=1,PT_B=0 -> Write-through To support this define pte_cache_mode (initialized to PT_C|PT_B) and use that when enabling cacheing for a page.
Revision 1.26 / (download) - annotate - [select for diffs], Thu Oct 18 16:50:30 2001 UTC (21 years, 5 months ago) by rearnsha
Branch: MAIN
Changes since 1.25: +24 -6
lines
Diff to previous 1.25 (colored)
With a diagnostic kernel, printing out a message each time we fail to allocate a L1 pt is often enough to bring the system to its knees: so make the messages PDEBUG(0,...). However, even with this step having more than a small number of processes searching for a L1 pt can still be enough to bring the system down, since they all run at high priority and sleep for very little time, thus blocking out user code from completing. So implement an exponential backoff when waiting for a page table, so that we don't hog the CPU when memory is scarce. Tested by running a make of the C compiler with "gnumake -j30" (and plenty of swap space).
Revision 1.25 / (download) - annotate - [select for diffs], Thu Oct 18 16:32:40 2001 UTC (21 years, 5 months ago) by rearnsha
Branch: MAIN
Changes since 1.24: +168 -48
lines
Diff to previous 1.24 (colored)
Fix pmap_vac_me_harder to take into account pages that are mapped into both kernel and user space. Fixes port-arm32/13998.
Revision 1.18.2.1 / (download) - annotate - [select for diffs], Mon Oct 1 12:37:35 2001 UTC (21 years, 5 months ago) by fvdl
Branch: thorpej-devvp
Changes since 1.18: +79 -65
lines
Diff to previous 1.18 (colored) next main 1.19 (colored)
Catch up with -current.
Revision 1.24 / (download) - annotate - [select for diffs], Sat Sep 29 09:39:12 2001 UTC (21 years, 5 months ago) by chris
Branch: MAIN
CVS Tags: thorpej-devvp-base3,
thorpej-devvp-base2
Changes since 1.23: +8 -2
lines
Diff to previous 1.23 (colored)
Add a couple of simplelocks to make sure we call pagealloc with the uvm_object locked. Found while running a LOCKDEBUG kernel on cats.
Revision 1.23 / (download) - annotate - [select for diffs], Sat Sep 15 20:36:33 2001 UTC (21 years, 6 months ago) by chs
Branch: MAIN
CVS Tags: post-chs-ubcperf
Changes since 1.22: +8 -31
lines
Diff to previous 1.22 (colored)
a whole bunch of changes to improve performance and robustness under load: - remove special treatment of pager_map mappings in pmaps. this is required now, since I've removed the globals that expose the address range. pager_map now uses pmap_kenter_pa() instead of pmap_enter(), so there's no longer any need to special-case it. - eliminate struct uvm_vnode by moving its fields into struct vnode. - rewrite the pageout path. the pager is now responsible for handling the high-level requests instead of only getting control after a bunch of work has already been done on its behalf. this will allow us to UBCify LFS, which needs tighter control over its pages than other filesystems do. writing a page to disk no longer requires making it read-only, which allows us to write wired pages without causing all kinds of havoc. - use a new PG_PAGEOUT flag to indicate that a page should be freed on behalf of the pagedaemon when it's unlocked. this flag is very similar to PG_RELEASED, but unlike PG_RELEASED, PG_PAGEOUT can be cleared if the pageout fails due to eg. an indirect-block buffer being locked. this allows us to remove the "version" field from struct vm_page, and together with shrinking "loan_count" from 32 bits to 16, struct vm_page is now 4 bytes smaller. - no longer use PG_RELEASED for swap-backed pages. if the page is busy because it's being paged out, we can't release the swap slot to be reallocated until that write is complete, but unlike with vnodes we don't keep a count of in-progress writes so there's no good way to know when the write is done. instead, when we need to free a busy swap-backed page, just sleep until we can get it busy ourselves. - implement a fast-path for extending writes which allows us to avoid zeroing new pages. this substantially reduces cpu usage. - encapsulate the data used by the genfs code in a struct genfs_node, which must be the first element of the filesystem-specific vnode data for filesystems which use genfs_{get,put}pages(). - eliminate many of the UVM pagerops, since they aren't needed anymore now that the pager "put" operation is a higher-level operation. - enhance the genfs code to allow NFS to use the genfs_{get,put}pages instead of a modified copy. - clean up struct vnode by removing all the fields that used to be used by the vfs_cluster.c code (which we don't use anymore with UBC). - remove kmem_object and mb_object since they were useless. instead of allocating pages to these objects, we now just allocate pages with no object. such pages are mapped in the kernel until they are freed, so we can use the mapping to find the page to free it. this allows us to remove splvm() protection in several places. The sum of all these changes improves write throughput on my decstation 5000/200 to within 1% of the rate of NetBSD 1.5 and reduces the elapsed time for "make release" of a NetBSD 1.5 source tree on my 128MB pc to 10% less than a 1.5 kernel took.
Revision 1.22 / (download) - annotate - [select for diffs], Thu Sep 13 23:56:01 2001 UTC (21 years, 6 months ago) by chris
Branch: MAIN
CVS Tags: pre-chs-ubcperf
Changes since 1.21: +9 -7
lines
Diff to previous 1.21 (colored)
Sprinkle some static and inline into a couple of functions. Remove dead entries from pmap.h.
Revision 1.21 / (download) - annotate - [select for diffs], Thu Sep 13 22:45:23 2001 UTC (21 years, 6 months ago) by chris
Branch: MAIN
Changes since 1.20: +42 -6
lines
Diff to previous 1.20 (colored)
Update pmap_clearbit to flush the cache if the area is being made readonly. Also only do this and the tlb flush if the pmap is the current pmap.
Revision 1.14.2.3 / (download) - annotate - [select for diffs], Thu Sep 13 01:13:07 2001 UTC (21 years, 6 months ago) by thorpej
Branch: kqueue
Changes since 1.14.2.2: +20 -27
lines
Diff to previous 1.14.2.2 (colored)
Update the kqueue branch to HEAD.
Revision 1.20 / (download) - annotate - [select for diffs], Mon Sep 10 23:40:02 2001 UTC (21 years, 6 months ago) by chris
Branch: MAIN
Changes since 1.19: +14 -21
lines
Diff to previous 1.19 (colored)
Update the pmap following some comments from Chuck Silvers: Remove some overzealous locking of HEAD_TO_MAP Remove a potential deadlock in pmap_copy_page Change alloc and free l1pt to use kenter/kremove. Update pmap_map to use kenter (only actually used by dumpsys, so no matching kremove)
Revision 1.19 / (download) - annotate - [select for diffs], Mon Sep 10 21:19:35 2001 UTC (21 years, 6 months ago) by chris
Branch: MAIN
Changes since 1.18: +8 -8
lines
Diff to previous 1.18 (colored)
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 1.14.2.2 / (download) - annotate - [select for diffs], Sat Aug 25 06:15:08 2001 UTC (21 years, 7 months ago) by thorpej
Branch: kqueue
Changes since 1.14.2.1: +1014 -446
lines
Diff to previous 1.14.2.1 (colored)
Merge Aug 24 -current into the kqueue branch.
Revision 1.18 / (download) - annotate - [select for diffs], Sat Aug 11 14:47:56 2001 UTC (21 years, 7 months ago) by chris
Branch: MAIN
CVS Tags: thorpej-devvp-base
Branch point for: thorpej-devvp
Changes since 1.17: +2 -4
lines
Diff to previous 1.17 (colored)
Fix compile without DIAGNOSTICs enabled
Revision 1.17 / (download) - annotate - [select for diffs], Sat Aug 11 13:20:19 2001 UTC (21 years, 7 months ago) by chris
Branch: MAIN
Changes since 1.16: +1014 -444
lines
Diff to previous 1.16 (colored)
Checking a whole host of pmap changes: Improved locking (not that we actually use it on a uniprocessor, but one day :) Removed unneeded splvm's tweaked pmap_clean_page code to only flush the cache if the page is mapped in the current pmap (based on diff from richard E) Adopted pv entry allocation mechanism from i386. Laid framework for returning ptp's when we've finished with them rather than holding onto them till the process exits. ptp's are now allocated with a uvm object for the pmap, means that we can walk a list to free them off in pmap_release, until they get freed off by pmap_remove. Also implemented a page zeroing function when the processor is idling. Note that hpcarm may wish to disable this. I believe this code to be stable, if anyone has any problems please shout up.
Revision 1.14.2.1 / (download) - annotate - [select for diffs], Fri Aug 3 04:10:58 2001 UTC (21 years, 7 months ago) by lukem
Branch: kqueue
Changes since 1.14: +90 -80
lines
Diff to previous 1.14 (colored)
update to -current
Revision 1.16 / (download) - annotate - [select for diffs], Sun Jul 29 12:45:27 2001 UTC (21 years, 8 months ago) by chris
Branch: MAIN
Changes since 1.15: +43 -30
lines
Diff to previous 1.15 (colored)
Rework the pmap_release code to not have to walk the ptpt, it now uses a uvm_object to track the allocated vm_pages, this means it can free off the entries in the uvm_object. Testing shows that it's about 5% faster on the make configure step for gmake.
Revision 1.15 / (download) - annotate - [select for diffs], Sat Jul 28 18:12:43 2001 UTC (21 years, 8 months ago) by chris
Branch: MAIN
Changes since 1.14: +49 -52
lines
Diff to previous 1.14 (colored)
A couple of tidy ups to pmap: pmap_t -> struct pmap * in pmap.c and pmap.h kernel_pmap -> pmap_kernel() everywhere. Compiled and booted on riscpc and cats.
Revision 1.14 / (download) - annotate - [select for diffs], Sun Jul 8 19:44:43 2001 UTC (21 years, 8 months ago) by chs
Branch: MAIN
Branch point for: kqueue
Changes since 1.13: +18 -56
lines
Diff to previous 1.13 (colored)
clean up pmap_k{enter_pa,remove}(): a page is allowed to be mapped normally when k-mapped. use UVM_PGA_ZERO to get zeroed pages rather than zeroing here.
Revision 1.13 / (download) - annotate - [select for diffs], Fri Jul 6 20:15:13 2001 UTC (21 years, 8 months ago) by chris
Branch: MAIN
Changes since 1.12: +77 -3
lines
Diff to previous 1.12 (colored)
Implement proper versions of kenter_pa and kremove, I've based them on versions provided by Richard E.
Revision 1.12 / (download) - annotate - [select for diffs], Mon Jun 25 23:22:38 2001 UTC (21 years, 9 months ago) by chris
Branch: MAIN
Changes since 1.11: +92 -23
lines
Diff to previous 1.11 (colored)
Improve the vac_me_harder function, it is now slightly faster, however pmap_enter_pv is also now slightly slower, so they appear to balance out. Note that I've some ideas in the works on how to improve the pv handling, so the slow down is short term only. Also added non-advertising licence and copyright to myself and richard.
Revision 1.11 / (download) - annotate - [select for diffs], Sun Jun 24 23:21:04 2001 UTC (21 years, 9 months ago) by chris
Branch: MAIN
Changes since 1.10: +100 -43
lines
Diff to previous 1.10 (colored)
Add a pmap_map_ptes function to map another process page table entries into the current pmap (similair to pmap_pte) but this allows multiple use of it, rather than repeated calls of pmap_pte for pte, map_ptes returns a pointer to the va where the entries were mapped so it can be reused ptes can be found by indexing into it. Update some of the functions that use pmap_pte to pmap_map_ptes. Note that there's a dummy macro for pmap_unmap_ptes, this is because at some point locking will be needed, so we need to be able to unlock them. Performance gain seems to be minimal, however long term it should help improve things. This is similair to the i386 pmap_map_ptes, however it's based on a version from Richard Earnshaw.
Revision 1.10 / (download) - annotate - [select for diffs], Fri Jun 22 09:09:42 2001 UTC (21 years, 9 months ago) by chris
Branch: MAIN
Changes since 1.9: +21 -4
lines
Diff to previous 1.9 (colored)
Use a pool to store pmap structs.
Revision 1.3.2.2 / (download) - annotate - [select for diffs], Thu Jun 21 19:18:50 2001 UTC (21 years, 9 months ago) by nathanw
Changes since 1.3.2.1: +15 -18
lines
Diff to previous 1.3.2.1 (colored) next main 1.4 (colored)
Catch up to -current.
Revision 1.9 / (download) - annotate - [select for diffs], Sat May 26 21:27:04 2001 UTC (21 years, 10 months ago) by chs
Branch: MAIN
Changes since 1.8: +2 -2
lines
Diff to previous 1.8 (colored)
replace vm_page_t with struct vm_page *.
Revision 1.8 / (download) - annotate - [select for diffs], Wed Apr 25 17:35:01 2001 UTC (21 years, 11 months ago) by thorpej
Branch: MAIN
Changes since 1.7: +1 -2
lines
Diff to previous 1.7 (colored)
Garbage-collect pmap_page_index().
Revision 1.7 / (download) - annotate - [select for diffs], Tue Apr 24 04:30:53 2001 UTC (21 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_beforemerge
Changes since 1.6: +6 -1
lines
Diff to previous 1.6 (colored)
Sprinkle pmap_update() calls after calls to: - pmap_enter() - pmap_remove() - pmap_protect() - pmap_kenter_pa() - pmap_kremove() as described in pmap(9). These calls are relatively conservative. It may be possible to optimize these a little more.
Revision 1.3.4.4 / (download) - annotate - [select for diffs], Mon Apr 23 09:41:33 2001 UTC (21 years, 11 months ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.3.4.3: +9 -16
lines
Diff to previous 1.3.4.3 (colored) next main 1.4 (colored)
Sync with HEAD.
Revision 1.6 / (download) - annotate - [select for diffs], Sun Apr 22 23:42:13 2001 UTC (21 years, 11 months ago) by thorpej
Branch: MAIN
CVS Tags: thorpej_scsipi_nbase,
thorpej_scsipi_base
Changes since 1.5: +1 -15
lines
Diff to previous 1.5 (colored)
Remove pmap_kenter_pgs(). It was never really adopted by anything, and the interface itself wasn't as flexible as callers would have probably liked.
Revision 1.5 / (download) - annotate - [select for diffs], Fri Apr 20 18:11:53 2001 UTC (21 years, 11 months ago) by toshii
Branch: MAIN
Changes since 1.4: +9 -2
lines
Diff to previous 1.4 (colored)
In pmap_allocpagedir(), check if uvm_km_zalloc of ptpt is successful, and handle alloc failure case.
Revision 1.3.2.1 / (download) - annotate - [select for diffs], Mon Apr 9 01:50:46 2001 UTC (21 years, 11 months ago) by nathanw
Changes since 1.3: +2 -6
lines
Diff to previous 1.3 (colored)
Catch up with -current.
Revision 1.3.4.3 / (download) - annotate - [select for diffs], Tue Mar 27 15:30:18 2001 UTC (22 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.3.4.2: +2 -6
lines
Diff to previous 1.3.4.2 (colored)
Sync with HEAD.
Revision 1.4 / (download) - annotate - [select for diffs], Thu Mar 15 06:10:35 2001 UTC (22 years ago) by chs
Branch: MAIN
Changes since 1.3: +2 -6
lines
Diff to previous 1.3 (colored)
eliminate the KERN_* error codes in favor of the traditional E* codes. the mapping is: KERN_SUCCESS 0 KERN_INVALID_ADDRESS EFAULT KERN_PROTECTION_FAILURE EACCES KERN_NO_SPACE ENOMEM KERN_INVALID_ARGUMENT EINVAL KERN_FAILURE various, mostly turn into KASSERTs KERN_RESOURCE_SHORTAGE ENOMEM KERN_NOT_RECEIVER <unused> KERN_NO_ACCESS <unused> KERN_PAGES_LOCKED <unused>
Revision 1.3.4.2 / (download) - annotate - [select for diffs], Mon Mar 12 13:27:20 2001 UTC (22 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.3.4.1: +2772 -0
lines
Diff to previous 1.3.4.1 (colored)
Sync with HEAD.
Revision 1.3.4.1, Sun Mar 4 19:05:55 2001 UTC (22 years ago) by bouyer
Branch: thorpej_scsipi
Changes since 1.3: +0 -2772
lines
FILE REMOVED
file pmap.c was added on branch thorpej_scsipi on 2001-03-12 13:27:20 +0000
Revision 1.3 / (download) - annotate - [select for diffs], Sun Mar 4 19:05:55 2001 UTC (22 years ago) by matt
Branch: MAIN
Branch point for: thorpej_scsipi
Changes since 1.2: +3 -3
lines
Diff to previous 1.2 (colored)
more vm_offset_t/vm_size_t -> {p,v}{addr,size}_t changes move pmap_* declarations to pmap.h. fix conflicts this exposed (e.g different definitions for pmap_bootstrap).
Revision 1.2 / (download) - annotate - [select for diffs], Sun Mar 4 07:30:19 2001 UTC (22 years ago) by matt
Branch: MAIN
Changes since 1.1: +47 -46
lines
Diff to previous 1.1 (colored)
Convert some vm_size_t to vsize_t/psize_t. Change vaddr_t to paddr_t where appropriate.
Revision 1.1 / (download) - annotate - [select for diffs], Sun Mar 4 05:08:09 2001 UTC (22 years ago) by matt
Branch: MAIN
Move from arm32/arm32. s/vm_offset_t/vaddr_t/g