On 15/07/2020 11.40, Janosch Frank wrote: > jump_to_low_kernel() and the functions that it calls will already or > 64 bit addressing into the reset psw mask when executing > jump_to_IPL_2() after the diag308 subcode 1.
But there is also a check in jump_to_low_kernel that could be affected by your change: if (*((uint64_t *)0) & RESET_PSW_MASK) { jump_to_IPL_code((*((uint64_t *)0)) & PSW_MASK_SHORT_ADDR); } ... but I assume that there should not be any kernels out there in the wild which do not have these bits set, so I think your modifications here should be ok. Acked-by: Thomas Huth <th...@redhat.com> > The kernel proper is then branched to rather than doing a full PSW > change. > > Signed-off-by: Janosch Frank <fran...@linux.ibm.com> > --- > pc-bios/s390-ccw/dasd-ipl.c | 3 --- > 1 file changed, 3 deletions(-) > > diff --git a/pc-bios/s390-ccw/dasd-ipl.c b/pc-bios/s390-ccw/dasd-ipl.c > index 0fc879bb8e..e8f2846740 100644 > --- a/pc-bios/s390-ccw/dasd-ipl.c > +++ b/pc-bios/s390-ccw/dasd-ipl.c > @@ -206,7 +206,6 @@ static void run_ipl2(SubChannelId schid, uint16_t cutype, > uint32_t addr) > */ > void dasd_ipl(SubChannelId schid, uint16_t cutype) > { > - PSWLegacy *pswl = (PSWLegacy *) 0x00; > uint32_t ipl2_addr; > > /* Construct Read IPL CCW and run it to read IPL1 from boot disk */ > @@ -229,7 +228,5 @@ void dasd_ipl(SubChannelId schid, uint16_t cutype) > run_ipl2(schid, cutype, ipl2_addr); > > /* Transfer control to the guest operating system */ > - pswl->mask |= PSW_MASK_EAMODE; /* Force z-mode */ > - pswl->addr |= PSW_MASK_BAMODE; /* ... */ > jump_to_low_kernel(); > }