Skip to content

Commit

Permalink
hw/virtio-pci Added counter for pcie capabilities offsets.
Browse files Browse the repository at this point in the history
Removed hardcoded offset for ats. Added cap offset counter
for future capabilities like AER.

Signed-off-by: Andrew Melnychenko <andrew@daynix.com>
Message-Id: <20201203110713.204938-2-andrew@daynix.com>
Reviewed-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
  • Loading branch information
AndrewAtDaynix authored and mstsirkin committed Dec 9, 2020
1 parent 8ad4e45 commit 06e9744
Showing 1 changed file with 3 additions and 1 deletion.
4 changes: 3 additions & 1 deletion hw/virtio/virtio-pci.c
Expand Up @@ -1798,6 +1798,7 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Error **errp)

if (pcie_port && pci_is_express(pci_dev)) {
int pos;
uint16_t last_pcie_cap_offset = PCI_CONFIG_SPACE_SIZE;

pos = pcie_endpoint_cap_init(pci_dev, 0);
assert(pos > 0);
Expand Down Expand Up @@ -1833,7 +1834,8 @@ static void virtio_pci_realize(PCIDevice *pci_dev, Error **errp)
}

if (proxy->flags & VIRTIO_PCI_FLAG_ATS) {
pcie_ats_init(pci_dev, 256);
pcie_ats_init(pci_dev, last_pcie_cap_offset);
last_pcie_cap_offset += PCI_EXT_CAP_ATS_SIZEOF;
}

if (proxy->flags & VIRTIO_PCI_FLAG_INIT_FLR) {
Expand Down

0 comments on commit 06e9744

Please sign in to comment.