Files
SystemPaw3/paw/stos/mm/vmm.c
T
2026-06-22 23:27:26 +00:00

36 lines
689 B
C

/*
* Copyright (c) 2026, Chloe M.
* Provided under the BSD-3 clause.
*
* Description: Virtual memory manager
* Author: Chloe M.
*/
#include <mm/vmm.h>
#include <hal/mmu.h>
#include <ex/trace.h>
#define DTRACE(Fmt, ...) \
TRACE("[ VMM ]: " Fmt, ##__VA_ARGS__)
static MMU_VAS KernelVas;
VOID
MmInitVmm(VOID)
{
MMU_VAS OldVas;
ST_STATUS Status;
DTRACE("breeding kvas from bootstrap instance...\n");
HalMmuReadVas(&OldVas);
Status = HalMmuForkVas(&OldVas, &KernelVas);
if (Status != STATUS_SUCCESS) {
/* TODO: Panic here */
return;
}
HalMmuWriteVas(&KernelVas);
DTRACE("ah!~... [ok @ %p]\n", VAS_BASE(&KernelVas));
}