diff options
| author | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 07:26:22 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 08:45:12 +0100 |
| commit | 5ba212fe7123d454414f64d42ec7ff0822458c13 (patch) | |
| tree | a82f8057cc57b6efb8ac19f9d01c2cc1aebc29c0 /kernel/src/mem/paging.c | |
| parent | 239900af293f192931391dc5579afab39a43e6c6 (diff) | |
ANSI C: // -> /* */
Diffstat (limited to 'kernel/src/mem/paging.c')
| -rw-r--r-- | kernel/src/mem/paging.c | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/kernel/src/mem/paging.c b/kernel/src/mem/paging.c index aa61c5d..87097cd 100644 --- a/kernel/src/mem/paging.c +++ b/kernel/src/mem/paging.c @@ -16,11 +16,11 @@ void map_addr(uint64_t virt, uint64_t phys, uint32_t flags) virt -= virt % PAGE_SIZE; phys -= phys % PAGE_SIZE; - // i is in range [0, 511] - size_t pt_lvl4_i = (virt >> 39) % 0x200; // 512gb entry - size_t pt_lvl3_i = (virt >> 30) % 0x200; // 1gb entry - size_t pt_lvl2_i = (virt >> 21) % 0x200; // 2mb entry - // size_t pt_lvl1_i = (virt >> 12) % 0x200; // 4kb entry + /* i is in range [0, 511] */ + size_t pt_lvl4_i = (virt >> 39) % 0x200; /* 512gb entry */ + size_t pt_lvl3_i = (virt >> 30) % 0x200; /* 1gb entry */ + size_t pt_lvl2_i = (virt >> 21) % 0x200; /* 2mb entry */ + /* size_t pt_lvl1_i = (virt >> 12) % 0x200; 4kb entry */ uint64_t *pt_lvl3 = (uint64_t *)(page_table_lvl4[pt_lvl4_i] + KERNEL_VMA); @@ -53,7 +53,7 @@ void init_paging(void) (FLAG_PRESENT | FLAG_WRITABLE | FLAG_USER); page_table_lvl3[510] = (uint64_t)page_table_lvl2 - KERNEL_VMA + (FLAG_PRESENT | FLAG_WRITABLE | FLAG_USER); - // 16mb kernel + 32mb heap + 2mb (32kb stack * 64 threads) = first 50mb + /* 16mb kernel + 32mb heap + 2mb (32kb stack * 64 threads) = first 50mb */ for (size_t i = 0; i < 25; i++) { page_table_lvl2[i] = (uint64_t)0x0 + PAGE_SIZE * i + |
