• Y
    PCI/MSI: Add pci_msi_ignore_mask to prevent writes to MSI/MSI-X Mask Bits · 38737d82
    Yijing Wang 提交于
    MSI-X vector Mask Bits are in MSI-X Tables in PCI memory space.  Xen PV
    guests can't write to those tables.  MSI vector Mask Bits are in PCI
    configuration space.  Xen PV guests can write to config space, but those
    writes are ignored.
    
    Commit 0e4ccb15 ("PCI: Add x86_msi.msi_mask_irq() and
    msix_mask_irq()") added a way to override default_mask_msi_irqs() and
    default_mask_msix_irqs() so they can be no-ops in Xen guests, but this is
    more complicated than necessary.
    
    Add "pci_msi_ignore_mask" in the core PCI MSI code.  If set,
    default_mask_msi_irqs() and default_mask_msix_irqs() return without doing
    anything.  This is less flexible, but much simpler.
    
    [bhelgaas: changelog]
    Signed-off-by: NYijing Wang <wangyijing@huawei.com>
    Signed-off-by: NBjorn Helgaas <bhelgaas@google.com>
    Reviewed-by: NDavid Vrabel <david.vrabel@citrix.com>
    CC: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
    CC: xen-devel@lists.xenproject.org
    38737d82
xen.c 15.1 KB