#include <ubixos/sched.h> #include <mm/vmm.h> void * mmGetFreeVirtualPage(kTask_t *task) { mMap *tmp; /* remove the first free entry from the free pages list */ tmp = mmFreePages->First; freePages--; mmFreePages->First = mmFreePages->First->Next; mmFreePages->First->Previous = NULL; /* add the free entry to the task's pages list */ usedPages++; tmp->Next = NULL; tmp->Previous = task->LastPage; task->LastPage = tmp; return tmp; }