Page MenuHomeFreeBSD

D47678.diff
No OneTemporary

D47678.diff

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);
}
}
}

File Metadata

Mime Type
text/plain
Expires
Wed, Nov 20, 11:03 PM (21 h, 21 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
14743137
Default Alt Text
D47678.diff (641 B)

Event Timeline