On 25/06/2020 12.57, Thomas Huth wrote:
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?

... in that case, the code in dasd-ipl.c should maybe rather call jump_to_IPL_code((*((uint64_t *)0)) & 0x7fffffff) directly instead of going through jump_to_low_kernel(), I guess.

Jason, do you remember the intention here?

 Thomas


Reply via email to