kernel/vm: Use allocate_early instead of passing a get_free_page method to early_map.

Simplifies things significantly.
No functional change intended.

Change-Id: Ia14c2ec72038ad6f8b56a14974dca78e1877063c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/8725
Reviewed-by: waddlesplash <[email protected]>
This commit is contained in:
Augustin Cavalier
2024-12-28 14:47:32 +00:00
committed by waddlesplash
parent 0c2ad1411f
commit fccefbf347
29 changed files with 54 additions and 90 deletions
@@ -25,10 +25,9 @@ status_t arch_vm_translation_map_init_post_area(struct kernel_args *args);
status_t arch_vm_translation_map_init_post_sem(struct kernel_args *args);
// Quick function to map a page in regardless of map context. Used in VM
// initialization before most vm data structures exist.
// initialization before most VM data structures exist.
status_t arch_vm_translation_map_early_map(struct kernel_args *args, addr_t va,
phys_addr_t pa, uint8 attributes,
phys_addr_t (*get_free_page)(struct kernel_args *));
phys_addr_t pa, uint8 attributes);
bool arch_vm_translation_map_is_kernel_page_accessible(addr_t virtualAddress,
uint32 protection);
+1 -2
View File
@@ -58,8 +58,7 @@ status_t vm_init_post_thread(struct kernel_args *args);
status_t vm_init_post_modules(struct kernel_args *args);
void vm_free_kernel_args(struct kernel_args *args);
void vm_free_unused_boot_loader_range(addr_t start, addr_t end);
page_num_t vm_allocate_early_physical_page(kernel_args *args);
page_num_t vm_allocate_early_physical_page_etc(kernel_args *args, phys_addr_t maxAddress = 0);
page_num_t vm_allocate_early_physical_page(kernel_args *args, phys_addr_t maxAddress = 0);
addr_t vm_allocate_early(struct kernel_args *args, size_t virtualSize,
size_t physicalSize, uint32 attributes, addr_t alignment);