s390x: Rebuild IPLB for SCSI device directly from DIAG308
authorJared Rossi <jrossi@linux.ibm.com>
Sun, 20 Oct 2024 01:29:50 +0000 (21:29 -0400)
committerThomas Huth <thuth@redhat.com>
Wed, 23 Oct 2024 04:53:44 +0000 (06:53 +0200)
commit455e3bc3f74ee76964efec2e0c646db15095d0d2
tree25fabeb0f5663d1cff2e77ceab87ff3de499c19c
parent0927875e704e93ace03bb7533c0877bf97e4bda9
s390x: Rebuild IPLB for SCSI device directly from DIAG308

Because virtio-scsi type devices use a non-architected IPLB pbt code they cannot
be set and stored normally. Instead, the IPLB must be rebuilt during re-ipl.

As s390x does not natively support multiple boot devices, the devno field is
used to store the position in the boot order for the device.

Handling the rebuild as part of DIAG308 removes the need to check the devices
for invalid IPLBs later in the IPL.

Signed-off-by: Jared Rossi <jrossi@linux.ibm.com>
Acked-by: Thomas Huth <thuth@redhat.com>
Message-ID: <20241020012953.1380075-17-jrossi@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
hw/s390x/ipl.c
hw/s390x/ipl.h
include/hw/s390x/ipl/qipl.h
pc-bios/s390-ccw/jump2ipl.c
target/s390x/diag.c