|
@@ -32,14 +32,43 @@ Missing devices
|
|
|
Firmware
|
|
|
========
|
|
|
|
|
|
+The pSeries platform in QEMU comes with 2 firmwares:
|
|
|
+
|
|
|
`SLOF <https://github.com/aik/SLOF>`_ (Slimline Open Firmware) is an
|
|
|
implementation of the `IEEE 1275-1994, Standard for Boot (Initialization
|
|
|
Configuration) Firmware: Core Requirements and Practices
|
|
|
<https://standards.ieee.org/standard/1275-1994.html>`_.
|
|
|
|
|
|
+SLOF performs bus scanning, PCI resource allocation, provides the client
|
|
|
+interface to boot from block devices and network.
|
|
|
+
|
|
|
QEMU includes a prebuilt image of SLOF which is updated when a more recent
|
|
|
version is required.
|
|
|
|
|
|
+VOF (Virtual Open Firmware) is a minimalistic firmware to work with
|
|
|
+``-machine pseries,x-vof=on``. When enabled, the firmware acts as a slim
|
|
|
+shim and QEMU implements parts of the IEEE 1275 Open Firmware interface.
|
|
|
+
|
|
|
+VOF does not have device drivers, does not do PCI resource allocation and
|
|
|
+relies on ``-kernel`` used with Linux kernels recent enough (v5.4+)
|
|
|
+to PCI resource assignment. It is ideal to use with petitboot.
|
|
|
+
|
|
|
+Booting via ``-kernel`` supports the following:
|
|
|
+
|
|
|
++-------------------+-------------------+------------------+
|
|
|
+| kernel | pseries,x-vof=off | pseries,x-vof=on |
|
|
|
++===================+===================+==================+
|
|
|
+| vmlinux BE | ✓ | ✓ |
|
|
|
++-------------------+-------------------+------------------+
|
|
|
+| vmlinux LE | ✓ | ✓ |
|
|
|
++-------------------+-------------------+------------------+
|
|
|
+| zImage.pseries BE | x | ✓¹ |
|
|
|
++-------------------+-------------------+------------------+
|
|
|
+| zImage.pseries LE | ✓ | ✓ |
|
|
|
++-------------------+-------------------+------------------+
|
|
|
+
|
|
|
+¹ must set kernel-addr=0
|
|
|
+
|
|
|
Build directions
|
|
|
================
|
|
|
|