 |
Xyris
0.5
|
Go to the documentation of this file.
20 #define KADDR_TO_PHYS(addr) ((addr) - KERNEL_BASE)
35 for (
size_t i = 0; i < sect.
pages(); i++) {
44 "0x%08zX-0x%08zX 0x%08zX [%zu] [%s]",
51 for (
size_t i = 0; i < sect.
pages(); i++) {
56 [[gnu::always_inline]]
void setFree(Arch::Memory::Address addr)
63 [[gnu::always_inline]]
void setUsed(Arch::Memory::Address addr)
70 [[gnu::always_inline]]
void setFree(uintptr_t addr)
77 [[gnu::always_inline]]
void setUsed(uintptr_t addr)
84 [[gnu::always_inline]]
bool isFree(uintptr_t addr)
92 for (
size_t i = 0; i < sect.
pages(); i++) {
bool isFree(uintptr_t addr)
void setUsed(uintptr_t addr)
void setFree(uintptr_t addr)
bool Test(size_t pos)
Return the value of the bit at the given position.
void setFree(Arch::Memory::Address addr)
void Set(size_t pos)
Set the bit for a given position.
A basic bitmap implementation.
void setUsed(Arch::Memory::Address addr)
Bitset< MEM_BITMAP_SIZE > m_memory
size_t FindFirstBit(bool isSet)
Finds and returns the position of the first clear bit.
void setFree(Section §)
bool isFree(Section §)
const char * typeString()
static void Debug(const char *tag, const char *fmt,...)
Architecture memory management & paging API.
void setUsed(Section §)
#define ADDRESS_TO_PAGE_IDX(addr)
uintptr_t findNextFreePhysicalAddress()
void Reset(size_t pos)
Reset (clear) the bit at the given position.