KVM: x86: Split the APIC from the rest of IRQCHIP.
First patch in a series which enables the relocation of the PIC/IOAPIC to userspace. Adds capability KVM_CAP_SPLIT_IRQCHIP; KVM_CAP_SPLIT_IRQCHIP enables the construction of LAPICs without the rest of the irqchip. Compile tested for x86. Signed-off-by: Steve Rutherford <srutherford@google.com> Suggested-by: Andrew Honig <ahonig@google.com> Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:

committed by
Paolo Bonzini

parent
4ca7dd8ce4
commit
49df6397ed
@@ -208,7 +208,7 @@ void kvm_free_irq_source_id(struct kvm *kvm, int irq_source_id)
|
||||
goto unlock;
|
||||
}
|
||||
clear_bit(irq_source_id, &kvm->arch.irq_sources_bitmap);
|
||||
if (!irqchip_in_kernel(kvm))
|
||||
if (!ioapic_in_kernel(kvm))
|
||||
goto unlock;
|
||||
|
||||
kvm_ioapic_clear_all(kvm->arch.vioapic, irq_source_id);
|
||||
@@ -328,3 +328,10 @@ int kvm_setup_default_irq_routing(struct kvm *kvm)
|
||||
return kvm_set_irq_routing(kvm, default_routing,
|
||||
ARRAY_SIZE(default_routing), 0);
|
||||
}
|
||||
|
||||
static const struct kvm_irq_routing_entry empty_routing[] = {};
|
||||
|
||||
int kvm_setup_empty_irq_routing(struct kvm *kvm)
|
||||
{
|
||||
return kvm_set_irq_routing(kvm, empty_routing, 0, 0);
|
||||
}
|
||||
|
Reference in New Issue
Block a user