/* * 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 /* * 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_ */