Amit Shah wrote:
+static irqreturn_t
+kvm_pci_pt_dev_intr(int irq, void *dev_id)
+{
+ struct kvm_pci_pt_dev_list *match;
+ struct kvm *kvm = (struct kvm *) dev_id;
+
+ if (!test_bit(irq, pt_irq_handled))
+ return IRQ_NONE;
+
+ if (test_bit(irq,
On Friday 02 May 2008 16:05:17 Avi Kivity wrote:
Amit Shah wrote:
+static irqreturn_t
+kvm_pci_pt_dev_intr(int irq, void *dev_id)
+{
+ struct kvm_pci_pt_dev_list *match;
+ struct kvm *kvm = (struct kvm *) dev_id;
+
+ if (!test_bit(irq, pt_irq_handled))
+ return IRQ_NONE;
Amit Shah wrote:
Seems to me the only choice here is to mask the interrupt at the ioapic
level, wait until the guest acks the interrupt, then unmask the interrupt.
OK; will that create problems if the line is shared?
It will not work with shared interrupts (unless all users of the
* On Sunday 13 Apr 2008 14:06:27 Avi Kivity wrote:
Amit Shah wrote:
Passthrough devices are host machine PCI devices which have
been handed off to the guest. Handle interrupts from these
devices and route them to the appropriate guest irq lines.
The userspace provides us with the
Amit Shah wrote:
Passthrough devices are host machine PCI devices which have
been handed off to the guest. Handle interrupts from these
devices and route them to the appropriate guest irq lines.
The userspace provides us with the necessary information
via the ioctls.
The guest IRQ numbers
Passthrough devices are host machine PCI devices which have
been handed off to the guest. Handle interrupts from these
devices and route them to the appropriate guest irq lines.
The userspace provides us with the necessary information
via the ioctls.
The guest IRQ numbers can change dynamically,