diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c index 5a6c2b47993..406ff7744e5 100644 --- a/sys/amd64/amd64/pmap.c +++ b/sys/amd64/amd64/pmap.c @@ -10504,8 +10504,7 @@ pmap_map_io_transient(vm_page_t page[], vm_offset_t vaddr[], int count, { vm_paddr_t paddr; bool needs_mapping; - pt_entry_t *pte; - int cache_bits, error __unused, i; + int error __unused, i; /* * Allocate any KVA space that we need, this is done in a separate @@ -10550,11 +10549,8 @@ pmap_map_io_transient(vm_page_t page[], vm_offset_t vaddr[], int count, */ pmap_qenter(vaddr[i], &page[i], 1); } else { - pte = vtopte(vaddr[i]); - cache_bits = pmap_cache_bits(kernel_pmap, - page[i]->md.pat_mode, false); - pte_store(pte, paddr | X86_PG_RW | X86_PG_V | - cache_bits); + pmap_kenter_attr(vaddr[i], paddr, + page[i]->md.pat_mode); pmap_invlpg(kernel_pmap, vaddr[i]); } }