On 24/06/2020 09.52, 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.
Hmm, the jump_to_IPL_code() also sets the 64-bit addressing bits ... but
jump_to_low_kernel() has some logic that tests for the bits before that
function is called:
/* Trying to get PSW at zero address */
if (*((uint64_t *)0) & RESET_PSW_MASK) {
jump_to_IPL_code((*((uint64_t *)0)) & 0x7fffffff);
}
Could it be that the code in dasd-ipl.c has been written with that
if-statement in mind?