pc-bios: s390x: Ensure Read IPL memory is clean
commitd8e5bbdd0d6fa8d9b5ac15de62c87105d92ff558
authorEric Farman <farman@linux.ibm.com>
Fri, 20 Nov 2020 16:01:16 +0000 (20 17:01 +0100)
committerThomas Huth <thuth@redhat.com>
Mon, 23 Nov 2020 08:48:44 +0000 (23 09:48 +0100)
tree23c36ba5bc312f817000fdd2081ff4082d95a3d8
parent8cc30eb1400fc01f2b139cdd3dc524f8b84dbe07
pc-bios: s390x: Ensure Read IPL memory is clean

If, for example, we boot off a virtio device and chreipl to a vfio-ccw
device, the space at lowcore will be non-zero. We build a Read IPL CCW
at address zero, but it will have leftover PSW data that will conflict
with the Format-0 CCW being generated:

0x0: 00080000 80010000
       ------ Ccw0.cda
              -- Ccw0.chainData
                -- Reserved bits

The data address will be overwritten with the correct value (0x0), but
the apparent data chain bit will cause subsequent memory to be used as
the target of the data store, which may not be where we expect (0x0).

Clear out this space when we boot from DASD, so that we know it exists
exactly as we expect.

Signed-off-by: Eric Farman <farman@linux.ibm.com>
Reviewed-by: Jason J. Herne <jjherne@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@de.ibm.com>
Acked-by: Christian Borntraeger <borntraeger@de.ibm.com>
Acked-by: Cornelia Huck <cohuck@redhat.com>
Message-Id: <20201120160117.59366-2-farman@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
pc-bios/s390-ccw/dasd-ipl.c