amd64: switch pmap_map_io_transient() to use pmap_kenter_attr()

(cherry picked from commit 6ec4ff70885d8048be8de9b9d690dd371e3d4a3e)
This commit is contained in:
Konstantin Belousov 2024-11-23 23:03:40 +02:00
parent 8e9f1e10c6
commit 7302cdd349

View file

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