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/
Home Products Support Community News


[Xen-devel] [PATCH] fix PV on HVM on xen/next-2.6.32

To: Jeremy Fitzhardinge <jeremy@xxxxxxxx>
Subject: [Xen-devel] [PATCH] fix PV on HVM on xen/next-2.6.32
From: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>
Date: Wed, 14 Jul 2010 14:16:41 +0100
Cc: xen-devel@xxxxxxxxxxxxxxxxxxx
Delivery-date: Wed, 14 Jul 2010 06:17:12 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
User-agent: Alpine 2.00 (DEB 1167 2008-08-23)
Hi Jeremy,
this patch makes PV on HVM work on xen/next-2.6.32: gsi and msi
remapping is not supported when running as HVM guests yet.

I am working on irq remapping for HVM guests and I have a prototype
working already but I think this simple fix is worth applying now anyway
to fix HVM guests with this kernel as soon as possible.

Signed-off-by: Stefano Stabellini <stefano.stabellini@xxxxxxxxxxxxx>


diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 17a44e1..b896649 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -3505,7 +3505,7 @@ int arch_setup_msi_irqs(struct pci_dev *dev, int nvec, 
int type)
        if (type == PCI_CAP_ID_MSI && nvec > 1)
                return 1;
-       if (xen_domain())
+       if (xen_pv_domain())
                return xen_pci_setup_msi_irqs(dev, nvec, type);
        node = dev_to_node(&dev->dev);
diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c
index 3def132..8ca31f1 100644
--- a/arch/x86/xen/pci.c
+++ b/arch/x86/xen/pci.c
@@ -23,7 +23,7 @@ int xen_register_pirq(u32 gsi, int triggering)
        int shareable = 0;
        char *name;
-       if (!xen_domain())
+       if (!xen_pv_domain())
                return -1;
        if (triggering == ACPI_EDGE_SENSITIVE) {
@@ -61,7 +61,7 @@ int xen_register_gsi(u32 gsi, int triggering, int polarity)
        int rc, irq;
        struct physdev_setup_gsi setup_gsi;
-       if (!xen_domain())
+       if (!xen_pv_domain())
                return -1;
        printk(KERN_DEBUG "xen: registering gsi %u triggering %d polarity %d\n",

Xen-devel mailing list

<Prev in Thread] Current Thread [Next in Thread>