From: Jared Rossi <jro...@linux.ibm.com> Add support for List-Directed IPL (LD-IPL) type pointers.
We check for a boot record indicating LD-IPL and use it if it is valid, otherwise we use the CCW CDL or LDL format as usual. When a block is accessed during IPL the block number is first calculated based on the cylinder, head, and record numbers included in the block pointer; if LD-IPL has been initiated then each pointer will be interpreted using the new format. For simplicity, there is no choice presented to forcibly use CCW-IPL if LD-IPL is available. Because both sets of pointers ultimately go to the same kernel/initrd, using CCW- or LD-IPL is transparent to the user. One aspect of the user experience that does change is the availability of the interactive boot menu when a loadparm is not specified. For the existing CCW-IPL, when the user does not specify a loadparm they are presented with a list of boot options; however, this list is only written in the old style pointers. Therefore, if no loadparm is specified, and LD-IPL is supported, the default boot option will be used automatically. Jared Rossi (1): pc-bios: Add support for List-Directed IPL from ECKD DASD pc-bios/s390-ccw/bootmap.c | 157 ++++++++++++++++++++++++++++--------- pc-bios/s390-ccw/bootmap.h | 30 ++++++- 2 files changed, 148 insertions(+), 39 deletions(-) -- 2.31.1