summaryrefslogtreecommitdiffstats
path: root/sys/arm
diff options
context:
space:
mode:
authoralc <alc@FreeBSD.org>2010-06-01 05:32:59 +0000
committeralc <alc@FreeBSD.org>2010-06-01 05:32:59 +0000
commit6d887343cf0badf1c2294e7eacf8c5a1b4fc12e9 (patch)
tree48286bff2aa2ac47be419314064e4818cf430d22 /sys/arm
parent7c67d00bc8d510b12af8e68931a81bf27a0bc3a6 (diff)
downloadFreeBSD-src-6d887343cf0badf1c2294e7eacf8c5a1b4fc12e9.zip
FreeBSD-src-6d887343cf0badf1c2294e7eacf8c5a1b4fc12e9.tar.gz
In pmap_enter_locked(), don't require the vector page to be VPO_BUSY.
Diffstat (limited to 'sys/arm')
-rw-r--r--sys/arm/arm/pmap.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/sys/arm/arm/pmap.c b/sys/arm/arm/pmap.c
index 68ecb47..cd8a562 100644
--- a/sys/arm/arm/pmap.c
+++ b/sys/arm/arm/pmap.c
@@ -3318,15 +3318,16 @@ pmap_enter_locked(pmap_t pmap, vm_offset_t va, vm_page_t m, vm_prot_t prot,
u_int oflags;
vm_paddr_t pa;
- KASSERT((m->oflags & VPO_BUSY) != 0 || (flags & M_NOWAIT) != 0,
- ("pmap_enter_locked: page %p is not busy", m));
PMAP_ASSERT_LOCKED(pmap);
mtx_assert(&vm_page_queue_mtx, MA_OWNED);
if (va == vector_page) {
pa = systempage.pv_pa;
m = NULL;
- } else
+ } else {
+ KASSERT((m->oflags & VPO_BUSY) != 0 || (flags & M_NOWAIT) != 0,
+ ("pmap_enter_locked: page %p is not busy", m));
pa = VM_PAGE_TO_PHYS(m);
+ }
nflags = 0;
if (prot & VM_PROT_WRITE)
nflags |= PVF_WRITE;
OpenPOWER on IntegriCloud