pc-bios: s390x: Use reset PSW if avaliable

If a blob provides a reset PSW then we should use it instead of
branching to the PSW address and using our own mask.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Thomas Huth <thuth@redhat.com>
Message-Id: <20201006094249.50640-4-frankja@linux.ibm.com>
[thuth: Use Elvis operator to shorten long line]
Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
Janosch Frank 2020-10-06 05:42:48 -04:00 committed by Thomas Huth
parent 26e0b96fa9
commit 42ab98e7d7
3 changed files with 24 additions and 9 deletions

View file

@ -273,7 +273,8 @@ static void run_eckd_boot_script(block_number_t bmt_block_nr,
IPL_assert(bms->entry[i].type == BOOT_SCRIPT_EXEC,
"Unknown script entry type");
jump_to_IPL_code(bms->entry[i].address.load_address); /* no return */
write_reset_psw(bms->entry[i].address.load_address); /* no return */
jump_to_IPL_code(0); /* no return */
}
static void ipl_eckd_cdl(void)
@ -527,7 +528,8 @@ static void zipl_run(ScsiBlockPtr *pte)
IPL_assert(entry->component_type == ZIPL_COMP_ENTRY_EXEC, "No EXEC entry");
/* should not return */
jump_to_IPL_code(entry->compdat.load_psw & PSW_MASK_SHORT_ADDR);
write_reset_psw(entry->compdat.load_psw);
jump_to_IPL_code(0);
}
static void ipl_scsi(void)