aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKonstantin Belousov <kib@FreeBSD.org>2024-11-23 21:03:40 +0000
committerKonstantin Belousov <kib@FreeBSD.org>2024-11-25 12:16:50 +0000
commit6ec4ff70885d8048be8de9b9d690dd371e3d4a3e (patch)
tree5cf7cdcaa218f876cfdbba001f9f85147847048b
parent2d6923790b16785ac691cedb23234067672fe1cc (diff)
-rw-r--r--sys/amd64/amd64/pmap.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/amd64/amd64/pmap.c b/sys/amd64/amd64/pmap.c
index 21b8555b5380..82110e61d54a 100644
--- a/sys/amd64/amd64/pmap.c
+++ b/sys/amd64/amd64/pmap.c
@@ -10518,8 +10518,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
@@ -10564,11 +10563,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]);
}
}