Support for loading a real BIOS image (Robert Reif)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3336 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
12de9a396a
commit
aa6ad6fee2
12
hw/sun4m.c
12
hw/sun4m.c
@ -49,7 +49,7 @@
|
||||
#define KERNEL_LOAD_ADDR 0x00004000
|
||||
#define CMDLINE_ADDR 0x007ff000
|
||||
#define INITRD_LOAD_ADDR 0x00800000
|
||||
#define PROM_SIZE_MAX (256 * 1024)
|
||||
#define PROM_SIZE_MAX (512 * 1024)
|
||||
#define PROM_PADDR 0xff0000000ULL
|
||||
#define PROM_VADDR 0xffd00000
|
||||
#define PROM_FILENAME "openbios-sparc32"
|
||||
@ -434,10 +434,12 @@ static void sun4m_load_kernel(long vram_size, int RAM_size, int boot_device,
|
||||
bios_name = PROM_FILENAME;
|
||||
snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
|
||||
ret = load_elf(buf, PROM_PADDR - PROM_VADDR, NULL, NULL, NULL);
|
||||
if (ret < 0) {
|
||||
fprintf(stderr, "qemu: could not load prom '%s'\n",
|
||||
buf);
|
||||
exit(1);
|
||||
if (ret < 0 || ret > PROM_SIZE_MAX)
|
||||
ret = load_image(buf, phys_ram_base + prom_offset);
|
||||
if (ret < 0 || ret > PROM_SIZE_MAX) {
|
||||
fprintf(stderr, "qemu: could not load prom '%s'\n",
|
||||
buf);
|
||||
exit(1);
|
||||
}
|
||||
|
||||
kernel_size = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user