[PATCH] kvm-ia64 irq assignment 1/2 kernel

Xu, Anthony
2008-06-06T15:59:03Z

In kvm-ia64, we use the same guest firmware (GFW)as in Xen,
GFW uses PRT to present PCI interrupt routing, all PCI devices'
interrupt pins
connect to IOAPIC, which doesn't match with kvm-ia64 Qemu PCI interrupt
routing.

This patch modify Qemu PCI interupt routing code to match with GFW,
Then PCI devices in qemu can work in kvm-ia64, for exmaple, NIC

Signed-off-by: Anthony Xu < anthony.xu@intel.com >

diff --git a/virt/kvm/ioapic.c b/virt/kvm/ioapic.c
index 99a1736..80c116c 100644
--- a/virt/kvm/ioapic.c
+++ b/virt/kvm/ioapic.c
@@ -272,7 +272,11 @@ void kvm_ioapic_set_irq(struct kvm_ioapic *ioapic,
int irq, int level)

if (irq >= 0 && irq < IOAPIC_NUM_PINS) {
entry = ioapic->redirtbl[irq];
- level ^= entry.fields.polarity;
+// polarity of all devices in qemu is active high
+// regardless of ioapic setting
+
+// level ^= entry.fields.polarity;
+
if (!level)
ioapic->irr &= ~mask;
else {