diff --git a/headers/private/kernel/boot/addr_range.h b/headers/private/kernel/boot/addr_range.h index 1aa80e7d5a..67129eb452 100644 --- a/headers/private/kernel/boot/addr_range.h +++ b/headers/private/kernel/boot/addr_range.h @@ -11,8 +11,8 @@ typedef struct addr_range { - addr_t start; - size_t size; + uint64 start; + uint64 size; } addr_range; @@ -27,13 +27,13 @@ extern "C" { #endif status_t insert_address_range(addr_range* ranges, uint32* _numRanges, - uint32 maxRanges, addr_t start, size_t size); + uint32 maxRanges, uint64 start, uint64 size); status_t remove_address_range(addr_range* ranges, uint32* _numRanges, - uint32 maxRanges, addr_t start, size_t size); -bool get_free_address_range(addr_range* ranges, uint32 numRanges, addr_t base, - size_t size, addr_t* _rangeBase); -bool is_address_range_covered(addr_range* ranges, uint32 numRanges, addr_t base, - size_t size); + uint32 maxRanges, uint64 start, uint64 size); +bool get_free_address_range(addr_range* ranges, uint32 numRanges, uint64 base, + uint64 size, uint64* _rangeBase); +bool is_address_range_covered(addr_range* ranges, uint32 numRanges, uint64 base, + uint64 size); void sort_address_ranges(addr_range* ranges, uint32 numRanges); status_t insert_physical_address_range(phys_addr_range* ranges, @@ -48,7 +48,7 @@ void sort_physical_address_ranges(phys_addr_range* ranges, uint32 numRanges); status_t insert_physical_memory_range(phys_addr_t start, phys_size_t size); status_t insert_physical_allocated_range(phys_addr_t start, phys_size_t size); -status_t insert_virtual_allocated_range(addr_t start, size_t size); +status_t insert_virtual_allocated_range(uint64 start, uint64 size); void ignore_physical_memory_ranges_beyond_4gb(); #ifdef __cplusplus diff --git a/headers/private/kernel/boot/kernel_args.h b/headers/private/kernel/boot/kernel_args.h index a6356590e9..1922ae673d 100644 --- a/headers/private/kernel/boot/kernel_args.h +++ b/headers/private/kernel/boot/kernel_args.h @@ -58,7 +58,7 @@ typedef struct kernel_args { addr_range cpu_kstack[MAX_BOOT_CPUS]; // boot volume KMessage data - void *boot_volume; + uint64 boot_volume; int32 boot_volume_size; struct driver_settings_file *driver_settings; diff --git a/src/system/boot/arch/m68k/mmu.cpp b/src/system/boot/arch/m68k/mmu.cpp index 9c459b1e88..776fd99e1f 100644 --- a/src/system/boot/arch/m68k/mmu.cpp +++ b/src/system/boot/arch/m68k/mmu.cpp @@ -526,7 +526,7 @@ mmu_init_for_kernel(void) dprintf("allocated virt memory ranges:\n"); for (i = 0; i < gKernelArgs.num_virtual_allocated_ranges; i++) { - dprintf(" base 0x%08lx, length 0x%08lx\n", gKernelArgs.virtual_allocated_range[i].start, gKernelArgs.virtual_allocated_range[i].size); + dprintf(" base 0x%08" B_PRIx64 ", length 0x%08" B_PRIx64 "\n", gKernelArgs.virtual_allocated_range[i].start, gKernelArgs.virtual_allocated_range[i].size); } } #endif diff --git a/src/system/boot/loader/kernel_args.cpp b/src/system/boot/loader/kernel_args.cpp index 9956e80017..0de1205a7e 100644 --- a/src/system/boot/loader/kernel_args.cpp +++ b/src/system/boot/loader/kernel_args.cpp @@ -280,36 +280,36 @@ add_kernel_args_range(void* start, size_t size) */ extern "C" status_t insert_address_range(addr_range* ranges, uint32* _numRanges, uint32 maxRanges, - addr_t start, size_t size) + uint64 start, uint64 size) { - return insert_range(ranges, _numRanges, + return insert_range(ranges, _numRanges, maxRanges, start, size); } extern "C" status_t remove_address_range(addr_range* ranges, uint32* _numRanges, uint32 maxRanges, - addr_t start, size_t size) + uint64 start, uint64 size) { - return remove_range(ranges, _numRanges, + return remove_range(ranges, _numRanges, maxRanges, start, size); } bool -get_free_address_range(addr_range* ranges, uint32 numRanges, addr_t base, - size_t size, addr_t* _rangeBase) +get_free_address_range(addr_range* ranges, uint32 numRanges, uint64 base, + uint64 size, uint64* _rangeBase) { - return get_free_range(ranges, numRanges, base, + return get_free_range(ranges, numRanges, base, size, _rangeBase); } bool -is_address_range_covered(addr_range* ranges, uint32 numRanges, addr_t base, - size_t size) +is_address_range_covered(addr_range* ranges, uint32 numRanges, uint64 base, + uint64 size) { - return is_range_covered(ranges, numRanges, base, + return is_range_covered(ranges, numRanges, base, size); } @@ -389,7 +389,7 @@ insert_physical_allocated_range(phys_addr_t start, phys_size_t size) status_t -insert_virtual_allocated_range(addr_t start, size_t size) +insert_virtual_allocated_range(uint64 start, uint64 size) { return insert_address_range(gKernelArgs.virtual_allocated_range, &gKernelArgs.num_virtual_allocated_ranges, MAX_VIRTUAL_ALLOCATED_RANGE, diff --git a/src/system/boot/loader/main.cpp b/src/system/boot/loader/main.cpp index 63a78a1e9a..2af8c86316 100644 --- a/src/system/boot/loader/main.cpp +++ b/src/system/boot/loader/main.cpp @@ -128,7 +128,7 @@ main(stage2_args *args) buffer = (void*)(((addr_t)buffer + 3) & ~(addr_t)0x3); memcpy(buffer, gBootVolume.Buffer(), gBootVolume.ContentSize()); - gKernelArgs.boot_volume = buffer; + gKernelArgs.boot_volume = (addr_t)buffer; gKernelArgs.boot_volume_size = gBootVolume.ContentSize(); // ToDo: cleanup, heap_release() etc. diff --git a/src/system/boot/platform/amiga_m68k/mmu.cpp b/src/system/boot/platform/amiga_m68k/mmu.cpp index b71af83067..230b967f38 100644 --- a/src/system/boot/platform/amiga_m68k/mmu.cpp +++ b/src/system/boot/platform/amiga_m68k/mmu.cpp @@ -526,7 +526,7 @@ mmu_init_for_kernel(void) dprintf("allocated virt memory ranges:\n"); for (i = 0; i < gKernelArgs.num_virtual_allocated_ranges; i++) { - dprintf(" base 0x%08lx, length 0x%08lx\n", gKernelArgs.virtual_allocated_range[i].start, gKernelArgs.virtual_allocated_range[i].size); + dprintf(" base 0x%08" B_PRIx64 ", length 0x%08" B_PRIx64 "\n", gKernelArgs.virtual_allocated_range[i].start, gKernelArgs.virtual_allocated_range[i].size); } } #endif diff --git a/src/system/boot/platform/atari_m68k/mmu.cpp b/src/system/boot/platform/atari_m68k/mmu.cpp index 434c4623aa..404886bd2a 100644 --- a/src/system/boot/platform/atari_m68k/mmu.cpp +++ b/src/system/boot/platform/atari_m68k/mmu.cpp @@ -526,7 +526,7 @@ mmu_init_for_kernel(void) dprintf("allocated virt memory ranges:\n"); for (i = 0; i < gKernelArgs.num_virtual_allocated_ranges; i++) { - dprintf(" base 0x%08lx, length 0x%08lx\n", gKernelArgs.virtual_allocated_range[i].start, gKernelArgs.virtual_allocated_range[i].size); + dprintf(" base 0x%08" B_PRIx64 ", length 0x%08" B_PRIx64 "\n", gKernelArgs.virtual_allocated_range[i].start, gKernelArgs.virtual_allocated_range[i].size); } } #endif diff --git a/src/system/boot/platform/bios_ia32/mmu.cpp b/src/system/boot/platform/bios_ia32/mmu.cpp index a808be9eaf..4c6a0c8423 100644 --- a/src/system/boot/platform/bios_ia32/mmu.cpp +++ b/src/system/boot/platform/bios_ia32/mmu.cpp @@ -593,9 +593,9 @@ mmu_init_for_kernel(void) dprintf("allocated virt memory ranges:\n"); for (i = 0; i < gKernelArgs.num_virtual_allocated_ranges; i++) { - dprintf(" base %#018" B_PRIxADDR ", length %#018" B_PRIxSIZE - "\n", gKernelArgs.virtual_allocated_range[i].start, - gKernelArgs.virtual_allocated_range[i].size); + dprintf(" base %#018" B_PRIx64 ", length %#018" B_PRIx64 "\n", + gKernelArgs.virtual_allocated_range[i].start, + gKernelArgs.virtual_allocated_range[i].size); } } #endif diff --git a/src/system/boot/platform/cfe/arch/ppc/mmu.cpp b/src/system/boot/platform/cfe/arch/ppc/mmu.cpp index b06114fc68..2f9b2a021d 100644 --- a/src/system/boot/platform/cfe/arch/ppc/mmu.cpp +++ b/src/system/boot/platform/cfe/arch/ppc/mmu.cpp @@ -88,7 +88,7 @@ find_physical_memory_ranges(size_t &total) static bool is_virtual_allocated(void *address, size_t size) { - addr_t foundBase; + uint64 foundBase; return !get_free_address_range(gKernelArgs.virtual_allocated_range, gKernelArgs.num_virtual_allocated_ranges, (addr_t)address, size, &foundBase) || foundBase != (addr_t)address; @@ -281,7 +281,7 @@ find_free_virtual_range(void *base, size_t size) void *firstFound = NULL; void *firstBaseFound = NULL; for (uint32 i = 0; i < gKernelArgs.num_virtual_allocated_ranges; i++) { - void *address = (void *)(gKernelArgs.virtual_allocated_range[i].start + void *address = (void *)(addr_t)(gKernelArgs.virtual_allocated_range[i].start + gKernelArgs.virtual_allocated_range[i].size); if (!is_virtual_allocated(address, size)) { if (!base) diff --git a/src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp b/src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp index 0d3e0d2810..bbe11265ce 100644 --- a/src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp +++ b/src/system/boot/platform/openfirmware/arch/ppc/mmu.cpp @@ -170,7 +170,7 @@ find_physical_memory_ranges(size_t &total) static bool is_virtual_allocated(void *address, size_t size) { - addr_t foundBase; + uint64 foundBase; return !get_free_address_range(gKernelArgs.virtual_allocated_range, gKernelArgs.num_virtual_allocated_ranges, (addr_t)address, size, &foundBase) || foundBase != (addr_t)address; @@ -462,7 +462,7 @@ find_free_virtual_range(void *base, size_t size) void *firstFound = NULL; void *firstBaseFound = NULL; for (uint32 i = 0; i < gKernelArgs.num_virtual_allocated_ranges; i++) { - void *address = (void *)(gKernelArgs.virtual_allocated_range[i].start + void *address = (void *)(addr_t)(gKernelArgs.virtual_allocated_range[i].start + gKernelArgs.virtual_allocated_range[i].size); if (!is_virtual_allocated(address, size)) { if (!base) diff --git a/src/system/boot/platform/raspberrypi_arm/mmu.cpp b/src/system/boot/platform/raspberrypi_arm/mmu.cpp index bf1d3d6c2f..18c39f5a39 100644 --- a/src/system/boot/platform/raspberrypi_arm/mmu.cpp +++ b/src/system/boot/platform/raspberrypi_arm/mmu.cpp @@ -591,7 +591,7 @@ mmu_init_for_kernel(void) dprintf("allocated virt memory ranges:\n"); for (i = 0; i < gKernelArgs.num_virtual_allocated_ranges; i++) { - dprintf(" base 0x%08lx, length 0x%08lx\n", + dprintf(" base 0x%08" B_PRIx64 ", length 0x%08" B_PRIx64 "\n", gKernelArgs.virtual_allocated_range[i].start, gKernelArgs.virtual_allocated_range[i].size); } diff --git a/src/system/boot/platform/u-boot/mmu.cpp b/src/system/boot/platform/u-boot/mmu.cpp index bab74229fd..e38d931171 100644 --- a/src/system/boot/platform/u-boot/mmu.cpp +++ b/src/system/boot/platform/u-boot/mmu.cpp @@ -585,7 +585,7 @@ mmu_init_for_kernel(void) dprintf("allocated virt memory ranges:\n"); for (i = 0; i < gKernelArgs.num_virtual_allocated_ranges; i++) { - dprintf(" base 0x%08lx, length 0x%08lx\n", + dprintf(" base 0x%08" B_PRIx64 ", length 0x%08" B_PRIx64 "\n", gKernelArgs.virtual_allocated_range[i].start, gKernelArgs.virtual_allocated_range[i].size); } diff --git a/src/system/kernel/arch/arm/arch_vm_translation_map.cpp b/src/system/kernel/arch/arm/arch_vm_translation_map.cpp index faad4bf263..02a042b355 100644 --- a/src/system/kernel/arch/arm/arch_vm_translation_map.cpp +++ b/src/system/kernel/arch/arm/arch_vm_translation_map.cpp @@ -71,7 +71,7 @@ arch_vm_translation_map_init(kernel_args *args, for (uint32 i = 0; i < args->num_virtual_allocated_ranges; i++) { addr_t start = args->virtual_allocated_range[i].start; addr_t end = start + args->virtual_allocated_range[i].size; - TRACE(" %#10" B_PRIxADDR " - %#10" B_PRIxADDR "\n", start, end); + TRACE(" %#10" B_PRIx64 " - %#10" B_PRIx64 "\n", start, end); } #endif diff --git a/src/system/kernel/arch/m68k/arch_vm_translation_map.cpp b/src/system/kernel/arch/m68k/arch_vm_translation_map.cpp index 176f0f11a3..fc211d688a 100644 --- a/src/system/kernel/arch/m68k/arch_vm_translation_map.cpp +++ b/src/system/kernel/arch/m68k/arch_vm_translation_map.cpp @@ -97,7 +97,7 @@ arch_vm_translation_map_init(kernel_args *args, for (uint32 i = 0; i < args->num_virtual_allocated_ranges; i++) { addr_t start = args->virtual_allocated_range[i].start; addr_t end = start + args->virtual_allocated_range[i].size; - TRACE(" %#10" B_PRIxADDR " - %#10" B_PRIxADDR "\n", start, end); + TRACE(" %#10" B_PRIx64 " - %#10" B_PRIx64 "\n", start, end); } #endif switch (arch_mmu_type) { diff --git a/src/system/kernel/arch/x86/arch_vm_translation_map.cpp b/src/system/kernel/arch/x86/arch_vm_translation_map.cpp index aa20762e29..7b16d09c43 100644 --- a/src/system/kernel/arch/x86/arch_vm_translation_map.cpp +++ b/src/system/kernel/arch/x86/arch_vm_translation_map.cpp @@ -70,7 +70,7 @@ arch_vm_translation_map_init(kernel_args *args, for (uint32 i = 0; i < args->num_virtual_allocated_ranges; i++) { addr_t start = args->virtual_allocated_range[i].start; addr_t end = start + args->virtual_allocated_range[i].size; - TRACE(" %#10" B_PRIxADDR " - %#10" B_PRIxADDR "\n", start, end); + TRACE(" %#10" B_PRIx64 " - %#10" B_PRIx64 "\n", start, end); } #endif diff --git a/src/system/kernel/fs/vfs_boot.cpp b/src/system/kernel/fs/vfs_boot.cpp index b8240d71f2..ac039fb0be 100644 --- a/src/system/kernel/fs/vfs_boot.cpp +++ b/src/system/kernel/fs/vfs_boot.cpp @@ -325,7 +325,7 @@ static status_t get_boot_partitions(kernel_args* args, PartitionStack& partitions) { KMessage bootVolume; - bootVolume.SetTo(args->boot_volume, args->boot_volume_size); + bootVolume.SetTo((void *)(addr_t)args->boot_volume, args->boot_volume_size); dprintf("get_boot_partitions(): boot volume message:\n"); bootVolume.Dump(&dprintf); diff --git a/src/system/kernel/vm/vm.cpp b/src/system/kernel/vm/vm.cpp index 27ee5991b8..783872f5e5 100644 --- a/src/system/kernel/vm/vm.cpp +++ b/src/system/kernel/vm/vm.cpp @@ -3585,7 +3585,7 @@ vm_free_kernel_args(kernel_args* args) TRACE(("vm_free_kernel_args()\n")); for (i = 0; i < args->num_kernel_args_ranges; i++) { - area_id area = area_for((void*)args->kernel_args_range[i].start); + area_id area = area_for((void*)(addr_t)args->kernel_args_range[i].start); if (area >= B_OK) delete_area(area); } @@ -3598,7 +3598,7 @@ allocate_kernel_args(kernel_args* args) TRACE(("allocate_kernel_args()\n")); for (uint32 i = 0; i < args->num_kernel_args_ranges; i++) { - void* address = (void*)args->kernel_args_range[i].start; + void* address = (void*)(addr_t)args->kernel_args_range[i].start; create_area("_kernel args_", &address, B_EXACT_ADDRESS, args->kernel_args_range[i].size, B_ALREADY_WIRED, @@ -3614,7 +3614,7 @@ unreserve_boot_loader_ranges(kernel_args* args) for (uint32 i = 0; i < args->num_virtual_allocated_ranges; i++) { vm_unreserve_address_range(VMAddressSpace::KernelID(), - (void*)args->virtual_allocated_range[i].start, + (void*)(addr_t)args->virtual_allocated_range[i].start, args->virtual_allocated_range[i].size); } } @@ -3626,13 +3626,13 @@ reserve_boot_loader_ranges(kernel_args* args) TRACE(("reserve_boot_loader_ranges()\n")); for (uint32 i = 0; i < args->num_virtual_allocated_ranges; i++) { - void* address = (void*)args->virtual_allocated_range[i].start; + void* address = (void*)(addr_t)args->virtual_allocated_range[i].start; // If the address is no kernel address, we just skip it. The // architecture specific code has to deal with it. if (!IS_KERNEL_ADDRESS(address)) { - dprintf("reserve_boot_loader_ranges(): Skipping range: %p, %lu\n", - address, args->virtual_allocated_range[i].size); + dprintf("reserve_boot_loader_ranges(): Skipping range: %p, %" + B_PRIu64 "\n", address, args->virtual_allocated_range[i].size); continue; }