diff options
author | edgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-10-22 19:35:08 +0000 |
---|---|---|
committer | edgar_igl <edgar_igl@c046a42c-6fe2-441c-8c8c-71466251a162> | 2008-10-22 19:35:08 +0000 |
commit | 8ab944444ad8dab8d78cb6256fe199417a21750d (patch) | |
tree | 568ef915eb3fb9ac65e47b6c281b5db66841bf9a /hw/etraxfs.c | |
parent | b2fa17977f3e9b7ced2cbbe14f6d3c4b3e8e314e (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
Diffstat (limited to 'hw/etraxfs.c')
-rw-r--r-- | hw/etraxfs.c | 5 |
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; |