From 0986ac3be2989f37cec262f3370bac77999a52bf Mon Sep 17 00:00:00 2001 From: bellard Date: Wed, 14 Jun 2006 12:36:32 +0000 Subject: 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 --- Makefile | 4 ++-- hw/sun4m.c | 9 ++------- hw/sun4u.c | 9 ++------- pc-bios/README | 9 ++++----- pc-bios/openbios-sparc32 | Bin 0 -> 506966 bytes pc-bios/proll.elf | Bin 132317 -> 0 bytes qemu-doc.texi | 13 +++++++------ 7 files changed, 17 insertions(+), 27 deletions(-) create mode 100644 pc-bios/openbios-sparc32 delete mode 100644 pc-bios/proll.elf diff --git a/Makefile b/Makefile index b6f496e..6716ccf 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 f25fa3e..203732f 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 5e6f8ba..22ab4e1 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 5e61a28..fc85eb4 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 0000000..7a729aa Binary files /dev/null and b/pc-bios/openbios-sparc32 differ diff --git a/pc-bios/proll.elf b/pc-bios/proll.elf deleted file mode 100644 index 21c739c..0000000 Binary files a/pc-bios/proll.elf and /dev/null differ diff --git a/qemu-doc.texi b/qemu-doc.texi index 2b37179..23bf680 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 -- cgit v1.1