#pragma once #include "paging.h" #include "stdarg.h" /* Pure Virtual Memory Allocation */ // areaAlloc map vmem to phy pages #define AREA_PHY_MAP (1<<0) struct memArea { vaddr_t startAddr; uint nbPages; struct memArea *next; struct memArea *prev; }; void areaInit(vaddr_t firstMemUsed, vaddr_t lastUsed); vaddr_t areaAlloc(unsigned int nbPages, uint32_t flags); int areaFree(vaddr_t addr); int areaAdd(vaddr_t addr, uint nbPages, int isFree);