qemu/pc-bios
Benjamin Herrenschmidt 4d8d5467cd pseries: SLOF PCI flag day
Currently on the pseries machine the SLOF firmware is used normally,
but we bypass it when -kernel is specified.  Having these two

different boot paths can cause some confusion.

In particular at present we need to "probe" the (emulated) PCI bus and
produce device tree nodes for the PCI devices in qemu, for the -kernel
case.  In the SLOF case, it takes the device tree from qemu adds some
stuff to it then passes it on to the kernel.

It's been decided that a better approach is to always boot through
SLOF, even when using -kernel.  WIth this approach we can leave PCI
probing and device node creation to SLOF in all cases which removes a
bunch of code in qemu, and avoids iterating the PCI devices from the
machine specific init code which we're not supposed to do.

This patch changes qemu to always boot through SLOF, and not to create
PCI nodes.  Simultaneously it updates the included version of SLOF
(submodule and binary image) to one which supports (and requires) the
new approach.

The new SLOF version also includes a number of unrelated enhancements:
support for booting from virtio-pci devices and e1000, greatly
improved FCode support and many bugfixes.  It also makes SLOF ready to
be used even when specifying a kernel on the qemu command line.

Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Signed-off-by: Alexander Graf <agraf@suse.de>
2012-01-21 05:17:02 +01:00
..
keymaps Convert keymap file to UTF-8 encoding 2011-12-06 10:01:38 +00:00
optionrom Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
spapr-rtas Implement hcall based RTAS for pSeries machines 2011-04-01 18:34:56 +02:00
Makefile pc-bios/Makefile: add a rule to produce dtb files 2009-03-07 04:56:06 +00:00
README pseries: SLOF PCI flag day 2012-01-21 05:17:02 +01:00
bamboo.dtb PPC: Bamboo: recompile device tree 2012-01-21 05:17:00 +01:00
bamboo.dts PPC: Bamboo: recompile device tree 2012-01-21 05:17:00 +01:00
bios.bin seabios: Update to release 1.6.3.1 2012-01-15 17:54:23 +01:00
linuxboot.bin pc-bios: update linuxboot.bin and multiboot.bin 2011-03-22 07:03:15 +01:00
mpc8544ds.dtb MPC8544DS: Remove CPU nodes 2011-10-06 09:48:02 +02:00
mpc8544ds.dts MPC8544DS: Remove CPU nodes 2011-10-06 09:48:02 +02:00
multiboot.bin pc-bios: update linuxboot.bin and multiboot.bin 2011-03-22 07:03:15 +01:00
ohw.diff Fix spelling in comments, documentation and messages 2011-12-14 11:09:44 +00:00
openbios-ppc Add OpenBIOS as a submodule 2011-09-28 20:39:34 +00:00
openbios-sparc32 Add OpenBIOS as a submodule 2011-09-28 20:39:34 +00:00
openbios-sparc64 Add OpenBIOS as a submodule 2011-09-28 20:39:34 +00:00
palcode-clipper target-alpha: Add custom PALcode image for CLIPPER emulation. 2011-10-08 08:46:03 -07:00
petalogix-ml605.dtb microblaze: Add PetaLogix ml605 MMU little-endian ref design 2011-03-16 15:18:58 +01:00
petalogix-s3adsp1800.dtb microblaze: Fix loading of petalogix s3adsp1800 dtb. 2009-06-03 21:54:31 +02:00
ppc_rom.bin Quickly hack PowerPC BIOS able to boot on CDROM again. 2007-10-01 06:44:33 +00:00
pxe-e1000.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-eepro100.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-ne2k_pci.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-pcnet.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-rtl8139.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
pxe-virtio.rom PXE: Refresh all PXE ROMs from the ipxe submodule 2011-04-18 11:46:41 -06:00
s390-zipl.rom s390x: update zipl rom 2011-06-03 13:34:01 +02:00
sgabios.bin add sgabios blob and submodule 2011-11-07 10:57:36 -06:00
slof.bin pseries: SLOF PCI flag day 2012-01-21 05:17:02 +01:00
spapr-rtas.bin pc-bios/spapr-rtas.bin: remove executable flag 2011-04-01 20:04:24 +02:00
vgabios-cirrus.bin Add new vgabios binaries to blobs list. 2010-11-16 08:39:52 -06:00
vgabios-qxl.bin spice: add qxl vgabios binary. 2010-12-09 14:23:24 +01:00
vgabios-stdvga.bin Add new vgabios binaries to blobs list. 2010-11-16 08:39:52 -06:00
vgabios-vmware.bin Add new vgabios binaries to blobs list. 2010-11-16 08:39:52 -06:00
vgabios.bin Add new vgabios binaries to blobs list. 2010-11-16 08:39:52 -06:00

README

- SeaBIOS (bios.bin) is the successor of pc bios.
  See http://www.seabios.org/ for more information.

- The VGA BIOS and the Cirrus VGA BIOS come from the LGPL VGA bios
  project (http://www.nongnu.org/vgabios/).

- The PowerPC Open Hack'Ware Open Firmware Compatible BIOS is
  available at http://perso.magic.fr/l_indien/OpenHackWare/index.htm.

- 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.
  The included images for PowerPC (for 32 and 64 bit PPC CPUs),
  Sparc32 and Sparc64 are built from OpenBIOS SVN revision
  1047.

- SLOF (Slimline Open Firmware) is a free IEEE 1275 Open Firmware
  implementation for certain IBM POWER hardware.  The sources are at
  https://github.com/dgibson/SLOF, and the image currently in qemu is
  built from git tag qemu-slof-20120111.1.

- sgabios (the Serial Graphics Adapter option ROM) provides a means for
  legacy x86 software to communicate with an attached serial console as
  if a video card were attached.  The master sources reside in a subversion
  repository at http://sgabios.googlecode.com/svn/trunk.  A git mirror is
  available at git://git.qemu.org/sgabios.git.

- The PXE roms come from the iPXE project. Built with BANNER_TIME 0.
  Sources available at http://ipxe.org.  Vendor:Device ID -> ROM mapping:

	8086:100e -> pxe-e1000.rom
	8086:1209 -> pxe-eepro100.rom
	1050:0940 -> pxe-ne2k_pci.rom
	1022:2000 -> pxe-pcnet.rom
	10ec:8139 -> pxe-rtl8139.rom
	1af4:1000 -> pxe-virtio.rom

- The S390 zipl loader is an addition to the official IBM s390-tools
  package. That fork is maintained in its own git repository at:
  git://repo.or.cz/s390-tools.git

- The sources for the Alpha palcode image is available from:
  git://repo.or.cz/qemu-palcode.git