aboutsummaryrefslogtreecommitdiff
path: root/kvm.h
diff options
context:
space:
mode:
authorMarcelo Tosatti <mtosatti@redhat.com>2010-02-17 20:14:42 -0200
committerAvi Kivity <avi@redhat.com>2010-02-22 10:58:33 +0200
commitcc84de9570ffe01a9c3c169bd62ab9586a9a080c (patch)
treeea13b44d105ea50dd1f85ccade0f851481a905e6 /kvm.h
parentfed6c3444c714e88eb84dae58fcde0182865db8f (diff)
downloadqemu-cc84de9570ffe01a9c3c169bd62ab9586a9a080c.zip
qemu-cc84de9570ffe01a9c3c169bd62ab9586a9a080c.tar.gz
qemu-cc84de9570ffe01a9c3c169bd62ab9586a9a080c.tar.bz2
kvm: consume internal signal with sigtimedwait
Change the way the internal qemu signal, used for communication between iothread and vcpus, is handled. Block and consume it with sigtimedwait on the outer vcpu loop, which allows more precise timing control. Change from standard signal (SIGUSR1) to real-time one, so multiple signals are not collapsed. Set the signal number on KVM's in-kernel allowed sigmask. Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com> Signed-off-by: Avi Kivity <avi@redhat.com>
Diffstat (limited to 'kvm.h')
-rw-r--r--kvm.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/kvm.h b/kvm.h
index e24bbde..9a9cdd5 100644
--- a/kvm.h
+++ b/kvm.h
@@ -53,6 +53,7 @@ int kvm_remove_breakpoint(CPUState *current_env, target_ulong addr,
target_ulong len, int type);
void kvm_remove_all_breakpoints(CPUState *current_env);
int kvm_update_guest_debug(CPUState *env, unsigned long reinject_trap);
+int kvm_set_signal_mask(CPUState *env, const sigset_t *sigset);
int kvm_pit_in_kernel(void);
int kvm_irqchip_in_kernel(void);