From 01001c2aa2216c92603e1bdc334613e5adcacb04 Mon Sep 17 00:00:00 2001 From: Ian Moffett Date: Fri, 21 Nov 2025 22:45:41 -0500 Subject: kern/amd64: mu: Add pmap unmap function Signed-off-by: Ian Moffett --- sys/arch/amd64/cpu/mmu.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) (limited to 'sys/arch/amd64') diff --git a/sys/arch/amd64/cpu/mmu.c b/sys/arch/amd64/cpu/mmu.c index b709ee1..2be4b12 100644 --- a/sys/arch/amd64/cpu/mmu.c +++ b/sys/arch/amd64/cpu/mmu.c @@ -192,6 +192,27 @@ mu_pmap_map(struct mmu_vas *vas, uintptr_t pa, uintptr_t va, return 0; } +int +mu_pmap_unmap(struct mmu_vas *vas, uintptr_t va, pagesize_t ps) +{ + uintptr_t *pagetbl; + size_t index; + + if (vas == NULL) { + return -EINVAL; + } + + pagetbl = pmap_get_level(vas, va, false, PMAP_PML1); + if (pagetbl == NULL) { + return 0; + } + + index = pmap_get_index(va, PMAP_PML1); + pagetbl[index] = 0; + pmap_invlpg(va); + return 0; +} + int mu_pmap_readvas(struct mmu_vas *vas) { -- cgit v1.2.3