mirror of https://github.com/xqemu/xqemu.git
kvm: x86: q35: Add support for -machine kernel_irqchip=split for q35
The split IRQ chip mode via KVM_CAP_SPLIT_IRQCHIP was introduced with commit
15eafc2e60
but was broken for q35. This patch makes kernel_irqchip=split
functional for q35.
Signed-off-by: Rita Sinha <rita.sinha89@gmail.com>
Message-Id: <1457378525-16455-1-git-send-email-rita.sinha89@gmail.com>
Reviewed-by: Jan Kiszka <jan.kiszka@siemens.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
parent
a58a4cb187
commit
b094f2e015
|
@ -39,6 +39,7 @@
|
||||||
#include "hw/kvm/clock.h"
|
#include "hw/kvm/clock.h"
|
||||||
#include "hw/pci-host/q35.h"
|
#include "hw/pci-host/q35.h"
|
||||||
#include "exec/address-spaces.h"
|
#include "exec/address-spaces.h"
|
||||||
|
#include "hw/i386/pc.h"
|
||||||
#include "hw/i386/ich9.h"
|
#include "hw/i386/ich9.h"
|
||||||
#include "hw/smbios/smbios.h"
|
#include "hw/smbios/smbios.h"
|
||||||
#include "hw/ide/pci.h"
|
#include "hw/ide/pci.h"
|
||||||
|
@ -146,7 +147,7 @@ static void pc_q35_init(MachineState *machine)
|
||||||
|
|
||||||
/* irq lines */
|
/* irq lines */
|
||||||
gsi_state = g_malloc0(sizeof(*gsi_state));
|
gsi_state = g_malloc0(sizeof(*gsi_state));
|
||||||
if (kvm_irqchip_in_kernel()) {
|
if (kvm_ioapic_in_kernel()) {
|
||||||
kvm_pc_setup_irq_routing(pcmc->pci_enabled);
|
kvm_pc_setup_irq_routing(pcmc->pci_enabled);
|
||||||
gsi = qemu_allocate_irqs(kvm_pc_gsi_handler, gsi_state,
|
gsi = qemu_allocate_irqs(kvm_pc_gsi_handler, gsi_state,
|
||||||
GSI_NUM_PINS);
|
GSI_NUM_PINS);
|
||||||
|
@ -193,7 +194,7 @@ static void pc_q35_init(MachineState *machine)
|
||||||
/*end early*/
|
/*end early*/
|
||||||
isa_bus_irqs(isa_bus, gsi);
|
isa_bus_irqs(isa_bus, gsi);
|
||||||
|
|
||||||
if (kvm_irqchip_in_kernel()) {
|
if (kvm_pic_in_kernel()) {
|
||||||
i8259 = kvm_i8259_init(isa_bus);
|
i8259 = kvm_i8259_init(isa_bus);
|
||||||
} else if (xen_enabled()) {
|
} else if (xen_enabled()) {
|
||||||
i8259 = xen_interrupt_controller_init();
|
i8259 = xen_interrupt_controller_init();
|
||||||
|
|
Loading…
Reference in New Issue