[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] [PATCH] amd iommu: Dump flags of IO page faults



>>> On 07.09.12 at 12:01, Sander Eikelenboom <linux@xxxxxxxxxxxxxx> wrote:
>>> 4.1:    Capabilities: [54] MSI: Enable- Count=1/1 Maskable- 64bit+
> 
>> Eh... That is interesting. So which dom0 are you using?  There is a c/s 
>> in 4.2 to prevent recent dom0 to disable iommu interrupt (changeset 
>> 25492:61844569a432) Otherwise, iommu cannot send any events including IO 
>> PAGE faults. You could try to revert dom0 to an old version like 2.6 
>> pv_ops to see if you really have no io page faults on 4.1
> 
> Ok i will give that a try, only dom0 will have to be a 2.6 pv_ops i assume ?

You could also drop the patch below into a kernel that has
the problematic change. Will require

#define PCI_CLASS_SYSTEM_IOMMU          0x0806

to be added at a suitable spot in include/linux/pci_ids.h.

Jan

--- head.orig/drivers/pci/msi.c
+++ head/drivers/pci/msi.c
@@ -20,6 +20,7 @@
 #include <linux/errno.h>
 #include <linux/io.h>
 #include <linux/slab.h>
+#include <xen/xen.h>
 
 #include "pci.h"
 #include "msi.h"
@@ -1022,7 +1023,13 @@ void pci_msi_init_pci_dev(struct pci_dev
        /* Disable the msi hardware to avoid screaming interrupts
         * during boot.  This is the power on reset default so
         * usually this should be a noop.
+        * But on a Xen host don't do this for IOMMUs which the hypervisor
+        * is in control of (and hence has already enabled on purpose).
         */
+       if (xen_initial_domain()
+           && (dev->class >> 8) == PCI_CLASS_SYSTEM_IOMMU
+           && dev->vendor == PCI_VENDOR_ID_AMD)
+               return;
        pos = pci_find_capability(dev, PCI_CAP_ID_MSI);
        if (pos)
                msi_set_enable(dev, pos, 0);



_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.