summaryrefslogtreecommitdiffstats
path: root/include/sysemu
diff options
context:
space:
mode:
authorPaolo Bonzini2017-02-08 12:48:54 +0100
committerPaolo Bonzini2017-03-03 16:40:02 +0100
commit2ae41db262e02743b27719fe085e749d957613c0 (patch)
tree2f250d65d9a20985f56a574f7c5f4ee81e48437b /include/sysemu
parentKVM: remove kvm_arch_on_sigbus (diff)
downloadqemu-2ae41db262e02743b27719fe085e749d957613c0.tar.gz
qemu-2ae41db262e02743b27719fe085e749d957613c0.tar.xz
qemu-2ae41db262e02743b27719fe085e749d957613c0.zip
KVM: do not use sigtimedwait to catch SIGBUS
Call kvm_on_sigbus_vcpu asynchronously from the VCPU thread. Information for the SIGBUS can be stored in thread-local variables and processed later in kvm_cpu_exec. Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'include/sysemu')
-rw-r--r--include/sysemu/kvm.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/sysemu/kvm.h b/include/sysemu/kvm.h
index 6ecb61cdef..a1b019da6f 100644
--- a/include/sysemu/kvm.h
+++ b/include/sysemu/kvm.h
@@ -357,7 +357,10 @@ bool kvm_vcpu_id_is_valid(int vcpu_id);
/* Returns VCPU ID to be used on KVM_CREATE_VCPU ioctl() */
unsigned long kvm_arch_vcpu_id(CPUState *cpu);
-int kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
+#ifdef TARGET_I386
+#define KVM_HAVE_MCE_INJECTION 1
+void kvm_arch_on_sigbus_vcpu(CPUState *cpu, int code, void *addr);
+#endif
void kvm_arch_init_irq_routing(KVMState *s);