mirror of
https://git.proxmox.com/git/qemu
synced 2025-07-03 21:12:20 +00:00
Use OpenBIOS for g3bw machine
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6128 c046a42c-6fe2-441c-8c8c-71466251a162
This commit is contained in:
parent
fe09612978
commit
992e5acd4d
@ -31,6 +31,8 @@
|
|||||||
#define BIOS_FILENAME "ppc_rom.bin"
|
#define BIOS_FILENAME "ppc_rom.bin"
|
||||||
#define VGABIOS_FILENAME "video.x"
|
#define VGABIOS_FILENAME "video.x"
|
||||||
#define NVRAM_SIZE 0x2000
|
#define NVRAM_SIZE 0x2000
|
||||||
|
#define PROM_FILENAME "openbios-ppc32"
|
||||||
|
#define PROM_ADDR 0xfff00000
|
||||||
|
|
||||||
#define KERNEL_LOAD_ADDR 0x01000000
|
#define KERNEL_LOAD_ADDR 0x01000000
|
||||||
#define INITRD_LOAD_ADDR 0x01800000
|
#define INITRD_LOAD_ADDR 0x01800000
|
||||||
|
@ -164,19 +164,16 @@ static void ppc_heathrow_init (ram_addr_t ram_size, int vga_ram_size,
|
|||||||
/* allocate and load BIOS */
|
/* allocate and load BIOS */
|
||||||
bios_offset = qemu_ram_alloc(BIOS_SIZE);
|
bios_offset = qemu_ram_alloc(BIOS_SIZE);
|
||||||
if (bios_name == NULL)
|
if (bios_name == NULL)
|
||||||
bios_name = BIOS_FILENAME;
|
bios_name = PROM_FILENAME;
|
||||||
snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
|
snprintf(buf, sizeof(buf), "%s/%s", bios_dir, bios_name);
|
||||||
bios_size = load_image(buf, phys_ram_base + bios_offset);
|
cpu_register_physical_memory(PROM_ADDR, BIOS_SIZE, bios_offset | IO_MEM_ROM);
|
||||||
|
|
||||||
|
/* Load OpenBIOS (ELF) */
|
||||||
|
bios_size = load_elf(buf, 0, NULL, NULL, NULL);
|
||||||
if (bios_size < 0 || bios_size > BIOS_SIZE) {
|
if (bios_size < 0 || bios_size > BIOS_SIZE) {
|
||||||
cpu_abort(env, "qemu: could not load PowerPC bios '%s'\n", buf);
|
cpu_abort(env, "qemu: could not load PowerPC bios '%s'\n", buf);
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
if (bios_size > 0x00080000) {
|
|
||||||
/* As the NVRAM is located at 0xFFF04000, we cannot use 1 MB BIOSes */
|
|
||||||
cpu_abort(env, "G3BW Mac hardware can not handle 1 MB BIOS\n");
|
|
||||||
}
|
|
||||||
cpu_register_physical_memory((uint32_t)(-bios_size),
|
|
||||||
bios_size, bios_offset | IO_MEM_ROM);
|
|
||||||
|
|
||||||
/* allocate and load VGA BIOS */
|
/* allocate and load VGA BIOS */
|
||||||
vga_bios_offset = qemu_ram_alloc(VGA_BIOS_SIZE);
|
vga_bios_offset = qemu_ram_alloc(VGA_BIOS_SIZE);
|
||||||
|
@ -2328,6 +2328,11 @@ PC compatible keyboard and mouse.
|
|||||||
QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at
|
QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at
|
||||||
@url{http://perso.magic.fr/l_indien/OpenHackWare/index.htm}.
|
@url{http://perso.magic.fr/l_indien/OpenHackWare/index.htm}.
|
||||||
|
|
||||||
|
Since version 0.9.1, QEMU uses OpenBIOS @url{http://www.openbios.org/}
|
||||||
|
for the g3bw PowerMac machine. OpenBIOS is a free (GPL v2) portable
|
||||||
|
firmware implementation. The goal is to implement a 100% IEEE
|
||||||
|
1275-1994 (referred to as Open Firmware) compliant firmware.
|
||||||
|
|
||||||
@c man begin OPTIONS
|
@c man begin OPTIONS
|
||||||
|
|
||||||
The following options are specific to the PowerPC emulation:
|
The following options are specific to the PowerPC emulation:
|
||||||
|
Loading…
Reference in New Issue
Block a user