WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-changelog

[Xen-changelog] [linux-2.6.18-xen] linux: fix IRQ handling for PV passth

To: xen-changelog@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-changelog] [linux-2.6.18-xen] linux: fix IRQ handling for PV passthrough
From: "Xen patchbot-linux-2.6.18-xen" <patchbot-linux-2.6.18-xen@xxxxxxxxxxxxxxxxxxx>
Date: Wed, 04 Feb 2009 14:05:05 -0800
Delivery-date: Wed, 04 Feb 2009 14:04:45 -0800
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-changelog-request@lists.xensource.com?subject=help>
List-id: BK change log <xen-changelog.lists.xensource.com>
List-post: <mailto:xen-changelog@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-changelog>, <mailto:xen-changelog-request@lists.xensource.com?subject=unsubscribe>
Reply-to: xen-devel@xxxxxxxxxxxxxxxxxxx
Sender: xen-changelog-bounces@xxxxxxxxxxxxxxxxxxx
# HG changeset patch
# User Keir Fraser <keir.fraser@xxxxxxxxxx>
# Date 1233750360 0
# Node ID 4f998fd102e24daa471482730d1a3ff68faa1ad6
# Parent  77e3b255381e02021d460d535e44b1040a180773
linux: fix IRQ handling for PV passthrough

For DomU-s registering PIRQ-s must be done separately, as they don't
use the IO-APIC code.

Additionally make sure the IRQ chip doesn't get set twice (and the
event channel information overwritten) for an IRQ possibly in use by
more than one device.

Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
---
 arch/i386/pci/pcifront.c  |    2 ++
 drivers/xen/core/evtchn.c |    2 +-
 2 files changed, 3 insertions(+), 1 deletion(-)

diff -r 77e3b255381e -r 4f998fd102e2 arch/i386/pci/pcifront.c
--- a/arch/i386/pci/pcifront.c  Wed Feb 04 12:25:09 2009 +0000
+++ b/arch/i386/pci/pcifront.c  Wed Feb 04 12:26:00 2009 +0000
@@ -8,12 +8,14 @@
 #include <linux/init.h>
 #include <linux/pci.h>
 #include <asm/acpi.h>
+#include <xen/evtchn.h>
 #include "pci.h"
 
 static int pcifront_enable_irq(struct pci_dev *dev)
 {
        u8 irq;
        pci_read_config_byte(dev, PCI_INTERRUPT_LINE, &irq);
+       evtchn_register_pirq(irq);
        dev->irq = irq;
 
        return 0;
diff -r 77e3b255381e -r 4f998fd102e2 drivers/xen/core/evtchn.c
--- a/drivers/xen/core/evtchn.c Wed Feb 04 12:25:09 2009 +0000
+++ b/drivers/xen/core/evtchn.c Wed Feb 04 12:26:00 2009 +0000
@@ -1078,7 +1078,7 @@ void evtchn_register_pirq(int irq)
 void evtchn_register_pirq(int irq)
 {
        BUG_ON(irq < PIRQ_BASE || irq - PIRQ_BASE > NR_PIRQS);
-       if (identity_mapped_irq(irq))
+       if (identity_mapped_irq(irq) || type_from_irq(irq) != IRQT_UNBOUND)
                return;
        irq_info[irq] = mk_irq_info(IRQT_PIRQ, irq, 0);
        irq_desc[irq].chip = &pirq_type;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog

<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-changelog] [linux-2.6.18-xen] linux: fix IRQ handling for PV passthrough, Xen patchbot-linux-2.6.18-xen <=