qemu/pc-bios/s390-ccw
Jared Rossi 8af5d14171 pc-bios: Add support for List-Directed IPL from ECKD DASD
Check for a List Directed IPL Boot Record, which would supersede the CCW type
entries.  If the record is valid, proceed to use the new style pointers
and perform LD-IPL. Each block pointer is interpreted as either an LD-IPL
pointer or a legacy CCW pointer depending on the type of IPL initiated.

In either case CCW- or LD-IPL is transparent to the user and will boot the same
image regardless of which set of pointers is used. Because the interactive boot
menu is only written with the old style pointers, the menu will be disabled for
List Directed IPL from ECKD DASD.

If the LD-IPL fails, retry the IPL using the CCW type pointers.

If no LD-IPL boot record is found, simply perform CCW type IPL as usual.

Signed-off-by: Jared Rossi <jrossi@linux.ibm.com>
Message-Id: <20230221174548.1866861-2-jrossi@linux.ibm.com>
[thuth: Drop some superfluous parantheses]
Signed-off-by: Thomas Huth <thuth@redhat.com>
2023-03-08 08:57:42 +01:00
..
bootmap.c pc-bios: Add support for List-Directed IPL from ECKD DASD 2023-03-08 08:57:42 +01:00
bootmap.h pc-bios: Add support for List-Directed IPL from ECKD DASD 2023-03-08 08:57:42 +01:00
bswap.h pc-bios/s390-ccw: Move byteswap functions to a separate header 2017-07-14 12:29:48 +02:00
cio.c pc-bios: s390x: cio.c cleanup and compile fix 2020-07-02 09:59:10 +02:00
cio.h s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
dasd-ipl.c docs: fix references to docs/devel/s390-dasd-ipl.rst 2021-06-02 06:51:09 +02:00
dasd-ipl.h s390-bios: Support booting from real dasd device 2019-04-12 12:40:35 +02:00
helper.h pc-bios/s390-ccw: Fix inline assembly for older versions of Clang 2021-05-14 12:38:43 +02:00
iplb.h s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
jump2ipl.c pc-bios/s390-ccw: Fix inline assembly for older versions of Clang 2021-05-14 12:38:43 +02:00
libc.c pc-bios/s390-ccw: Clean up harmless misuse of isdigit() 2019-05-08 10:52:14 +02:00
libc.h s390-bios: cio error handling 2019-04-12 12:40:35 +02:00
main.c pc-bios/s390-ccw: Split virtio-scsi code from virtio_blk_setup_device() 2022-07-06 18:35:10 +02:00
Makefile pc-bios/s390-ccw: Adopt meson style Make output 2022-10-06 11:53:40 +01:00
menu.c pc-bios/s390-ccw: Fix inline assembly for older versions of Clang 2021-05-14 12:38:43 +02:00
netboot.mak pc-bios/s390-ccw: Adopt meson style Make output 2022-10-06 11:53:40 +01:00
netmain.c pc-bios: s390x: Move panic() into header and add infinite loop 2020-07-02 10:00:42 +02:00
s390-arch.h pc-bios: s390x: Clear out leftover S390EP string 2020-11-23 09:48:45 +01:00
s390-ccw.h pc-bios/s390-ccw: Add a proper prototype for main() 2022-07-06 18:33:26 +02:00
s390-time.h pc-bios: s390x: Consolidate timing functions into time.h 2020-07-02 09:59:24 +02:00
sclp.c pc-bios/s390-ccw: fix sclp_get_loadparm_ascii 2019-11-29 09:16:02 +01:00
sclp.h misc: Replace zero-length arrays with flexible array member (automatic) 2020-03-16 22:07:42 +01:00
scsi.h pc-bios/s390-ccw: Get Block Limits VPD device data 2017-05-19 12:29:01 +02:00
start.S s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
virtio-blkdev.c pc-bios/s390-ccw: Fix booting with logical block size < physical block size 2022-08-07 12:54:12 +02:00
virtio-net.c pc-bios: s390x: Move sleep and yield to helper.h 2020-07-02 09:59:51 +02:00
virtio-scsi.c misc: fix commonly doubled up words 2022-08-01 11:58:02 +02:00
virtio-scsi.h pc-bios/s390-ccw: Split virtio-scsi code from virtio_blk_setup_device() 2022-07-06 18:35:10 +02:00
virtio.c pc-bios/s390-ccw/virtio: Beautify the code for reading virtqueue configuration 2022-07-06 18:35:00 +02:00
virtio.h pc-bios/s390-ccw/virtio: Remove "extern" keyword from prototypes 2022-07-06 18:35:27 +02:00