Report the 'express endpoint' capability if on a PCIE bus.
Signed-off-by: Shmulik Ladkani <[email protected]>
---
hw/net/vmxnet3.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/hw/net/vmxnet3.c b/hw/net/vmxnet3.c
index 5e3a233..ed286cc 100644
--- a/hw/net/vmxnet3.c
+++ b/hw/net/vmxnet3.c
@@ -2233,6 +2233,10 @@ static void vmxnet3_pci_realize(PCIDevice *pci_dev,
Error **errp)
VMW_WRPRN("Failed to initialize MSI, configuration is inconsistent.");
}
+ if (pci_bus_is_express(pci_dev->bus)) {
+ pcie_endpoint_cap_init(pci_dev, 0);
+ }
+
vmxnet3_net_init(s);
register_savevm(dev, "vmxnet3-msix", -1, 1,
@@ -2568,6 +2572,7 @@ static void vmxnet3_class_init(ObjectClass *class, void
*data)
c->class_id = PCI_CLASS_NETWORK_ETHERNET;
c->subsystem_vendor_id = PCI_VENDOR_ID_VMWARE;
c->subsystem_id = PCI_DEVICE_ID_VMWARE_VMXNET3;
+ c->is_express = 1;
dc->desc = "VMWare Paravirtualized Ethernet v3";
dc->reset = vmxnet3_qdev_reset;
dc->vmsd = &vmstate_vmxnet3;
--
1.9.1