diff options
author | raj <raj@FreeBSD.org> | 2013-08-19 15:36:23 +0000 |
---|---|---|
committer | raj <raj@FreeBSD.org> | 2013-08-19 15:36:23 +0000 |
commit | af6a4d3dba7e85186f23ddf2a8f3eaf9cc20517f (patch) | |
tree | 14eb46f573f62c1ea406e260af65cc4295406be2 /sys | |
parent | f8dbb3733064c4c7263aa0400a160e7dbf884b13 (diff) | |
download | FreeBSD-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.c | 3 |
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); } |