spapr/docs: Add a few words about x-vof

The alternative small firmware needs a few words of what it can and
absolutely cannot do; this adds those words.

Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru>
Message-Id: <20220506055124.3822112-1-aik@ozlabs.ru>
[danielhb: added linebreaks before and after table]
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
This commit is contained in:
Alexey Kardashevskiy 2022-05-06 15:51:24 +10:00 committed by Daniel Henrique Barboza
parent 5bb55f3e3b
commit 162eec18c0

View File

@ -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
================