provide tests for pit in kernel and irqchip in kernel
authorGlauber Costa <glommer@redhat.com>
Tue, 21 Jul 2009 15:26:58 +0000 (12:26 -0300)
committerAnthony Liguori <aliguori@us.ibm.com>
Wed, 22 Jul 2009 15:58:49 +0000 (10:58 -0500)
KVM can have an in-kernel pit or irqchip. While we don't implement it
yet, having a way for test for it (that always returns zero) will allow us
to reuse code in qemu-kvm that tests for it.

Signed-off-by: Glauber Costa <glommer@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
kvm-all.c
kvm.h

index 7b34c8d6cdfecac812c3cc76d0fac5acf1cd6900..824bb4ccb519d95fa2ee964dec167a79e182bb46 100644 (file)
--- a/kvm-all.c
+++ b/kvm-all.c
@@ -63,6 +63,8 @@ struct KVMState
 #ifdef KVM_CAP_SET_GUEST_DEBUG
     struct kvm_sw_breakpoint_head kvm_sw_breakpoints;
 #endif
+    int irqchip_in_kernel;
+    int pit_in_kernel;
 };
 
 static KVMState *kvm_state;
@@ -162,6 +164,17 @@ static void on_vcpu(CPUState *env, void (*func)(void *data), void *data)
     abort();
 }
 
+int kvm_irqchip_in_kernel(void)
+{
+    return kvm_state->irqchip_in_kernel;
+}
+
+int kvm_pit_in_kernel(void)
+{
+    return kvm_state->pit_in_kernel;
+}
+
+
 int kvm_init_vcpu(CPUState *env)
 {
     KVMState *s = kvm_state;
diff --git a/kvm.h b/kvm.h
index 96b4d726093d87a11395a6bc6a9e4b487f8f635d..0d4dd53ef780e400b2e9ce2043d9700d18316de2 100644 (file)
--- a/kvm.h
+++ b/kvm.h
@@ -60,6 +60,9 @@ int kvm_remove_breakpoint(CPUState *current_env, target_ulong addr,
 void kvm_remove_all_breakpoints(CPUState *current_env);
 int kvm_update_guest_debug(CPUState *env, unsigned long reinject_trap);
 
+int kvm_pit_in_kernel(void);
+int kvm_irqchip_in_kernel(void);
+
 /* internal API */
 
 struct KVMState;