From: Jared Rossi <jro...@linux.ibm.com>

This patch set primarily adds support for the specification of multiple boot
devices, allowing for the guest to automatically use an alternative device on
a failed boot without needing to be reconfigured. It additionally provides the
ability to define the loadparm attribute on a per-device bases, which allows
boot devices to use different loadparm values if needed.

In brief, an IPLB is generated for each designated boot device (up to a maximum
of 8) and stored in guest memory immediately before BIOS. If a device fails to
boot, the next IPLB is retrieved and we jump back to the start of BIOS.

Devices can be specified using the standard qemu device tag "bootindex" as with
other architectures. Lower number indices are tried first, with "bootindex=0"
indicating the first device to try.

A subsequent Libvirt patch will be necessary to allow assignment of per-device
loadparms in the guest XML

Jared Rossi (5):
  Create include files for s390x IPL definitions
  Add loadparm to CcwDevice
  Build IPLB chain for multiple boot devices
  Add boot device fallback infrastructure
  Enable and document boot device fallback on panic

 docs/system/bootindex.rst         |   7 +-
 docs/system/s390x/bootdevices.rst |   9 +-
 hw/s390x/ccw-device.h             |   2 +
 hw/s390x/ipl.h                    | 117 +-------------------
 include/hw/s390x/ipl/qipl.h       | 128 ++++++++++++++++++++++
 pc-bios/s390-ccw/bootmap.h        |   5 +
 pc-bios/s390-ccw/iplb.h           | 108 +++++--------------
 pc-bios/s390-ccw/s390-ccw.h       |   6 ++
 hw/s390x/ccw-device.c             |  49 +++++++++
 hw/s390x/ipl.c                    | 170 ++++++++++++++++++++++--------
 hw/s390x/s390-virtio-ccw.c        |  18 +---
 hw/s390x/sclp.c                   |   3 +-
 pc-bios/s390-ccw/bootmap.c        |  41 ++++---
 pc-bios/s390-ccw/main.c           |  25 +++--
 pc-bios/s390-ccw/netmain.c        |   4 +
 pc-bios/s390-ccw/Makefile         |   2 +-
 16 files changed, 413 insertions(+), 281 deletions(-)
 create mode 100644 include/hw/s390x/ipl/qipl.h

-- 
2.45.1


Reply via email to