summaryrefslogtreecommitdiff
path: root/target-s390x/cpu.h
diff options
context:
space:
mode:
authorCornelia Huck <cornelia.huck@de.ibm.com>2013-01-24 02:28:07 +0000
committerAlexander Graf <agraf@suse.de>2013-01-29 21:50:04 +0100
commit09b998782978f95f626236b39f0be99c02a014a9 (patch)
tree9c169845d6fa60c5795cb1fb6659f680d7b5418c /target-s390x/cpu.h
parentdf1fe5bb49241baddf1f319a6ecbe0885e875afa (diff)
downloadqemu-09b998782978f95f626236b39f0be99c02a014a9.tar.gz
s390: Wire up channel I/O in kvm.
Trigger the code for our virtual css in case of instruction intercepts for I/O instructions. Handle the tsch exit for the subchannel-related part of tsch. Signed-off-by: Cornelia Huck <cornelia.huck@de.ibm.com> Signed-off-by: Alexander Graf <agraf@suse.de>
Diffstat (limited to 'target-s390x/cpu.h')
-rw-r--r--target-s390x/cpu.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/target-s390x/cpu.h b/target-s390x/cpu.h
index 778065c0bc..ce12fa46bc 100644
--- a/target-s390x/cpu.h
+++ b/target-s390x/cpu.h
@@ -1058,6 +1058,13 @@ void QEMU_NORETURN runtime_exception(CPUS390XState *env, int excp,
#include <sysemu/kvm.h>
+#ifdef CONFIG_KVM
+void kvm_s390_io_interrupt(S390CPU *cpu, uint16_t subchannel_id,
+ uint16_t subchannel_nr, uint32_t io_int_parm,
+ uint32_t io_int_word);
+void kvm_s390_crw_mchk(S390CPU *cpu);
+void kvm_s390_enable_css_support(S390CPU *cpu);
+#else
static inline void kvm_s390_io_interrupt(S390CPU *cpu,
uint16_t subchannel_id,
uint16_t subchannel_nr,
@@ -1068,6 +1075,10 @@ static inline void kvm_s390_io_interrupt(S390CPU *cpu,
static inline void kvm_s390_crw_mchk(S390CPU *cpu)
{
}
+static inline void kvm_s390_enable_css_support(S390CPU *cpu)
+{
+}
+#endif
static inline void s390_io_interrupt(S390CPU *cpu,
uint16_t subchannel_id,