diff options
author | alc <alc@FreeBSD.org> | 2010-06-01 05:32:59 +0000 |
---|---|---|
committer | alc <alc@FreeBSD.org> | 2010-06-01 05:32:59 +0000 |
commit | 6d887343cf0badf1c2294e7eacf8c5a1b4fc12e9 (patch) | |
tree | 48286bff2aa2ac47be419314064e4818cf430d22 /sys/arm | |
parent | 7c67d00bc8d510b12af8e68931a81bf27a0bc3a6 (diff) | |
download | FreeBSD-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.c | 7 |
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; |