diff options
author | David Hildenbrand <david@redhat.com> | 2017-09-28 22:37:04 +0200 |
---|---|---|
committer | Cornelia Huck <cohuck@redhat.com> | 2017-10-20 13:32:10 +0200 |
commit | 11b0079cec6b1f46ba76cca634051bee4474d323 (patch) | |
tree | f4e730ce7452dcd9772b35c30e8d40f21b6d620b /target/s390x/translate.c | |
parent | b376a5545a73c4ae5d19741afa7b2074d31a3a3f (diff) |
s390x/tcg: switch to new SIGP handling code
This effectively enables experimental SMP support. Floating interrupts are
still a mess, so allow it but print a big warning. There also seems
to be a problem with CPU hotplug (after the main loop started).
Signed-off-by: David Hildenbrand <david@redhat.com>
Message-Id: <20170928203708.9376-27-david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
[CH: changed insn-data.def as pointed out by Richard]
Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/translate.c')
-rw-r--r-- | target/s390x/translate.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/target/s390x/translate.c b/target/s390x/translate.c index 8fa5772185..22e0f42a2a 100644 --- a/target/s390x/translate.c +++ b/target/s390x/translate.c @@ -3710,11 +3710,12 @@ static ExitStatus op_servc(DisasContext *s, DisasOps *o) static ExitStatus op_sigp(DisasContext *s, DisasOps *o) { TCGv_i32 r1 = tcg_const_i32(get_field(s->fields, r1)); + TCGv_i32 r3 = tcg_const_i32(get_field(s->fields, r3)); check_privileged(s); - potential_page_fault(s); - gen_helper_sigp(cc_op, cpu_env, o->in2, r1, o->in1); + gen_helper_sigp(cc_op, cpu_env, o->in2, r1, r3); set_cc_static(s); tcg_temp_free_i32(r1); + tcg_temp_free_i32(r3); return NO_EXIT; } #endif |