Revision a39c1d47 hw/pc_piix.c
b/hw/pc_piix.c | ||
---|---|---|
69 | 69 |
for (i = 8; i < 16; ++i) { |
70 | 70 |
kvm_irqchip_add_route(s, i, KVM_IRQCHIP_PIC_SLAVE, i - 8); |
71 | 71 |
} |
72 |
if (pci_enabled) { |
|
73 |
for (i = 0; i < 24; ++i) { |
|
74 |
if (i == 0) { |
|
75 |
kvm_irqchip_add_route(s, i, KVM_IRQCHIP_IOAPIC, 2); |
|
76 |
} else if (i != 2) { |
|
77 |
kvm_irqchip_add_route(s, i, KVM_IRQCHIP_IOAPIC, i); |
|
78 |
} |
|
79 |
} |
|
80 |
} |
|
72 | 81 |
ret = kvm_irqchip_commit_routes(s); |
73 | 82 |
if (ret < 0) { |
74 | 83 |
hw_error("KVM IRQ routing setup failed"); |
... | ... | |
95 | 104 |
SysBusDevice *d; |
96 | 105 |
unsigned int i; |
97 | 106 |
|
98 |
dev = qdev_create(NULL, "ioapic"); |
|
107 |
if (kvm_enabled() && kvm_irqchip_in_kernel()) { |
|
108 |
dev = qdev_create(NULL, "kvm-ioapic"); |
|
109 |
} else { |
|
110 |
dev = qdev_create(NULL, "ioapic"); |
|
111 |
} |
|
99 | 112 |
qdev_init_nofail(dev); |
100 | 113 |
d = sysbus_from_qdev(dev); |
101 | 114 |
sysbus_mmio_map(d, 0, 0xfec00000); |
Also available in: Unified diff