#ifdef KVM_CAP_SET_GUEST_DEBUG
struct kvm_sw_breakpoint_head kvm_sw_breakpoints;
#endif
- int irqchip_in_kernel;
int pit_in_kernel;
int xsave, xcrs;
int many_ioeventfds;
};
KVMState *kvm_state;
+bool kvm_kernel_irqchip;
static const KVMCapabilityInfo kvm_required_capabilites[] = {
KVM_CAP_INFO(USER_MEMORY),
kvm_arch_reset_vcpu(env);
}
-int kvm_irqchip_in_kernel(void)
-{
- return kvm_state->irqchip_in_kernel;
-}
-
int kvm_pit_in_kernel(void)
{
return kvm_state->pit_in_kernel;
struct kvm_irq_level event;
int ret;
- assert(s->irqchip_in_kernel);
+ assert(kvm_irqchip_in_kernel());
event.level = level;
event.irq = irq;
if (kvm_check_extension(s, KVM_CAP_IRQ_INJECT_STATUS)) {
s->irqchip_inject_ioctl = KVM_IRQ_LINE_STATUS;
}
- s->irqchip_in_kernel = 1;
+ kvm_kernel_irqchip = true;
kvm_init_irq_routing(s);
int kvm_allows_irq0_override(void)
{
- return !kvm_enabled() || !kvm_irqchip_in_kernel() || kvm_has_gsi_routing();
+ return !kvm_irqchip_in_kernel() || kvm_has_gsi_routing();
}
void kvm_setup_guest_memory(void *start, size_t size)