From: Blue Swirl <blauwirbel@gmail.com>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [6128] Use OpenBIOS for g3bw machine
Date: Wed, 24 Dec 2008 20:23:52 +0000 [thread overview]
Message-ID: <E1LFaGm-0003Yi-8r@cvs.savannah.gnu.org> (raw)
Revision: 6128
http://svn.sv.gnu.org/viewvc/?view=rev&root=qemu&revision=6128
Author: blueswir1
Date: 2008-12-24 20:23:51 +0000 (Wed, 24 Dec 2008)
Log Message:
-----------
Use OpenBIOS for g3bw machine
Modified Paths:
--------------
trunk/hw/ppc_mac.h
trunk/hw/ppc_oldworld.c
trunk/qemu-doc.texi
Modified: trunk/hw/ppc_mac.h
===================================================================
--- trunk/hw/ppc_mac.h 2008-12-24 20:21:18 UTC (rev 6127)
+++ trunk/hw/ppc_mac.h 2008-12-24 20:23:51 UTC (rev 6128)
@@ -31,6 +31,8 @@
#define BIOS_FILENAME "ppc_rom.bin"
#define VGABIOS_FILENAME "video.x"
#define NVRAM_SIZE 0x2000
+#define PROM_FILENAME "openbios-ppc32"
+#define PROM_ADDR 0xfff00000
#define KERNEL_LOAD_ADDR 0x01000000
#define INITRD_LOAD_ADDR 0x01800000
Modified: trunk/hw/ppc_oldworld.c
===================================================================
--- trunk/hw/ppc_oldworld.c 2008-12-24 20:21:18 UTC (rev 6127)
+++ trunk/hw/ppc_oldworld.c 2008-12-24 20:23:51 UTC (rev 6128)
@@ -164,19 +164,16 @@
/* allocate and load BIOS */
bios_offset = qemu_ram_alloc(BIOS_SIZE);
if (bios_name == NULL)
- bios_name = BIOS_FILENAME;
+ bios_name = PROM_FILENAME;
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) {
cpu_abort(env, "qemu: could not load PowerPC bios '%s'\n", buf);
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 */
vga_bios_offset = qemu_ram_alloc(VGA_BIOS_SIZE);
Modified: trunk/qemu-doc.texi
===================================================================
--- trunk/qemu-doc.texi 2008-12-24 20:21:18 UTC (rev 6127)
+++ trunk/qemu-doc.texi 2008-12-24 20:23:51 UTC (rev 6128)
@@ -2328,6 +2328,11 @@
QEMU uses the Open Hack'Ware Open Firmware Compatible BIOS available at
@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
The following options are specific to the PowerPC emulation:
next reply other threads:[~2008-12-24 20:23 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-24 20:23 Blue Swirl [this message]
2008-12-28 3:24 ` [Qemu-devel] [6128] Use OpenBIOS for g3bw machine Miklos Vajna
2008-12-28 13:08 ` Blue Swirl
2008-12-28 13:23 ` Miklos Vajna
2008-12-28 17:31 ` Aurelien Jarno
2008-12-28 18:09 ` Blue Swirl
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=E1LFaGm-0003Yi-8r@cvs.savannah.gnu.org \
--to=blauwirbel@gmail.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.