Fix some uses of dmaplimit.
dmaplimit is the first byte after the end of DMAP. Reported by: "Johnson, Archna" <Archna.Johnson@netapp.com> Reviewed by: alc, markj Approved by: re (gjb) MFC after: 1 week Differential revision: https://reviews.freebsd.org/D17318
This commit is contained in:
parent
28337eb676
commit
05e1cca97a
@ -1422,7 +1422,7 @@ pmap_init(void)
|
||||
if (ppim->va == 0)
|
||||
continue;
|
||||
/* Make the direct map consistent */
|
||||
if (ppim->pa < dmaplimit && ppim->pa + ppim->sz < dmaplimit) {
|
||||
if (ppim->pa < dmaplimit && ppim->pa + ppim->sz <= dmaplimit) {
|
||||
(void)pmap_change_attr(PHYS_TO_DMAP(ppim->pa),
|
||||
ppim->sz, ppim->mode);
|
||||
}
|
||||
@ -7055,7 +7055,7 @@ pmap_mapdev_attr(vm_paddr_t pa, vm_size_t size, int mode)
|
||||
* If the specified range of physical addresses fits within
|
||||
* the direct map window, use the direct map.
|
||||
*/
|
||||
if (pa < dmaplimit && pa + size < dmaplimit) {
|
||||
if (pa < dmaplimit && pa + size <= dmaplimit) {
|
||||
va = PHYS_TO_DMAP(pa);
|
||||
if (!pmap_change_attr(va, size, mode))
|
||||
return ((void *)(va + offset));
|
||||
|
Loading…
x
Reference in New Issue
Block a user