Skip to content

Commit

Permalink
use OpenBIOS instead of Proll on sparc (Blue Swirl)
Browse files Browse the repository at this point in the history
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@1960 c046a42c-6fe2-441c-8c8c-71466251a162
  • Loading branch information
bellard committed Jun 14, 2006
1 parent 9d0869b commit 0986ac3
Show file tree
Hide file tree
Showing 7 changed files with 17 additions and 27 deletions.
4 changes: 2 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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 \
Expand Down
9 changes: 2 additions & 7 deletions hw/sun4m.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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_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);
Expand Down
9 changes: 2 additions & 7 deletions hw/sun4u.c
Original file line number Diff line number Diff line change
Expand Up @@ -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 */
Expand Down Expand Up @@ -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_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);
Expand Down
9 changes: 4 additions & 5 deletions pc-bios/README
Original file line number Diff line number Diff line change
Expand Up @@ -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.
Binary file added pc-bios/openbios-sparc32
Binary file not shown.
Binary file removed pc-bios/proll.elf
Binary file not shown.
13 changes: 7 additions & 6 deletions qemu-doc.texi
Original file line number Diff line number Diff line change
Expand Up @@ -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:
Expand All @@ -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

Expand Down

0 comments on commit 0986ac3

Please sign in to comment.