summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-06-14 12:36:32 +0000
committerbellard <bellard@c046a42c-6fe2-441c-8c8c-71466251a162>2006-06-14 12:36:32 +0000
commit0986ac3be2989f37cec262f3370bac77999a52bf (patch)
tree510aa68c15c5f5175d68131c01165074be5c8913
parent9d0869b630baf5b94c6cb6a87520dd881ae08613 (diff)
use OpenBIOS instead of Proll on sparc (Blue Swirl)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1960 c046a42c-6fe2-441c-8c8c-71466251a162
-rw-r--r--Makefile4
-rw-r--r--hw/sun4m.c9
-rw-r--r--hw/sun4u.c9
-rw-r--r--pc-bios/README9
-rw-r--r--pc-bios/openbios-sparc32bin0 -> 506966 bytes
-rw-r--r--pc-bios/proll.elfbin132317 -> 0 bytes
-rw-r--r--qemu-doc.texi13
7 files changed, 17 insertions, 27 deletions
diff --git a/Makefile b/Makefile
index b6f496e6ab..6716ccf37b 100644
--- a/Makefile
+++ b/Makefile
@@ -68,7 +68,7 @@ install: all $(if $(BUILD_DOCS),install-doc)
$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
mkdir -p "$(DESTDIR)$(datadir)"
for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
- video.x proll.elf linux_boot.bin; do \
+ video.x openbios-sparc32 linux_boot.bin; do \
$(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
done
ifndef CONFIG_WIN32
@@ -149,7 +149,7 @@ tarbin:
$(datadir)/vgabios-cirrus.bin \
$(datadir)/ppc_rom.bin \
$(datadir)/video.x \
- $(datadir)/proll.elf \
+ $(datadir)/openbios-sparc32 \
$(datadir)/linux_boot.bin \
$(docdir)/qemu-doc.html \
$(docdir)/qemu-tech.html \
diff --git a/hw/sun4m.c b/hw/sun4m.c
index f25fa3eeab..203732f216 100644
--- a/hw/sun4m.c
+++ b/hw/sun4m.c
@@ -28,8 +28,7 @@
#define INITRD_LOAD_ADDR 0x00800000
#define PROM_SIZE_MAX (256 * 1024)
#define PROM_ADDR 0xffd00000
-#define PROM_FILENAMEB "proll.bin"
-#define PROM_FILENAMEE "proll.elf"
+#define PROM_FILENAME "openbios-sparc32"
#define PHYS_JJ_EEPROM 0x71200000 /* m48t08 */
#define PHYS_JJ_IDPROM_OFF 0x1FD8
#define PHYS_JJ_EEPROM_SIZE 0x2000
@@ -273,13 +272,9 @@ static void sun4m_init(int ram_size, int vga_ram_size, int boot_device,
(PROM_SIZE_MAX + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK,
prom_offset | IO_MEM_ROM);
- snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEE);
+ snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAME);
ret = load_elf(buf, 0, NULL);
if (ret < 0) {
- snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEB);
- ret = load_image(buf, phys_ram_base + prom_offset);
- }
- if (ret < 0) {
fprintf(stderr, "qemu: could not load prom '%s'\n",
buf);
exit(1);
diff --git a/hw/sun4u.c b/hw/sun4u.c
index 5e6f8baf95..22ab4e1d72 100644
--- a/hw/sun4u.c
+++ b/hw/sun4u.c
@@ -32,8 +32,7 @@
#define APB_SPECIAL_BASE 0x1fe00000000ULL
#define APB_MEM_BASE 0x1ff00000000ULL
#define VGA_BASE (APB_MEM_BASE + 0x400000ULL)
-#define PROM_FILENAMEB "proll-sparc64.bin"
-#define PROM_FILENAMEE "proll-sparc64.elf"
+#define PROM_FILENAME "openbios-sparc64"
#define NVRAM_SIZE 0x2000
/* TSC handling */
@@ -282,13 +281,9 @@ static void sun4u_init(int ram_size, int vga_ram_size, int boot_device,
(PROM_SIZE_MAX + TARGET_PAGE_SIZE) & TARGET_PAGE_MASK,
prom_offset | IO_MEM_ROM);
- snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEE);
+ snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAME);
ret = load_elf(buf, 0, NULL);
if (ret < 0) {
- snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEB);
- ret = load_image(buf, phys_ram_base + prom_offset);
- }
- if (ret < 0) {
fprintf(stderr, "qemu: could not load prom '%s'\n",
buf);
exit(1);
diff --git a/pc-bios/README b/pc-bios/README
index 5e61a28fc1..fc85eb4291 100644
--- a/pc-bios/README
+++ b/pc-bios/README
@@ -7,11 +7,10 @@
- The PowerPC Open Hack'Ware Open Firmware Compatible BIOS is
available at http://perso.magic.fr/l_indien/OpenHackWare/index.htm.
-- Proll is a GPL'd boot PROM for Sparc JavaStations
- (http://people.redhat.com/zaitcev/linux/).
- Applying proll.patch allows circumventing some bugs and enables
- faster kernel load through a hack.
-
- video.x is a PowerMac NDRV compatible driver for a VGA frame
buffer. It comes from the Mac-on-Linux project
(http://www.maconlinux.org/).
+
+- OpenBIOS (http://www.openbios.org/) 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.
diff --git a/pc-bios/openbios-sparc32 b/pc-bios/openbios-sparc32
new file mode 100644
index 0000000000..7a729aa81b
--- /dev/null
+++ b/pc-bios/openbios-sparc32
Binary files differ
diff --git a/pc-bios/proll.elf b/pc-bios/proll.elf
deleted file mode 100644
index 21c739cac6..0000000000
--- a/pc-bios/proll.elf
+++ /dev/null
Binary files differ
diff --git a/qemu-doc.texi b/qemu-doc.texi
index 2b37179c51..23bf68008b 100644
--- a/qemu-doc.texi
+++ b/qemu-doc.texi
@@ -1394,7 +1394,7 @@ More information is available at
@node Sparc32 System emulator invocation
@section Sparc32 System emulator invocation
-Use the executable @file{qemu-system-sparc} to simulate a JavaStation
+Use the executable @file{qemu-system-sparc} to simulate a SparcStation 5
(sun4m architecture). The emulation is somewhat complete.
QEMU emulates the following sun4m peripherals:
@@ -1419,13 +1419,14 @@ Floppy drive
The number of peripherals is fixed in the architecture.
-QEMU uses the Proll, a PROM replacement available at
-@url{http://people.redhat.com/@/zaitcev/linux/}. The required
-QEMU-specific patches are included with the sources.
+Since version 0.8.1, QEMU uses OpenBIOS
+@url{http://www.openbios.org/}. 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.
A sample Linux 2.6 series kernel and ram disk image are available on
-the QEMU web site. Please note that currently neither Linux 2.4
-series, NetBSD, nor OpenBSD kernels work.
+the QEMU web site. Please note that currently NetBSD, OpenBSD or
+Solaris kernels don't work.
@c man begin OPTIONS