On Mon, 17 Aug 2020 10:17:34 -0400 "Jason J. Herne" <jjhe...@linux.ibm.com> wrote:
> The POP states that the IPLB location is only written to 0x14 for > list-directed IPL. Some operating systems expect 0x14 to not change on > boot and will fail IPL if it does change. > > Fixes: 9bfc04f9ef6802fff0 Should be Fixes: 9bfc04f9ef68 ("pc-bios: s390x: Save iplb location in lowcore") > Signed-off-by: Jason J. Herne <jjhe...@linux.ibm.com> > Reviewed-by: Janosch Frank <fran...@de.ibm.com> > --- > pc-bios/s390-ccw/jump2ipl.c | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > diff --git a/pc-bios/s390-ccw/jump2ipl.c b/pc-bios/s390-ccw/jump2ipl.c > index 767012bf0c..5e3e13f4b0 100644 > --- a/pc-bios/s390-ccw/jump2ipl.c > +++ b/pc-bios/s390-ccw/jump2ipl.c > @@ -33,7 +33,10 @@ void jump_to_IPL_code(uint64_t address) > { > /* store the subsystem information _after_ the bootmap was loaded */ > write_subsystem_identification(); > - write_iplb_location(); > + > + if (iplb.pbt != S390_IPL_TYPE_CCW) { > + write_iplb_location(); > + } What happens for ipl types other than CCW and FCP? IOW, should that rather be a positive check for S390_IPL_TYPE_FCP? > > /* prevent unknown IPL types in the guest */ > if (iplb.pbt == S390_IPL_TYPE_QEMU_SCSI) {