On 27/09/2024 02.50, jrossi@linux.ibm.com wrote:
> From: Jared Rossi <jrossi@linux.ibm.com>
>
> Loosely a v2, this updated patch set is a significant rework to most aspects of
> the initially proposed multi-device boot order. Of particular note, the
> original patch set used code jumps to restart the IPL while this version
> does not. In order to remove the code jumps, two significant prerequisite
> changes are required for the pc-bios. Firstly, the netboot code is linked into
> the main s390-ccw.img, which allows for return after a failed netboot, based on
> the patch set from Thomas Huth <thuth@redhat.com>
> (https://lists.gnu.org/archive/html/qemu-devel/2024-06/msg03956.html).
> Secondly, IPL errors that result in an immediate termination are converted
> to instead provide a return value back to the main IPL calling function.
>
> The routines for building and loading fallback device IPLBs are largely
> unchanged: An IPLB is built for each device with a boot index
> specified (up to 8 devices). The IPLBs location in memory is passed to the guest
> using the global QIPL structure, which is stored at a fixed address. If the
> first device in the boot order successfully IPLs, then the additional IPLBs are
> never used; however, if the first device fails, subsequent IPLBs are retrieved
> from memory and the IPL process restarts using the specifications contained in
> the new IPLB.
>
> This continues until IPL is successful or there are no IPLBs left to try.
>
> The per-device loadparm attribute is still uniformly added to CCW devices
> although it may only be assigned a value if the device has a boot index.
> This will need further rework if a more targeted approach is desired.
>
> Two automated test cases are planned for v3: a minimal test where a guest has
> two boot devices defined and the first fails, and also a limit test where the
> guest has 8 boot devices defined but only the last one can actually IPL.
Thanks, this looks already much better than the "jump back to start" stuff
in v1 !
One thing I noticed while testing your patches: Booting from ISO images
seems to be broken for me now, e.g. something like:
./qemu-system-s390x -nographic -accel kvm -m 1G \
-bios pc-bios/s390-ccw/s390-ccw.img \
-drive
if=none,id=d1,file=Fedora-Server-dvd-s390x-38-1.6.iso,format=raw,media=cdrom \
-device virtio-scsi -device scsi-cd,drive=d1,bootindex=1
used to work fine in the past, but gives me a "Failed to IPL this ISO
image!" error now.
Does ISO IPL-ing work for you?
Thomas