mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-05 00:33:55 -06:00
target-s390x: PER: add Breaking-Event-Address register
This patch adds support for PER Breaking-Event-Address register. Like real hardware, it save the current PSW address when the PSW address is changed by an instruction. We have to take care of optimizations QEMU does, a branch to the next instruction is still a branch. This register is copied to low core memory when a program exception happens. Signed-off-by: Aurelien Jarno <aurelien@aurel32.net> Signed-off-by: Alexander Graf <agraf@suse.de>
This commit is contained in:
parent
83bb161299
commit
3da0ab3529
4 changed files with 37 additions and 11 deletions
|
@ -117,6 +117,9 @@ static void s390_cpu_initial_reset(CPUState *s)
|
|||
env->cregs[0] = CR0_RESET;
|
||||
env->cregs[14] = CR14_RESET;
|
||||
|
||||
/* architectured initial value for Breaking-Event-Address register */
|
||||
env->gbea = 1;
|
||||
|
||||
env->pfault_token = -1UL;
|
||||
env->ext_index = -1;
|
||||
for (i = 0; i < ARRAY_SIZE(env->io_index); i++) {
|
||||
|
@ -152,6 +155,9 @@ static void s390_cpu_full_reset(CPUState *s)
|
|||
env->cregs[0] = CR0_RESET;
|
||||
env->cregs[14] = CR14_RESET;
|
||||
|
||||
/* architectured initial value for Breaking-Event-Address register */
|
||||
env->gbea = 1;
|
||||
|
||||
env->pfault_token = -1UL;
|
||||
env->ext_index = -1;
|
||||
for (i = 0; i < ARRAY_SIZE(env->io_index); i++) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue