@@ -1 +1,2 @@
-obj-y += vpci.o header.o msi.o msix.o
+obj-y += vpci.o header.o
+obj-$(CONFIG_HAS_PCI_MSI) += msi.o msix.o
@@ -96,8 +96,10 @@ static void modify_decoding(const struct pci_dev *pdev, uint16_t cmd,
* FIXME: punching holes after the p2m has been set up might be racy for
* DomU usage, needs to be revisited.
*/
+#ifdef CONFIG_HAS_PCI_MSI
if ( map && !rom_only && vpci_make_msix_hole(pdev) )
return;
+#endif
for ( i = 0; i < ARRAY_SIZE(header->bars); i++ )
{
@@ -26,6 +26,14 @@ struct arch_pci_dev {
struct device dev;
};
+/* Arch-specific MSI data for vPCI. */
+struct vpci_arch_msi {
+};
+
+/* Arch-specific MSI-X entry data for vPCI. */
+struct vpci_arch_msix_entry {
+};
+
/*
* struct to hold the mappings of a config space window. This
* is expected to be used as sysdata for PCI controllers that