diff options
| author | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 06:56:01 +0100 |
|---|---|---|
| committer | Aleksa Vuckovic <aleksa@vuckovic.cc> | 2023-02-25 08:45:09 +0100 |
| commit | 239900af293f192931391dc5579afab39a43e6c6 (patch) | |
| tree | 72d7f87ee6adf5aa84b78436197e03e61fba8d97 /kernel/src/mem/pmm.c | |
| parent | aaa23fffd02fb49cdbc56a480dbb5a8fa95bff38 (diff) | |
clang-format
Diffstat (limited to 'kernel/src/mem/pmm.c')
| -rw-r--r-- | kernel/src/mem/pmm.c | 20 |
1 files changed, 14 insertions, 6 deletions
diff --git a/kernel/src/mem/pmm.c b/kernel/src/mem/pmm.c index f0b4884..043043c 100644 --- a/kernel/src/mem/pmm.c +++ b/kernel/src/mem/pmm.c @@ -6,7 +6,7 @@ #include <multiboot2.h> #include <pmm.h> -#define MEM_USED_BELOW 50*1024*1024 +#define MEM_USED_BELOW 50 * 1024 * 1024 uint64_t free_mem_cnt; uint64_t all_mem_cnt; @@ -16,17 +16,23 @@ void init_pmm() { INIT_LIST(pmm_list); - mmap_t* pos; + mmap_t *pos; list_for_each_entry_prev(pos, (&mmap.list), list) { mb2_tag_mmap_entry entry = pos->mmap_entry; if (entry.type != 1) continue; - uint64_t base = entry.base_addr & (PAGE_SIZE - 1) ? (entry.base_addr & (uint64_t)~(PAGE_SIZE - 1)) + PAGE_SIZE : entry.base_addr; - for (uint64_t i = base; i + PAGE_SIZE <= entry.base_addr + entry.length; i += PAGE_SIZE) { + uint64_t base = entry.base_addr & (PAGE_SIZE - 1) ? + (entry.base_addr & + (uint64_t) ~(PAGE_SIZE - 1)) + + PAGE_SIZE : + entry.base_addr; + for (uint64_t i = base; + i + PAGE_SIZE <= entry.base_addr + entry.length; + i += PAGE_SIZE) { if (i >= MEM_USED_BELOW) { free_mem_cnt++; map_addr(i, i, FLAG_PRESENT); - list_t* list = (list_t*)i; + list_t *list = (list_t *)i; add_to_list(list, &pmm_list, pmm_list.next); } } @@ -36,6 +42,8 @@ void init_pmm() void memory_usage() { - printf("memory used: %dMB\n", (MEM_USED_BELOW + (all_mem_cnt - free_mem_cnt) * PAGE_SIZE) / 1024 / 1024); + printf("memory used: %dMB\n", + (MEM_USED_BELOW + (all_mem_cnt - free_mem_cnt) * PAGE_SIZE) / + 1024 / 1024); printf("memory free: %dMB\n", free_mem_cnt * PAGE_SIZE / 1024 / 1024); } |
