summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorraj <raj@FreeBSD.org>2013-08-19 15:36:23 +0000
committerraj <raj@FreeBSD.org>2013-08-19 15:36:23 +0000
commitaf6a4d3dba7e85186f23ddf2a8f3eaf9cc20517f (patch)
tree14eb46f573f62c1ea406e260af65cc4295406be2 /sys
parentf8dbb3733064c4c7263aa0400a160e7dbf884b13 (diff)
downloadFreeBSD-src-af6a4d3dba7e85186f23ddf2a8f3eaf9cc20517f.zip
FreeBSD-src-af6a4d3dba7e85186f23ddf2a8f3eaf9cc20517f.tar.gz
Fix ARMv6/v7 mapping's wired status.
Last input argument in pmap_modify_pv() should be a mask of flags to be set. In pmap_change_wiring() however, the straight wired status was used, which does not represent valid flags (and is of type boolean). This commit fixes the issue so that wired flag is passed to pmap_modify_pv() properly. Submitted by: Zbigniew Bodek <zbb@semihalf.com> Reviewed by: gber Sponsored by: The FreeBSD Foundation, Semihalf
Diffstat (limited to 'sys')
-rw-r--r--sys/arm/arm/pmap-v6.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/sys/arm/arm/pmap-v6.c b/sys/arm/arm/pmap-v6.c
index f990a71..b3da14a 100644
--- a/sys/arm/arm/pmap-v6.c
+++ b/sys/arm/arm/pmap-v6.c
@@ -2932,7 +2932,8 @@ pmap_change_wiring(pmap_t pmap, vm_offset_t va, boolean_t wired)
pte = *ptep;
m = PHYS_TO_VM_PAGE(l2pte_pa(pte));
if (m != NULL)
- pmap_modify_pv(m, pmap, va, PVF_WIRED, wired);
+ pmap_modify_pv(m, pmap, va, PVF_WIRED,
+ wired == TRUE ? PVF_WIRED : 0);
rw_wunlock(&pvh_global_lock);
PMAP_UNLOCK(pmap);
}
OpenPOWER on IntegriCloud