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:
		
							parent
							
								
									9d0869b630
								
							
						
					
					
						commit
						0986ac3be2
					
				
							
								
								
									
										4
									
								
								Makefile
								
								
								
								
							
							
						
						
									
										4
									
								
								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 \
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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,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);
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -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 not shown.
										
									
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
				
			
			@ -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
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue