diff options
author | Jared Rossi <jrossi@linux.ibm.com> | 2024-10-19 21:29:49 -0400 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2024-10-23 06:53:44 +0200 |
commit | 0927875e704e93ace03bb7533c0877bf97e4bda9 (patch) | |
tree | ae4abd96eb49ab95c8e19575611442a35be08f20 /include/hw | |
parent | bb185de42339025db9bbd5aa11f3f644c2a077f8 (diff) | |
download | qemu-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.h | 4 |
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; |