Index: sys/arm64/arm64/efirt_machdep.c =================================================================== --- sys/arm64/arm64/efirt_machdep.c +++ sys/arm64/arm64/efirt_machdep.c @@ -150,10 +150,17 @@ vm_offset_t efi_phys_to_kva(vm_paddr_t paddr) { + vm_offset_t vaddr; - if (!PHYS_IN_DMAP(paddr)) - return (0); - return (PHYS_TO_DMAP(paddr)); + if (PHYS_IN_DMAP(paddr)) { + vaddr = PHYS_TO_DMAP(paddr); + if (pmap_klookup(vaddr, NULL)) + return (vaddr); + } + + /* TODO: Map memory not in the DMAP */ + + return (0); } /*