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
This commit is contained in:
bellard 2006-06-14 12:36:32 +00:00
parent 9d0869b630
commit 0986ac3be2
7 changed files with 17 additions and 27 deletions

View File

@ -68,7 +68,7 @@ install: all $(if $(BUILD_DOCS),install-doc)
$(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)" $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
mkdir -p "$(DESTDIR)$(datadir)" mkdir -p "$(DESTDIR)$(datadir)"
for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \ 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)"; \ $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
done done
ifndef CONFIG_WIN32 ifndef CONFIG_WIN32
@ -149,7 +149,7 @@ tarbin:
$(datadir)/vgabios-cirrus.bin \ $(datadir)/vgabios-cirrus.bin \
$(datadir)/ppc_rom.bin \ $(datadir)/ppc_rom.bin \
$(datadir)/video.x \ $(datadir)/video.x \
$(datadir)/proll.elf \ $(datadir)/openbios-sparc32 \
$(datadir)/linux_boot.bin \ $(datadir)/linux_boot.bin \
$(docdir)/qemu-doc.html \ $(docdir)/qemu-doc.html \
$(docdir)/qemu-tech.html \ $(docdir)/qemu-tech.html \

View File

@ -28,8 +28,7 @@
#define INITRD_LOAD_ADDR 0x00800000 #define INITRD_LOAD_ADDR 0x00800000
#define PROM_SIZE_MAX (256 * 1024) #define PROM_SIZE_MAX (256 * 1024)
#define PROM_ADDR 0xffd00000 #define PROM_ADDR 0xffd00000
#define PROM_FILENAMEB "proll.bin" #define PROM_FILENAME "openbios-sparc32"
#define PROM_FILENAMEE "proll.elf"
#define PHYS_JJ_EEPROM 0x71200000 /* m48t08 */ #define PHYS_JJ_EEPROM 0x71200000 /* m48t08 */
#define PHYS_JJ_IDPROM_OFF 0x1FD8 #define PHYS_JJ_IDPROM_OFF 0x1FD8
#define PHYS_JJ_EEPROM_SIZE 0x2000 #define PHYS_JJ_EEPROM_SIZE 0x2000
@ -273,12 +272,8 @@ 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_SIZE_MAX + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK,
prom_offset | IO_MEM_ROM); 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); 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) { if (ret < 0) {
fprintf(stderr, "qemu: could not load prom '%s'\n", fprintf(stderr, "qemu: could not load prom '%s'\n",
buf); buf);

View File

@ -32,8 +32,7 @@
#define APB_SPECIAL_BASE 0x1fe00000000ULL #define APB_SPECIAL_BASE 0x1fe00000000ULL
#define APB_MEM_BASE 0x1ff00000000ULL #define APB_MEM_BASE 0x1ff00000000ULL
#define VGA_BASE (APB_MEM_BASE + 0x400000ULL) #define VGA_BASE (APB_MEM_BASE + 0x400000ULL)
#define PROM_FILENAMEB "proll-sparc64.bin" #define PROM_FILENAME "openbios-sparc64"
#define PROM_FILENAMEE "proll-sparc64.elf"
#define NVRAM_SIZE 0x2000 #define NVRAM_SIZE 0x2000
/* TSC handling */ /* TSC handling */
@ -282,12 +281,8 @@ static void sun4u_init(int ram_size, int vga_ram_size, int boot_device,
(PROM_SIZE_MAX + TARGET_PAGE_SIZE) & TARGET_PAGE_MASK, (PROM_SIZE_MAX + TARGET_PAGE_SIZE) & TARGET_PAGE_MASK,
prom_offset | IO_MEM_ROM); 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); 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) { if (ret < 0) {
fprintf(stderr, "qemu: could not load prom '%s'\n", fprintf(stderr, "qemu: could not load prom '%s'\n",
buf); buf);

View File

@ -7,11 +7,10 @@
- The PowerPC Open Hack'Ware Open Firmware Compatible BIOS is - The PowerPC Open Hack'Ware Open Firmware Compatible BIOS is
available at http://perso.magic.fr/l_indien/OpenHackWare/index.htm. 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 - video.x is a PowerMac NDRV compatible driver for a VGA frame
buffer. It comes from the Mac-on-Linux project buffer. It comes from the Mac-on-Linux project
(http://www.maconlinux.org/). (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.

BIN
pc-bios/openbios-sparc32 Normal file

Binary file not shown.

Binary file not shown.

View File

@ -1394,7 +1394,7 @@ More information is available at
@node Sparc32 System emulator invocation @node Sparc32 System emulator invocation
@section 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. (sun4m architecture). The emulation is somewhat complete.
QEMU emulates the following sun4m peripherals: QEMU emulates the following sun4m peripherals:
@ -1419,13 +1419,14 @@ Floppy drive
The number of peripherals is fixed in the architecture. The number of peripherals is fixed in the architecture.
QEMU uses the Proll, a PROM replacement available at Since version 0.8.1, QEMU uses OpenBIOS
@url{http://people.redhat.com/@/zaitcev/linux/}. The required @url{http://www.openbios.org/}. OpenBIOS is a free (GPL v2) portable
QEMU-specific patches are included with the sources. 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 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 the QEMU web site. Please note that currently NetBSD, OpenBSD or
series, NetBSD, nor OpenBSD kernels work. Solaris kernels don't work.
@c man begin OPTIONS @c man begin OPTIONS