Correct page frame mask constant used in pmap_change_attr_locked

This was introduced in r290156.  It's present in 11.0, but not any 10.x
release unless someone decided to MFC it.

It affects ordinary pages right above the DMAP limit, which is effectively
system memory rounded up to a 1 GB (3rd level superpage) boundary (or up to
a minimum of 4 GB, on small systems).

Reported by:	vangyzen
Reviewed by:	kib, alc
Sponsored by:	Dell EMC Isilon
Differential Revision:	https://reviews.freebsd.org/D4030
This commit is contained in:
Conrad Meyer 2017-05-16 16:20:22 +00:00
parent 65b017b420
commit fcf0952c80

View File

@ -6691,7 +6691,7 @@ pmap_change_attr_locked(vm_offset_t va, vm_size_t size, int mode)
changed = TRUE;
}
if (tmpva >= VM_MIN_KERNEL_ADDRESS &&
(*pte & PG_PS_FRAME) < dmaplimit) {
(*pte & PG_FRAME) < dmaplimit) {
if (pa_start == pa_end) {
/* Start physical address run. */
pa_start = *pte & PG_FRAME;