summaryrefslogtreecommitdiffstats
path: root/sys/arm64
diff options
context:
space:
mode:
authorandrew <andrew@FreeBSD.org>2016-04-06 14:16:37 +0000
committerandrew <andrew@FreeBSD.org>2016-04-06 14:16:37 +0000
commitd28cfa553c23d80caf0e6c73ed4b8213769a93a6 (patch)
treebea85f76dc68a89e25d91dcfdccaf4550f8afc9e /sys/arm64
parentc287d03447df3c2a6e83106c8fa7f3c78897b008 (diff)
downloadFreeBSD-src-d28cfa553c23d80caf0e6c73ed4b8213769a93a6.zip
FreeBSD-src-d28cfa553c23d80caf0e6c73ed4b8213769a93a6.tar.gz
Use PHYS_IN_DMAP to check if a physical address is within the DMAP region.
Approved by: ABT Systems Ltd Sponsored by: The FreeBSD Foundation
Diffstat (limited to 'sys/arm64')
-rw-r--r--sys/arm64/arm64/pmap.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c
index 5eeccdd..ca232f0 100644
--- a/sys/arm64/arm64/pmap.c
+++ b/sys/arm64/arm64/pmap.c
@@ -3534,7 +3534,7 @@ pmap_map_io_transient(vm_page_t page[], vm_offset_t vaddr[], int count,
needs_mapping = FALSE;
for (i = 0; i < count; i++) {
paddr = VM_PAGE_TO_PHYS(page[i]);
- if (__predict_false(paddr >= DMAP_MAX_PHYSADDR)) {
+ if (__predict_false(!PHYS_IN_DMAP(paddr))) {
error = vmem_alloc(kernel_arena, PAGE_SIZE,
M_BESTFIT | M_WAITOK, &vaddr[i]);
KASSERT(error == 0, ("vmem_alloc failed: %d", error));
@@ -3552,7 +3552,7 @@ pmap_map_io_transient(vm_page_t page[], vm_offset_t vaddr[], int count,
sched_pin();
for (i = 0; i < count; i++) {
paddr = VM_PAGE_TO_PHYS(page[i]);
- if (paddr >= DMAP_MAX_PHYSADDR) {
+ if (!PHYS_IN_DMAP(paddr)) {
panic(
"pmap_map_io_transient: TODO: Map out of DMAP data");
}
@@ -3572,7 +3572,7 @@ pmap_unmap_io_transient(vm_page_t page[], vm_offset_t vaddr[], int count,
sched_unpin();
for (i = 0; i < count; i++) {
paddr = VM_PAGE_TO_PHYS(page[i]);
- if (paddr >= DMAP_MAX_PHYSADDR) {
+ if (!PHYS_IN_DMAP(paddr)) {
panic("ARM64TODO: pmap_unmap_io_transient: Unmap data");
}
}
OpenPOWER on IntegriCloud