summaryrefslogtreecommitdiff
path: root/kernel/includes
diff options
context:
space:
mode:
authorAnton Kling <anton@kling.gg>2023-11-08 18:10:56 +0100
committerAnton Kling <anton@kling.gg>2023-11-08 21:29:31 +0100
commit2026a4f95f3a7dcc9613c8abe2d79d8284b8cd37 (patch)
tree55eae1e7d8528dc5961cca760fe19d21f3cbe4a1 /kernel/includes
parent006302465965129777884e09114c7a503f8342ac (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.h5
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);