[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
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |