Commit 6f725c139ae975646c44ace77bf796318a5783da

Authored by Glauber Costa
Committed by Anthony Liguori
1 parent 609f2fab

provide tests for pit in kernel and irqchip in kernel

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>
Showing 2 changed files with 16 additions and 0 deletions
kvm-all.c
... ... @@ -63,6 +63,8 @@ struct KVMState
63 63 #ifdef KVM_CAP_SET_GUEST_DEBUG
64 64 struct kvm_sw_breakpoint_head kvm_sw_breakpoints;
65 65 #endif
  66 + int irqchip_in_kernel;
  67 + int pit_in_kernel;
66 68 };
67 69  
68 70 static KVMState *kvm_state;
... ... @@ -162,6 +164,17 @@ static void on_vcpu(CPUState *env, void (*func)(void *data), void *data)
162 164 abort();
163 165 }
164 166  
  167 +int kvm_irqchip_in_kernel(void)
  168 +{
  169 + return kvm_state->irqchip_in_kernel;
  170 +}
  171 +
  172 +int kvm_pit_in_kernel(void)
  173 +{
  174 + return kvm_state->pit_in_kernel;
  175 +}
  176 +
  177 +
165 178 int kvm_init_vcpu(CPUState *env)
166 179 {
167 180 KVMState *s = kvm_state;
... ...
... ... @@ -60,6 +60,9 @@ int kvm_remove_breakpoint(CPUState *current_env, target_ulong addr,
60 60 void kvm_remove_all_breakpoints(CPUState *current_env);
61 61 int kvm_update_guest_debug(CPUState *env, unsigned long reinject_trap);
62 62  
  63 +int kvm_pit_in_kernel(void);
  64 +int kvm_irqchip_in_kernel(void);
  65 +
63 66 /* internal API */
64 67  
65 68 struct KVMState;
... ...