X-Git-Url: https://scm.lunaixsky.com/lunaix-os.git/blobdiff_plain/48b4a227035048fdebcd32532deb7a857c6199ac..2e21eb2f39dd80aa166216381d5d402be943686e:/lunaix-os/kernel/mm/vmm.c?ds=inline diff --git a/lunaix-os/kernel/mm/vmm.c b/lunaix-os/kernel/mm/vmm.c index f791cc3..40c8be5 100644 --- a/lunaix-os/kernel/mm/vmm.c +++ b/lunaix-os/kernel/mm/vmm.c @@ -255,4 +255,17 @@ void* vmm_v2p(void* va) { return (void*)vmm_lookup(va).pa; +} + +void* +vmm_mount_pd(void* pde) { + x86_page_table* l1pt = (x86_page_table*)L1_BASE_VADDR; + l1pt->entry[(PD_MOUNT >> 22)] = NEW_L1_ENTRY(PG_PREM_RW, pde); + return PD_MOUNT; +} + +void* +vmm_unmount_pd() { + x86_page_table* l1pt = (x86_page_table*)L1_BASE_VADDR; + l1pt->entry[(PD_MOUNT >> 22)] = 0; } \ No newline at end of file