aboutsummaryrefslogtreecommitdiff
path: root/include/hw
diff options
context:
space:
mode:
authorJared Rossi <jrossi@linux.ibm.com>2024-10-19 21:29:49 -0400
committerThomas Huth <thuth@redhat.com>2024-10-23 06:53:44 +0200
commit0927875e704e93ace03bb7533c0877bf97e4bda9 (patch)
treeae4abd96eb49ab95c8e19575611442a35be08f20 /include/hw
parentbb185de42339025db9bbd5aa11f3f644c2a077f8 (diff)
downloadqemu-0927875e704e93ace03bb7533c0877bf97e4bda9.zip
qemu-0927875e704e93ace03bb7533c0877bf97e4bda9.tar.gz
qemu-0927875e704e93ace03bb7533c0877bf97e4bda9.tar.bz2
hw/s390x: Build an IPLB for each boot device
Build an IPLB for any device with a bootindex (up to a maximum of 8 devices). The IPLB chain is placed immediately before the BIOS in memory. Because this is not a fixed address, the location of the next IPLB and number of remaining boot devices is stored in the QIPL global variable for possible later access by the guest during IPL. Signed-off-by: Jared Rossi <jrossi@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20241020012953.1380075-16-jrossi@linux.ibm.com> [thuth: Fix endianness problem when accessing the qipl structure] Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/s390x/ipl/qipl.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/include/hw/s390x/ipl/qipl.h b/include/hw/s390x/ipl/qipl.h
index b67d2ae..1da4f75 100644
--- a/include/hw/s390x/ipl/qipl.h
+++ b/include/hw/s390x/ipl/qipl.h
@@ -32,7 +32,9 @@ struct QemuIplParameters {
uint8_t reserved1[3];
uint64_t reserved2;
uint32_t boot_menu_timeout;
- uint8_t reserved3[12];
+ uint8_t reserved3[2];
+ uint16_t chain_len;
+ uint64_t next_iplb;
} QEMU_PACKED;
typedef struct QemuIplParameters QemuIplParameters;