Revision ca20cf32 hw/sun4u.c
b/hw/sun4u.c | ||
---|---|---|
34 | 34 |
#include "fw_cfg.h" |
35 | 35 |
#include "sysbus.h" |
36 | 36 |
#include "ide.h" |
37 |
#include "loader.h" |
|
38 |
#include "elf.h" |
|
37 | 39 |
|
38 | 40 |
//#define DEBUG_IRQ |
39 | 41 |
|
... | ... | |
164 | 166 |
|
165 | 167 |
kernel_size = 0; |
166 | 168 |
if (linux_boot) { |
167 |
kernel_size = load_elf(kernel_filename, 0, NULL, NULL, NULL); |
|
169 |
int bswap_needed; |
|
170 |
|
|
171 |
#ifdef BSWAP_NEEDED |
|
172 |
bswap_needed = 1; |
|
173 |
#else |
|
174 |
bswap_needed = 0; |
|
175 |
#endif |
|
176 |
kernel_size = load_elf(kernel_filename, 0, NULL, NULL, NULL, |
|
177 |
1, ELF_MACHINE, 0); |
|
168 | 178 |
if (kernel_size < 0) |
169 | 179 |
kernel_size = load_aout(kernel_filename, KERNEL_LOAD_ADDR, |
170 |
RAM_size - KERNEL_LOAD_ADDR); |
|
180 |
RAM_size - KERNEL_LOAD_ADDR, bswap_needed, |
|
181 |
TARGET_PAGE_SIZE); |
|
171 | 182 |
if (kernel_size < 0) |
172 | 183 |
kernel_size = load_image_targphys(kernel_filename, |
173 | 184 |
KERNEL_LOAD_ADDR, |
... | ... | |
418 | 429 |
} |
419 | 430 |
filename = qemu_find_file(QEMU_FILE_TYPE_BIOS, bios_name); |
420 | 431 |
if (filename) { |
421 |
ret = load_elf(filename, addr - PROM_VADDR, NULL, NULL, NULL); |
|
432 |
ret = load_elf(filename, addr - PROM_VADDR, NULL, NULL, NULL, |
|
433 |
1, ELF_MACHINE, 0); |
|
422 | 434 |
if (ret < 0 || ret > PROM_SIZE_MAX) { |
423 | 435 |
ret = load_image_targphys(filename, addr, PROM_SIZE_MAX); |
424 | 436 |
} |
Also available in: Unified diff