diff options
author | Anton Kling <anton@kling.gg> | 2024-04-13 21:07:02 +0200 |
---|---|---|
committer | Anton Kling <anton@kling.gg> | 2024-04-13 21:07:02 +0200 |
commit | 92f848244796881994c1f147633123c45da219b6 (patch) | |
tree | 4ad209b6ede26b8475b7f0c6afb2382336dbbac7 /kernel/includes/mmu.h | |
parent | 008b84bf5308d2f180905130653a656bfedccf8c (diff) |
Kernel: Don't hard fail if the kernel can't allocate memory.
Currently this is just a improvement of error handling but it should
also try to free up memory where it is possible.
Diffstat (limited to 'kernel/includes/mmu.h')
-rw-r--r-- | kernel/includes/mmu.h | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/kernel/includes/mmu.h b/kernel/includes/mmu.h index 211a950..83ea6e0 100644 --- a/kernel/includes/mmu.h +++ b/kernel/includes/mmu.h @@ -41,7 +41,7 @@ typedef struct PageDirectory { int mmu_allocate_region(void *ptr, size_t n, mmu_flags flags, PageDirectory *pd); void mmu_free_pagedirectory(PageDirectory *pd); -void mmu_allocate_shared_kernel_region(void *rc, size_t n); +int 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); void mmu_free_address_range(void *ptr, size_t length, PageDirectory *pd); @@ -59,9 +59,7 @@ void *mmu_is_valid_user_c_string(const char *ptr, size_t *size); void flush_tlb(void); void paging_init(u64 memsize, multiboot_info_t *mb); PageDirectory *get_active_pagedirectory(void); -void move_stack(u32 new_stack_address, u32 size); void switch_page_directory(PageDirectory *directory); -void *allocate_frame(Page *page, int rw, int is_kernel); PageDirectory *clone_directory(PageDirectory *original); void *virtual_to_physical(void *address, PageDirectory *directory); void *ksbrk(size_t s); |