Xyris  0.5
Memory.hpp File Reference
#include <stdint.h>
#include <stddef.h>
+ Include dependency graph for Memory.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

 Arch
 
 Arch::Memory
 

Macros

#define B_TO_KB(b)   ((b) / 1024)
 
#define KB_TO_MB(kb)   ((kb) / 1024)
 
#define MB_TO_GB(mb)   ((mb) / 1024)
 
#define B_TO_MB(b)   KB_TO_MB(B_TO_KB(b))
 
#define B_TO_GB(b)   MB_TO_GB(B_TO_MB(b))
 
#define ADDRESS_SPACE_SIZE   0x100000000
 
#define ADDRESS_TO_PAGE_IDX(addr)   ((addr) / ARCH_PAGE_SIZE)
 
#define MEM_BITMAP_SIZE   ((ADDRESS_SPACE_SIZE / ARCH_PAGE_SIZE) / (sizeof(size_t) * CHAR_BIT))
 

Functions

void Arch::Memory::pagingEnable ()
 
void Arch::Memory::pagingDisable ()
 

Detailed Description

Architecture memory management & paging API.

Author
Keeton Feavel (keeto.nosp@m.n@xy.nosp@m.r.is)
Version
0.1
Date
2021-09-18

Definition in file Memory.hpp.

Macro Definition Documentation

◆ ADDRESS_SPACE_SIZE

#define ADDRESS_SPACE_SIZE   0x100000000

Definition at line 26 of file Memory.hpp.

◆ ADDRESS_TO_PAGE_IDX

#define ADDRESS_TO_PAGE_IDX (   addr)    ((addr) / ARCH_PAGE_SIZE)

Definition at line 28 of file Memory.hpp.

◆ B_TO_GB

#define B_TO_GB (   b)    MB_TO_GB(B_TO_MB(b))

Definition at line 24 of file Memory.hpp.

◆ B_TO_KB

#define B_TO_KB (   b)    ((b) / 1024)

Definition at line 19 of file Memory.hpp.

◆ B_TO_MB

#define B_TO_MB (   b)    KB_TO_MB(B_TO_KB(b))

Definition at line 23 of file Memory.hpp.

◆ KB_TO_MB

#define KB_TO_MB (   kb)    ((kb) / 1024)

Definition at line 20 of file Memory.hpp.

◆ MB_TO_GB

#define MB_TO_GB (   mb)    ((mb) / 1024)

Definition at line 21 of file Memory.hpp.

◆ MEM_BITMAP_SIZE

#define MEM_BITMAP_SIZE   ((ADDRESS_SPACE_SIZE / ARCH_PAGE_SIZE) / (sizeof(size_t) * CHAR_BIT))

Definition at line 29 of file Memory.hpp.