From 3f017e90611b6b53186f72bd9f6aa837d15e588a Mon Sep 17 00:00:00 2001 From: Alex Smith Date: Wed, 27 Jun 2012 10:33:31 +0100 Subject: [PATCH] Also need to fix the kernel_args_range addresses. --- src/system/boot/platform/bios_ia32/long.cpp | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/src/system/boot/platform/bios_ia32/long.cpp b/src/system/boot/platform/bios_ia32/long.cpp index 4ae8dc36d8..cb7d2df295 100644 --- a/src/system/boot/platform/bios_ia32/long.cpp +++ b/src/system/boot/platform/bios_ia32/long.cpp @@ -225,10 +225,20 @@ convert_kernel_args() image = next; } + // Set correct kernel args range addresses. + dprintf("kernel args ranges:\n"); + for (uint32 i = 0; i < gKernelArgs.num_kernel_args_ranges; i++) { + gKernelArgs.kernel_args_range[i].start = fix_address( + gKernelArgs.kernel_args_range[i].start); + dprintf(" base %#018" B_PRIx64 ", length %#018" B_PRIx64 "\n", + gKernelArgs.kernel_args_range[i].start, + gKernelArgs.kernel_args_range[i].size); + } + // Set correct kernel stack addresses. for (uint32 i = 0; i < gKernelArgs.num_cpus; i++) { - gKernelArgs.cpu_kstack[i].start - = fix_address(gKernelArgs.cpu_kstack[i].start); + gKernelArgs.cpu_kstack[i].start = fix_address( + gKernelArgs.cpu_kstack[i].start); } // Fix driver settings files.