Commit 0986ac3be2989f37cec262f3370bac77999a52bf

Authored by bellard
1 parent 9d0869b6

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
@@ -68,7 +68,7 @@ install: all $(if $(BUILD_DOCS),install-doc) @@ -68,7 +68,7 @@ install: all $(if $(BUILD_DOCS),install-doc)
68 $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)" 68 $(INSTALL) -m 755 -s $(TOOLS) "$(DESTDIR)$(bindir)"
69 mkdir -p "$(DESTDIR)$(datadir)" 69 mkdir -p "$(DESTDIR)$(datadir)"
70 for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \ 70 for x in bios.bin vgabios.bin vgabios-cirrus.bin ppc_rom.bin \
71 - video.x proll.elf linux_boot.bin; do \ 71 + video.x openbios-sparc32 linux_boot.bin; do \
72 $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \ 72 $(INSTALL) -m 644 $(SRC_PATH)/pc-bios/$$x "$(DESTDIR)$(datadir)"; \
73 done 73 done
74 ifndef CONFIG_WIN32 74 ifndef CONFIG_WIN32
@@ -149,7 +149,7 @@ tarbin: @@ -149,7 +149,7 @@ tarbin:
149 $(datadir)/vgabios-cirrus.bin \ 149 $(datadir)/vgabios-cirrus.bin \
150 $(datadir)/ppc_rom.bin \ 150 $(datadir)/ppc_rom.bin \
151 $(datadir)/video.x \ 151 $(datadir)/video.x \
152 - $(datadir)/proll.elf \ 152 + $(datadir)/openbios-sparc32 \
153 $(datadir)/linux_boot.bin \ 153 $(datadir)/linux_boot.bin \
154 $(docdir)/qemu-doc.html \ 154 $(docdir)/qemu-doc.html \
155 $(docdir)/qemu-tech.html \ 155 $(docdir)/qemu-tech.html \
hw/sun4m.c
@@ -28,8 +28,7 @@ @@ -28,8 +28,7 @@
28 #define INITRD_LOAD_ADDR 0x00800000 28 #define INITRD_LOAD_ADDR 0x00800000
29 #define PROM_SIZE_MAX (256 * 1024) 29 #define PROM_SIZE_MAX (256 * 1024)
30 #define PROM_ADDR 0xffd00000 30 #define PROM_ADDR 0xffd00000
31 -#define PROM_FILENAMEB "proll.bin"  
32 -#define PROM_FILENAMEE "proll.elf" 31 +#define PROM_FILENAME "openbios-sparc32"
33 #define PHYS_JJ_EEPROM 0x71200000 /* m48t08 */ 32 #define PHYS_JJ_EEPROM 0x71200000 /* m48t08 */
34 #define PHYS_JJ_IDPROM_OFF 0x1FD8 33 #define PHYS_JJ_IDPROM_OFF 0x1FD8
35 #define PHYS_JJ_EEPROM_SIZE 0x2000 34 #define PHYS_JJ_EEPROM_SIZE 0x2000
@@ -273,13 +272,9 @@ static void sun4m_init(int ram_size, int vga_ram_size, int boot_device, @@ -273,13 +272,9 @@ static void sun4m_init(int ram_size, int vga_ram_size, int boot_device,
273 (PROM_SIZE_MAX + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK, 272 (PROM_SIZE_MAX + TARGET_PAGE_SIZE - 1) & TARGET_PAGE_MASK,
274 prom_offset | IO_MEM_ROM); 273 prom_offset | IO_MEM_ROM);
275 274
276 - snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEE); 275 + snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAME);
277 ret = load_elf(buf, 0, NULL); 276 ret = load_elf(buf, 0, NULL);
278 if (ret < 0) { 277 if (ret < 0) {
279 - snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEB);  
280 - ret = load_image(buf, phys_ram_base + prom_offset);  
281 - }  
282 - if (ret < 0) {  
283 fprintf(stderr, "qemu: could not load prom '%s'\n", 278 fprintf(stderr, "qemu: could not load prom '%s'\n",
284 buf); 279 buf);
285 exit(1); 280 exit(1);
hw/sun4u.c
@@ -32,8 +32,7 @@ @@ -32,8 +32,7 @@
32 #define APB_SPECIAL_BASE 0x1fe00000000ULL 32 #define APB_SPECIAL_BASE 0x1fe00000000ULL
33 #define APB_MEM_BASE 0x1ff00000000ULL 33 #define APB_MEM_BASE 0x1ff00000000ULL
34 #define VGA_BASE (APB_MEM_BASE + 0x400000ULL) 34 #define VGA_BASE (APB_MEM_BASE + 0x400000ULL)
35 -#define PROM_FILENAMEB "proll-sparc64.bin"  
36 -#define PROM_FILENAMEE "proll-sparc64.elf" 35 +#define PROM_FILENAME "openbios-sparc64"
37 #define NVRAM_SIZE 0x2000 36 #define NVRAM_SIZE 0x2000
38 37
39 /* TSC handling */ 38 /* TSC handling */
@@ -282,13 +281,9 @@ static void sun4u_init(int ram_size, int vga_ram_size, int boot_device, @@ -282,13 +281,9 @@ static void sun4u_init(int ram_size, int vga_ram_size, int boot_device,
282 (PROM_SIZE_MAX + TARGET_PAGE_SIZE) & TARGET_PAGE_MASK, 281 (PROM_SIZE_MAX + TARGET_PAGE_SIZE) & TARGET_PAGE_MASK,
283 prom_offset | IO_MEM_ROM); 282 prom_offset | IO_MEM_ROM);
284 283
285 - snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEE); 284 + snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAME);
286 ret = load_elf(buf, 0, NULL); 285 ret = load_elf(buf, 0, NULL);
287 if (ret < 0) { 286 if (ret < 0) {
288 - snprintf(buf, sizeof(buf), "%s/%s", bios_dir, PROM_FILENAMEB);  
289 - ret = load_image(buf, phys_ram_base + prom_offset);  
290 - }  
291 - if (ret < 0) {  
292 fprintf(stderr, "qemu: could not load prom '%s'\n", 287 fprintf(stderr, "qemu: could not load prom '%s'\n",
293 buf); 288 buf);
294 exit(1); 289 exit(1);
pc-bios/README
@@ -7,11 +7,10 @@ @@ -7,11 +7,10 @@
7 - The PowerPC Open Hack'Ware Open Firmware Compatible BIOS is 7 - The PowerPC Open Hack'Ware Open Firmware Compatible BIOS is
8 available at http://perso.magic.fr/l_indien/OpenHackWare/index.htm. 8 available at http://perso.magic.fr/l_indien/OpenHackWare/index.htm.
9 9
10 -- Proll is a GPL'd boot PROM for Sparc JavaStations  
11 - (http://people.redhat.com/zaitcev/linux/).  
12 - Applying proll.patch allows circumventing some bugs and enables  
13 - faster kernel load through a hack.  
14 -  
15 - video.x is a PowerMac NDRV compatible driver for a VGA frame 10 - video.x is a PowerMac NDRV compatible driver for a VGA frame
16 buffer. It comes from the Mac-on-Linux project 11 buffer. It comes from the Mac-on-Linux project
17 (http://www.maconlinux.org/). 12 (http://www.maconlinux.org/).
  13 +
  14 +- OpenBIOS (http://www.openbios.org/) is a free (GPL v2) portable
  15 + firmware implementation. The goal is to implement a 100% IEEE
  16 + 1275-1994 (referred to as Open Firmware) compliant firmware.
pc-bios/openbios-sparc32 0 → 100644
No preview for this file type
pc-bios/proll.elf deleted 100644 → 0
No preview for this file type
qemu-doc.texi
@@ -1394,7 +1394,7 @@ More information is available at @@ -1394,7 +1394,7 @@ More information is available at
1394 @node Sparc32 System emulator invocation 1394 @node Sparc32 System emulator invocation
1395 @section Sparc32 System emulator invocation 1395 @section Sparc32 System emulator invocation
1396 1396
1397 -Use the executable @file{qemu-system-sparc} to simulate a JavaStation 1397 +Use the executable @file{qemu-system-sparc} to simulate a SparcStation 5
1398 (sun4m architecture). The emulation is somewhat complete. 1398 (sun4m architecture). The emulation is somewhat complete.
1399 1399
1400 QEMU emulates the following sun4m peripherals: 1400 QEMU emulates the following sun4m peripherals:
@@ -1419,13 +1419,14 @@ Floppy drive @@ -1419,13 +1419,14 @@ Floppy drive
1419 1419
1420 The number of peripherals is fixed in the architecture. 1420 The number of peripherals is fixed in the architecture.
1421 1421
1422 -QEMU uses the Proll, a PROM replacement available at  
1423 -@url{http://people.redhat.com/@/zaitcev/linux/}. The required  
1424 -QEMU-specific patches are included with the sources. 1422 +Since version 0.8.1, QEMU uses OpenBIOS
  1423 +@url{http://www.openbios.org/}. OpenBIOS is a free (GPL v2) portable
  1424 +firmware implementation. The goal is to implement a 100% IEEE
  1425 +1275-1994 (referred to as Open Firmware) compliant firmware.
1425 1426
1426 A sample Linux 2.6 series kernel and ram disk image are available on 1427 A sample Linux 2.6 series kernel and ram disk image are available on
1427 -the QEMU web site. Please note that currently neither Linux 2.4  
1428 -series, NetBSD, nor OpenBSD kernels work. 1428 +the QEMU web site. Please note that currently NetBSD, OpenBSD or
  1429 +Solaris kernels don't work.
1429 1430
1430 @c man begin OPTIONS 1431 @c man begin OPTIONS
1431 1432