a9f8ad8f2a
Currently, the emulated pSeries machine requires the use of the -kernel parameter in order to explicitly load a guest kernel. This means booting from the virtual disk, cdrom or network is not possible. This patch addresses this limitation by inserting a within-partition firmware image (derived from the "SLOF" free Open Firmware project). If -kernel is not specified, qemu will now load the SLOF image, which has access to the qemu boot device list through the device tree, and can boot from any of the usual virtual devices. In order to support the new firmware, an extension to the emulated machine/hypervisor is necessary. Unlike Linux, which expects multi-CPU entry to be handled kexec() style, the SLOF firmware expects only one CPU to be active at entry, and to use a hypervisor RTAS method to enable the other CPUs one by one. This patch also implements this 'start-cpu' method, so that SLOF can start the secondary CPUs and marshal them into the kexec() holding pattern ready for entry into the guest OS. Linux should, and in the future might directly use the start-cpu method to enable initially disabled CPUs, but for now it does require kexec() entry. Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> Signed-off-by: Paul Mackerras <paulus@samba.org> Signed-off-by: David Gibson <dwg@au1.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de> |
||
---|---|---|
.. | ||
keymaps | ||
optionrom | ||
spapr-rtas | ||
bamboo.dtb | ||
bamboo.dts | ||
bios.bin | ||
gpxe-eepro100-80861209.rom | ||
linuxboot.bin | ||
Makefile | ||
mpc8544ds.dtb | ||
mpc8544ds.dts | ||
multiboot.bin | ||
ohw.diff | ||
openbios-ppc | ||
openbios-sparc32 | ||
openbios-sparc64 | ||
petalogix-ml605.dtb | ||
petalogix-s3adsp1800.dtb | ||
ppc_rom.bin | ||
pxe-e1000.bin | ||
pxe-ne2k_pci.bin | ||
pxe-pcnet.bin | ||
pxe-rtl8139.bin | ||
pxe-virtio.bin | ||
README | ||
s390-zipl.rom | ||
slof.bin | ||
spapr-rtas.bin | ||
vgabios-cirrus.bin | ||
vgabios-qxl.bin | ||
vgabios-stdvga.bin | ||
vgabios-vmware.bin | ||
vgabios.bin |
- 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 image for PowerPC (for 32 and 64 bit PPC CPUs), Sparc32 and Sparc64 are built from OpenBIOS SVN revision 1018. - 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-20110323. - The PXE roms come from Rom-o-Matic gPXE 0.9.9 with BANNER_TIMEOUT=0 e1000 8086:100E eepro100 8086:1209 (also used for 8086:1229 and 8086:2449) ns8390 1050:0940 pcnet32 1022:2000 rtl8139 10ec:8139 virtio 1af4:1000 http://rom-o-matic.net/ - 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