diff options
author | Anton Kling <anton@kling.gg> | 2023-11-08 18:10:56 +0100 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2023-11-08 21:29:31 +0100 |
commit | 2026a4f95f3a7dcc9613c8abe2d79d8284b8cd37 (patch) | |
tree | 55eae1e7d8528dc5961cca760fe19d21f3cbe4a1 /kernel/includes | |
parent | 006302465965129777884e09114c7a503f8342ac (diff) |
Kernel/MMU: Detect system memory and dynamically adjust memory usage available
Previously this would be hardcoded but now it can be detected by the
bootloader and passed in via the multiboot header.
Diffstat (limited to 'kernel/includes')
-rw-r--r-- | kernel/includes/mmu.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/kernel/includes/mmu.h b/kernel/includes/mmu.h index 1df337d..f3af5e4 100644 --- a/kernel/includes/mmu.h +++ b/kernel/includes/mmu.h @@ -31,7 +31,8 @@ typedef struct PageDirectory { uint32_t physical_address; } PageDirectory; -int mmu_allocate_region(void *ptr, size_t n, mmu_flags flags, PageDirectory *pd); +int mmu_allocate_region(void *ptr, size_t n, mmu_flags flags, + PageDirectory *pd); void mmu_allocate_shared_kernel_region(void *rc, size_t n); void *mmu_find_unallocated_virtual_range(void *addr, size_t length); void mmu_remove_virtual_physical_address_mapping(void *ptr, size_t length); @@ -45,7 +46,7 @@ void mmu_map_physical(void *dst, PageDirectory *d, void *physical, void mmu_free_pages(void *a, uint32_t n); void flush_tlb(void); -void paging_init(void); +void paging_init(uint64_t memsize); PageDirectory *get_active_pagedirectory(void); void move_stack(uint32_t new_stack_address, uint32_t size); void switch_page_directory(PageDirectory *directory); |