diff --git a/headers/private/kernel/boot/platform.h b/headers/private/kernel/boot/platform.h index 3c28b73bff..c30fcff9c2 100644 --- a/headers/private/kernel/boot/platform.h +++ b/headers/private/kernel/boot/platform.h @@ -28,8 +28,8 @@ extern status_t platform_init_heap(struct stage2_args *args, void **_base, void extern status_t platform_allocate_region(void **_virtualAddress, size_t size, uint8 protection, bool exactAddress); extern status_t platform_free_region(void *address, size_t size); -extern status_t platform_bootloader_address_to_kernel_address(void *address, uint64_t *_result); -extern status_t platform_kernel_address_to_bootloader_address(uint64_t address, void **_result); +extern status_t platform_bootloader_address_to_kernel_address(void *address, addr_t *_result); +extern status_t platform_kernel_address_to_bootloader_address(addr_t address, void **_result); /* boot options */ #define BOOT_OPTION_MENU 1 diff --git a/src/system/boot/loader/kernel_args.cpp b/src/system/boot/loader/kernel_args.cpp index c17ae44c24..b114b9eebf 100644 --- a/src/system/boot/loader/kernel_args.cpp +++ b/src/system/boot/loader/kernel_args.cpp @@ -398,7 +398,7 @@ kernel_args_malloc(size_t size) } #ifdef _BOOT_PLATFORM_EFI - uint64 translated_block; + addr_t translated_block; platform_bootloader_address_to_kernel_address(block, &translated_block); if (add_kernel_args_range((void *)translated_block, size) != B_OK) #else @@ -419,7 +419,7 @@ kernel_args_malloc(size_t size) sLast = block; sFree = kChunkSize - size; #ifdef _BOOT_PLATFORM_EFI - uint64 translated_block; + addr_t translated_block; platform_bootloader_address_to_kernel_address(block, &translated_block); if (add_kernel_args_range((void *)translated_block, kChunkSize) != B_OK) #else diff --git a/src/system/boot/platform/efi/mmu.cpp b/src/system/boot/platform/efi/mmu.cpp index 952434845e..8cc244d963 100644 --- a/src/system/boot/platform/efi/mmu.cpp +++ b/src/system/boot/platform/efi/mmu.cpp @@ -27,8 +27,8 @@ struct allocated_memory_region { allocated_memory_region *next; - uint64_t vaddr; - uint64_t paddr; + addr_t vaddr; + phys_addr_t paddr; size_t size; bool released; }; @@ -46,7 +46,7 @@ static addr_t sNextVirtualAddress = KERNEL_LOAD_BASE + 32 * 1024 * 1024; static allocated_memory_region *allocated_memory_regions = NULL; -extern "C" uint64_t +extern "C" phys_addr_t mmu_allocate_page() { TRACE("%s: called\n", __func__); @@ -130,7 +130,7 @@ platform_allocate_region(void **_address, size_t size, uint8 /* protection */, region->released = false; if (*_address != NULL) { - region->vaddr = (uint64_t)*_address; + region->vaddr = (addr_t)*_address; } //dprintf("Allocated region %#lx (requested %p) %#lx %lu\n", region->vaddr, *_address, region->paddr, region->size); @@ -196,7 +196,7 @@ get_region(void *address, size_t size) for (allocated_memory_region *region = allocated_memory_regions; region; region = region->next) { - if (region->paddr == (uint64_t)address && region->size == size) { + if (region->paddr == (phys_addr_t)address && region->size == size) { return region; } } @@ -241,15 +241,14 @@ convert_physical_ranges() extern "C" status_t -platform_bootloader_address_to_kernel_address(void *address, - uint64_t *_result) +platform_bootloader_address_to_kernel_address(void *address, addr_t *_result) { TRACE("%s: called\n", __func__); // Convert any physical ranges prior to looking up address convert_physical_ranges(); - uint64_t addr = (uint64_t)address; + phys_addr_t addr = (phys_addr_t)address; for (allocated_memory_region *region = allocated_memory_regions; region; region = region->next) { @@ -270,7 +269,7 @@ platform_bootloader_address_to_kernel_address(void *address, extern "C" status_t -platform_kernel_address_to_bootloader_address(uint64_t address, void **_result) +platform_kernel_address_to_bootloader_address(addr_t address, void **_result) { TRACE("%s: called\n", __func__); diff --git a/src/system/boot/platform/efi/mmu.h b/src/system/boot/platform/efi/mmu.h index a7e5d8311e..1d6db51e3b 100644 --- a/src/system/boot/platform/efi/mmu.h +++ b/src/system/boot/platform/efi/mmu.h @@ -34,18 +34,18 @@ extern addr_t get_current_virtual_address(); extern void mmu_init(); -extern uint64_t mmu_allocate_page(); +extern phys_addr_t mmu_allocate_page(); extern addr_t mmu_map_physical_memory(addr_t physicalAddress, size_t size, uint32 flags); extern void mmu_free(void *virtualAddress, size_t size); -extern status_t platform_kernel_address_to_bootloader_address(uint64_t address, +extern status_t platform_kernel_address_to_bootloader_address(addr_t address, void **_result); extern status_t platform_bootloader_address_to_kernel_address(void *address, - uint64_t *_result); + addr_t *_result); #ifdef __cplusplus } @@ -53,10 +53,10 @@ extern status_t platform_bootloader_address_to_kernel_address(void *address, /*! Convert a 32-bit address to a 64-bit address. */ -inline uint64 -fix_address(uint64 address) +inline addr_t +fix_address(addr_t address) { - uint64 result; + addr_t result; if (platform_bootloader_address_to_kernel_address((void *)address, &result) != B_OK) { return address; diff --git a/src/system/boot/platform/efi/start.cpp b/src/system/boot/platform/efi/start.cpp index c63c663a01..4fd5f5b31f 100644 --- a/src/system/boot/platform/efi/start.cpp +++ b/src/system/boot/platform/efi/start.cpp @@ -161,7 +161,7 @@ platform_start_kernel(void) != B_OK) { panic("Unabled to allocate a stack"); } - gKernelArgs.cpu_kstack[0].start = fix_address((uint64_t)stack_address); + gKernelArgs.cpu_kstack[0].start = fix_address((addr_t)stack_address); gKernelArgs.cpu_kstack[0].size = KERNEL_STACK_SIZE + KERNEL_STACK_GUARD_PAGES * B_PAGE_SIZE; dprintf("Kernel stack at %#lx\n", gKernelArgs.cpu_kstack[0].start);