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 {
const usize pageSize = 4096;
const usize pageSize = 0x1000;
const usize pageMask = pageSize - 1;
} /* namespace memory */

View file

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