On Tue, 3 Nov 2020 13:32:47 +0100 Thomas Huth <[email protected]> wrote:
> 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... Will do, I have other things as well anyway.
