aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/excp_helper.c
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2017-11-30 17:27:29 +0100
committerCornelia Huck <cohuck@redhat.com>2017-12-14 17:56:54 +0100
commit8d2f850a5ab7579a852f23b28273940a47dfd7ff (patch)
treeee84f4d36dd39e1c75bf3c6758030e7fac8485d8 /target/s390x/excp_helper.c
parent9879003bb82c1351fa84feb81aa1bbcf7442ca84 (diff)
downloadqemu-8d2f850a5ab7579a852f23b28273940a47dfd7ff.zip
qemu-8d2f850a5ab7579a852f23b28273940a47dfd7ff.tar.gz
qemu-8d2f850a5ab7579a852f23b28273940a47dfd7ff.tar.bz2
s390x/tcg: introduce and use s390_program_interrupt()
Allows to easily convert more callers of program_interrupt() and to easily introduce new exceptions without forgetting about the cpu state reset. Use s390_program_interrupt() in places where we already had the same pattern. We will later get rid of program_interrupt(). RA != 0 checks are already done behind the scenes. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Reviewed-by: Thomas Huth <thuth@redhat.com> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20171130162744.25442-2-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/excp_helper.c')
-rw-r--r--target/s390x/excp_helper.c5
1 files changed, 1 insertions, 4 deletions
diff --git a/target/s390x/excp_helper.c b/target/s390x/excp_helper.c
index e04b670..d831537 100644
--- a/target/s390x/excp_helper.c
+++ b/target/s390x/excp_helper.c
@@ -554,10 +554,7 @@ void s390x_cpu_do_unaligned_access(CPUState *cs, vaddr addr,
S390CPU *cpu = S390_CPU(cs);
CPUS390XState *env = &cpu->env;
- if (retaddr) {
- cpu_restore_state(cs, retaddr);
- }
- program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO);
+ s390_program_interrupt(env, PGM_SPECIFICATION, ILEN_AUTO, retaddr);
}
#endif /* CONFIG_USER_ONLY */