On 15/07/2020 16.08, Janosch Frank wrote: > Normally they don't need to be set up before waiting for an interrupt > but are set up on boot. The BIOS however might overwrite the lowcore > (and hence the PSWs) when loading a blob into memory and therefore > needs to set up those PSWs more often. > > Signed-off-by: Janosch Frank <fran...@linux.ibm.com> > --- > pc-bios/s390-ccw/start.S | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/pc-bios/s390-ccw/start.S b/pc-bios/s390-ccw/start.S > index 01c4c21b26..b0fcb918cc 100644 > --- a/pc-bios/s390-ccw/start.S > +++ b/pc-bios/s390-ccw/start.S > @@ -64,7 +64,10 @@ consume_sclp_int: > stctg %c0,%c0,0(%r15) > oi 6(%r15),0x2 > lctlg %c0,%c0,0(%r15) > - /* prepare external call handler */ > + /* > + * Prepare external new PSW as it might have been overwritten > + * by a loaded blob > + */ > larl %r1, external_new_code > stg %r1, 0x1b8 > larl %r1, external_new_mask > @@ -84,7 +87,10 @@ consume_io_int: > stctg %c6,%c6,0(%r15) > oi 4(%r15), 0xff > lctlg %c6,%c6,0(%r15) > - /* prepare i/o call handler */ > + /* > + * Prepare i/o new PSW as it might have been overwritten > + * by a loaded blob > + */ > larl %r1, io_new_code > stg %r1, 0x1f8 > larl %r1, io_new_mask >
Reviewed-by: Thomas Huth <th...@redhat.com>