diff --git a/sys/arm64/arm64/pmap.c b/sys/arm64/arm64/pmap.c --- a/sys/arm64/arm64/pmap.c +++ b/sys/arm64/arm64/pmap.c @@ -9298,8 +9298,7 @@ for (i = 0; i < count; i++) { paddr = VM_PAGE_TO_PHYS(page[i]); if (!PHYS_IN_DMAP(paddr)) { - panic( - "pmap_map_io_transient: TODO: Map out of DMAP data"); + pmap_qenter(vaddr[i], &page[i], 1); } } @@ -9318,7 +9317,8 @@ for (i = 0; i < count; i++) { paddr = VM_PAGE_TO_PHYS(page[i]); if (!PHYS_IN_DMAP(paddr)) { - panic("ARM64TODO: pmap_unmap_io_transient: Unmap data"); + pmap_qremove(vaddr[i], 1); + vmem_free(kernel_arena, vaddr[i], PAGE_SIZE); } } }