aboutsummaryrefslogtreecommitdiff
path: root/target/s390x/interrupt.c
diff options
context:
space:
mode:
authorDavid Hildenbrand <david@redhat.com>2017-09-28 22:36:50 +0200
committerCornelia Huck <cohuck@redhat.com>2017-10-20 13:32:10 +0200
commiteabcea18f835178c1f8f088f88bf00e379f09438 (patch)
tree68270834853f59a03261da2b95a159ea56fe4592 /target/s390x/interrupt.c
parent27292ff18d0b398ed6ea6db22e1720aebcbaa991 (diff)
downloadqemu-eabcea18f835178c1f8f088f88bf00e379f09438.zip
qemu-eabcea18f835178c1f8f088f88bf00e379f09438.tar.gz
qemu-eabcea18f835178c1f8f088f88bf00e379f09438.tar.bz2
s390x/kvm: generalize SIGP stop and restart interrupt injection
Preparation for factoring it out into !kvm code. Reviewed-by: Richard Henderson <richard.henderson@linaro.org> Signed-off-by: David Hildenbrand <david@redhat.com> Message-Id: <20170928203708.9376-13-david@redhat.com> Signed-off-by: Cornelia Huck <cohuck@redhat.com>
Diffstat (limited to 'target/s390x/interrupt.c')
-rw-r--r--target/s390x/interrupt.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/target/s390x/interrupt.c b/target/s390x/interrupt.c
index 83a0f19..462d45e 100644
--- a/target/s390x/interrupt.c
+++ b/target/s390x/interrupt.c
@@ -107,6 +107,26 @@ int cpu_inject_external_call(S390CPU *cpu, uint16_t src_cpu_addr)
return 0;
}
+void cpu_inject_restart(S390CPU *cpu)
+{
+ if (kvm_enabled()) {
+ kvm_s390_restart_interrupt(cpu);
+ return;
+ }
+ /* FIXME TCG */
+ g_assert_not_reached();
+}
+
+void cpu_inject_stop(S390CPU *cpu)
+{
+ if (kvm_enabled()) {
+ kvm_s390_stop_interrupt(cpu);
+ return;
+ }
+ /* FIXME TCG */
+ g_assert_not_reached();
+}
+
static void cpu_inject_io(S390CPU *cpu, uint16_t subchannel_id,
uint16_t subchannel_number,
uint32_t io_int_parm, uint32_t io_int_word)