diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2025-01-17 04:19:26 -0500 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2025-01-17 04:19:26 -0500 |
commit | 6543437f97a3d9259b473a1bf9cc2df8bdeaa55b (patch) | |
tree | 29239b3cb09b08d9be22fd3443d30db7cca95c36 /kernel/include/mm/virtual_mm.h | |
parent | b740f4df90c902aa5c1028ef25f97e4b3653f142 (diff) |
kernel: virtual_mm: Refactor paging implementation
Diffstat (limited to 'kernel/include/mm/virtual_mm.h')
-rw-r--r-- | kernel/include/mm/virtual_mm.h | 44 |
1 files changed, 22 insertions, 22 deletions
diff --git a/kernel/include/mm/virtual_mm.h b/kernel/include/mm/virtual_mm.h index 92ffd3c..52eb92c 100644 --- a/kernel/include/mm/virtual_mm.h +++ b/kernel/include/mm/virtual_mm.h @@ -28,35 +28,35 @@ #define PAGE_DIRECTORY_INDEX(virtual_address) ((virtual_address >> 22) & 0x3ff) #define PAGE_TABLE_INDEX(virtual_address) ((virtual_address >> 12) & 0x3ff) -#define SET_PDE_PRESENT(x) x -#define SET_PDE_WRITABLE(x) ((x) << 1) -#define SET_PDE_USER(x) ((x) << 2) -#define SET_PDE_WRITETHROUGH(x) ((x) << 3) -#define SET_PDE_CACHE_DISABLE(x) ((x) << 4) -#define SET_PDE_ACCESSED(x) ((x) << 5) +#define PDE_PRESENT(x) x +#define PDE_WRITABLE(x) ((x) << 1) +#define PDE_USER(x) ((x) << 2) +#define PDE_WRITETHROUGH(x) ((x) << 3) +#define PDE_CACHE_DISABLE(x) ((x) << 4) +#define PDE_ACCESSED(x) ((x) << 5) /* Never set (reserved by Intel) */ -#define SET_PDE_RESERVED(x) ((x) << 6) -#define SET_PDE_PAGE_SIZE(x) ((x) << 7) +#define PDE_RESERVED(x) ((x) << 6) +#define PDE_PAGE_SIZE(x) ((x) << 7) /* NOTE: Unused by the CPU, free to be used by us! */ -#define SET_PDE_UNUSED(x) ((x) << 8) +#define PDE_UNUSED(x) ((x) << 8) /* Page table address */ -#define SET_PDE_FRAME(x) ((x) << 12) +#define PDE_FRAME(x) ((x) &0xFFFFF000) #define GET_PDE_FRAME(x) ((*x) >> 12) -#define SET_PTE_PRESENT(x) x -#define SET_PTE_WRITABLE(x) ((x) << 1) -#define SET_PTE_USER(x) ((x) << 2) -#define SET_PTE_WRITETHROUGH(x) ((x) << 3) -#define SET_PTE_CACHE_DISABLE(x) ((x) << 4) -#define SET_PTE_ACCESSED(x) ((x) << 5) -#define SET_PTE_DIRTY(x) ((x) << 6) -#define SET_PTE_PAT(x) ((x) << 7) -#define SET_PTE_GLOBAL(x) ((x) << 8) +#define PTE_PRESENT(x) x +#define PTE_WRITABLE(x) ((x) << 1) +#define PTE_USER(x) ((x) << 2) +#define PTE_WRITETHROUGH(x) ((x) << 3) +#define PTE_CACHE_DISABLE(x) ((x) << 4) +#define PTE_ACCESSED(x) ((x) << 5) +#define PTE_DIRTY(x) ((x) << 6) +#define PTE_PAT(x) ((x) << 7) +#define PTE_GLOBAL(x) ((x) << 8) /* NOTE: Unused by the CPU, free to be used by us! */ -#define SET_PTE_UNUSED(x) ((x) << 9) -/* MAX: 0xFFFFF000 */ -#define SET_PTE_FRAME(x) ((x) << 12) +#define PTE_UNUSED(x) ((x) << 9) +/* Left shift by 12 because we only need the bits from the twelfth bit. */ +#define PTE_FRAME(x) ((x) << 12) #define PTE_IS_PRESENT(x) ((x) &1) #define GET_PTE_FRAME(x) ((*x) >> 12) |