24 lines
521 B
C++
24 lines
521 B
C++
#ifndef _PAGEFRAMEALLOC_H_
|
|
#define _PAGEFRAMEALLOC_H_
|
|
|
|
#include <types.h>
|
|
#include "../memory/pageframe.h"
|
|
#include "../object/queue.h"
|
|
|
|
namespace PageFrameAllocator {
|
|
extern uint8_t bitmap[4294967296 / 4096 / 8];
|
|
extern PageFrame PageFrames[4294967296 / 4096];
|
|
//Queue<PageFrame> PageFrameList;
|
|
|
|
void init ();
|
|
void stats ();
|
|
void* alloc(bool kernel);
|
|
void free (PageFrame *frame);
|
|
void free (uintptr_t addr);
|
|
}
|
|
|
|
|
|
void mark_pageframes(uintptr_t start, uintptr_t end, bool available);
|
|
|
|
#endif
|