aboutsummaryrefslogtreecommitdiff
path: root/pc-bios/s390-ccw/main.c
diff options
context:
space:
mode:
authorJason J. Herne <jjherne@linux.ibm.com>2020-10-30 13:28:23 +0100
committerCornelia Huck <cohuck@redhat.com>2020-11-04 12:31:24 +0100
commit872882e771cf0873f5e8e78ea7333367a3f87d8b (patch)
treec1a8c96d5796b84bc3ae951d1c6689e36c37ea95 /pc-bios/s390-ccw/main.c
parent3d6e32347a3b57dac7f469a07c5f520e69bd070a (diff)
s390-bios: Skip writing iplb location to low core for ccw ipl
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. We should also not write the iplb pointer for network boot as it might overwrite content that we got via network. Fixes: 9bfc04f9ef68 ("pc-bios: s390x: Save iplb location in lowcore") Signed-off-by: Jason J. Herne <jjherne@linux.ibm.com> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com> Acked-by: Thomas Huth <thuth@redhat.com> Message-Id: <20201030122823.347140-1-borntraeger@de.ibm.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'pc-bios/s390-ccw/main.c')
-rw-r--r--pc-bios/s390-ccw/main.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/pc-bios/s390-ccw/main.c b/pc-bios/s390-ccw/main.c
index 43c792cf95..fc4bfaa455 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);
+ }
}
unsigned int get_loadparm_index(void)