Page parameter twiddles

This commit is contained in:
Eryn Wells 2016-04-24 19:18:05 -04:00
parent 4f1dae37d8
commit afa0ff1b78
2 changed files with 8 additions and 5 deletions

View file

@ -59,7 +59,7 @@ MemoryManager::initializeGDT()
namespace memory { namespace memory {
const usize pageSize = 4096; const usize pageSize = 0x1000;
const usize pageMask = pageSize - 1; const usize pageMask = pageSize - 1;
} /* namespace memory */ } /* namespace memory */

View file

@ -32,19 +32,22 @@ private:
namespace memory { namespace memory {
/** Size of a single page in bytes. */
extern const usize pageSize; extern const usize pageSize;
extern const usize pageMask; extern const usize pageMask;
/** Align to the nearest page boundary below `addr`. */ /** Align to the nearest page boundary below `addr`. */
inline u32 inline uptr
pageAlignDown(u32 addr) pageAlignDown(uptr addr)
{ {
return addr & ~pageMask; return addr & ~pageMask;
} }
/** Align to the nearest page boundary above `addr`. */ /** Align to the nearest page boundary above `addr`. */
inline u32 inline uptr
pageAlignUp(u32 addr) pageAlignUp(uptr addr)
{ {
if (pageAlignDown(addr) == addr) { if (pageAlignDown(addr) == addr) {
return addr; return addr;