On 30/10/2020 13.28, Christian Borntraeger wrote: > From: "Jason J. Herne" <[email protected]> > > The architecture states that the iplb location is only written to low > core for list directed ipl and not for traditional ccw ipl. If we don't > skip this then operating systems that load by reading into low core > memory may fail to start.
Just double-checking: But doing write_subsystem_identification() unconditionally is ok, right? > We should also not write the iplb pointer for network boot as it might > overwrite content that we got via network. FWIW, write_iplb_location() is already just a dummy function in netmain.c, so this should not have been an issue in the network bootloader, I hope. > Signed-off-by: Jason J. Herne <[email protected]> > Fixes: 9bfc04f9ef68 ("pc-bios: s390x: Save iplb location in lowcore") > Signed-off-by: Christian Borntraeger <[email protected]> > --- > pc-bios/s390-ccw/main.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c > index 43c792cf9509..fc4bfaa45529 100644 > --- a/pc-bios/s390-ccw/main.c > +++ b/pc-bios/s390-ccw/main.c > @@ -43,7 +43,9 @@ void write_subsystem_identification(void) > > void write_iplb_location(void) > { > - lowcore->ptr_iplb = ptr2u32(&iplb); > + if (cutype == CU_TYPE_VIRTIO && virtio_get_device_type() != > VIRTIO_ID_NET) { > + lowcore->ptr_iplb = ptr2u32(&iplb); > + } > } Acked-by: Thomas Huth <[email protected]> Christian, Cornelia, could you please pick up the patch? I'm not sure whether I can do another PR this week for the RC...
