diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-12 22:00:09 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-12 22:00:09 -0400 |
| commit | 53fa3cd2bfdb122d773024612d8c1d71f0dd8188 (patch) | |
| tree | 5ffe81718b400031ca9b3b68a6d152c574270af2 /arch/x86_64/hal/paging.h | |
| parent | 1d1a5cde7de28752727e3d56305a74afac8848ff (diff) | |
| download | jove-kernel-53fa3cd2bfdb122d773024612d8c1d71f0dd8188.tar.gz jove-kernel-53fa3cd2bfdb122d773024612d8c1d71f0dd8188.tar.bz2 jove-kernel-53fa3cd2bfdb122d773024612d8c1d71f0dd8188.zip | |
add paging support
Diffstat (limited to 'arch/x86_64/hal/paging.h')
| -rw-r--r-- | arch/x86_64/hal/paging.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/x86_64/hal/paging.h b/arch/x86_64/hal/paging.h index 5736326..754ac99 100644 --- a/arch/x86_64/hal/paging.h +++ b/arch/x86_64/hal/paging.h @@ -42,6 +42,11 @@ extern void *_kernel_physptr; #define PMLI_SHL(l) (12 + (l * 9)) #define PMLI_MASK(l) (~0xFFFFULL << PMLI_SHL(l)) +#define PML4I(v) (((v) >> 39) & 0x1FF) +#define PML3I(v) (((v) >> 30) & 0x1FF) +#define PML2I(v) (((v) >> 21) & 0x1FF) +#define PML1I(v) (((v) >> 12) & 0x1FF) + #define IDENT_VIRT_BASE 0xFFFF800000000000ULL #define KERNEL_VIRT_BASE 0xFFFFFFFF80000000ULL #define KPTR_TOPHYS(v) (((uintptr_t)v) - KERNEL_VIRT_BASE + (uintptr_t)_kernel_physptr) |
