aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoredgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-22 19:35:08 +0000
committeredgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162>2008-10-22 19:35:08 +0000
commit8ab944444ad8dab8d78cb6256fe199417a21750d (patch)
tree568ef915eb3fb9ac65e47b6c281b5db66841bf9a
parentb2fa17977f3e9b7ced2cbbe14f6d3c4b3e8e314e (diff)
ETRAX-FS: Correct booting of elf linux images from ram.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5515 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--hw/etraxfs.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/hw/etraxfs.c b/hw/etraxfs.c
index 2987c8f717..270857701d 100644
--- a/hw/etraxfs.c
+++ b/hw/etraxfs.c
@@ -122,17 +122,16 @@ void bareetraxfs_init (ram_addr_t ram_size, int vga_ram_size,
uint64_t entry;
/* Boots a kernel elf binary, os/linux-2.6/vmlinux from the axis
devboard SDK. */
- kernel_size = load_elf(kernel_filename, 0,
+ kernel_size = load_elf(kernel_filename, -0x80000000LL,
&entry, NULL, NULL);
bootstrap_pc = entry;
if (kernel_size < 0) {
/* Takes a kimage from the axis devboard SDK. */
kernel_size = load_image(kernel_filename, phys_ram_base + 0x4000);
bootstrap_pc = 0x40004000;
- /* magic for boot. */
- env->regs[8] = 0x56902387;
env->regs[9] = 0x40004000 + kernel_size;
}
+ env->regs[8] = 0x56902387; /* RAM init magic. */
}
env->pc = bootstrap_pc;