ptos: vm: Add virtual memory related macros

Signed-off-by: Chloe M <chloe@yiffware.org>
This commit is contained in:
2026-07-10 19:06:53 -04:00
parent 1c5e14f250
commit 92f4720898
+31
View File
@@ -0,0 +1,31 @@
/*
* Copyright (c) 2026, Chloe M.
* Provided under the BSD-3 clause.
*
* Description: Virtual memory management
* Author: Chloe M.
*/
#ifndef _MM_VM_H_
#define _MM_VM_H_ 1
#include <ke/bpal.h>
/*
* Virtual memory allocation region. This is outside the
* higher half direct map and thus cannot be converted with
* PMA_TO_VMA() / VMA_TO_PMA()
*/
#define VALLOC_BASE 0xFFFF804000000000
/*
* Used to convert physical addresses to virtual addresses
* and vice versa only when they are within the higher half
* direct map.
*/
#define PMA_TO_VMA(PMA) \
PTR_OFFSET((VOID *)PMA, KeBpalLoadBase())
#define VMA_TO_PMA(VMA) \
(UPTR)PTR_NOFFSET(VMA, KeBpalLoadBase())
#endif /* !_MM_VM_H_ */