aboutsummaryrefslogtreecommitdiffstats
path: root/hw/axis_dev88.c
diff options
context:
space:
mode:
Diffstat (limited to 'hw/axis_dev88.c')
-rw-r--r--hw/axis_dev88.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/hw/axis_dev88.c b/hw/axis_dev88.c
index 1a6664957..5516e4252 100644
--- a/hw/axis_dev88.c
+++ b/hw/axis_dev88.c
@@ -249,6 +249,11 @@ static void main_cpu_reset(void *opaque)
env->pc = bootstrap_pc;
}
+static uint64_t translate_kernel_address(void *opaque, uint64_t addr)
+{
+ return addr - 0x80000000LL;
+}
+
static
void axisdev88_init (ram_addr_t ram_size,
const char *boot_device,
@@ -345,7 +350,7 @@ void axisdev88_init (ram_addr_t ram_size,
/* Boots a kernel elf binary, os/linux-2.6/vmlinux from the axis
devboard SDK. */
- kernel_size = load_elf(kernel_filename, -0x80000000LL,
+ kernel_size = load_elf(kernel_filename, translate_kernel_address, NULL,
&entry, NULL, &high, 0, ELF_MACHINE, 0);
bootstrap_pc = entry;
if (kernel_size < 0) {