summaryrefslogtreecommitdiffstats
path: root/include/hw
diff options
context:
space:
mode:
authorMarcel Apfelbaum2017-02-20 21:43:12 +0100
committerMichael S. Tsirkin2017-03-16 00:46:41 +0100
commitd584f1b9ca7452ed8d6cd80f7fccd79d667ae49b (patch)
tree7bff296599edb06fae38918ee3bfaac35ed51b10 /include/hw
parenthw/virtio: fix error enabling flags in Device Control register (diff)
downloadqemu-d584f1b9ca7452ed8d6cd80f7fccd79d667ae49b.tar.gz
qemu-d584f1b9ca7452ed8d6cd80f7fccd79d667ae49b.tar.xz
qemu-d584f1b9ca7452ed8d6cd80f7fccd79d667ae49b.zip
hw/virtio: fix Link Control Register for PCI Express virtio devices
Make several Link Control Register flags writable to conform with the PCI Express spec. Signed-off-by: Marcel Apfelbaum <marcel@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'include/hw')
-rw-r--r--include/hw/compat.h4
-rw-r--r--include/hw/pci/pcie.h3
2 files changed, 7 insertions, 0 deletions
diff --git a/include/hw/compat.h b/include/hw/compat.h
index c98776a6d6..0931aa59c4 100644
--- a/include/hw/compat.h
+++ b/include/hw/compat.h
@@ -26,6 +26,10 @@
.driver = "virtio-pci",\
.property = "x-pcie-deverr-init",\
.value = "off",\
+ },{\
+ .driver = "virtio-pci",\
+ .property = "x-pcie-lnkctl-init",\
+ .value = "off",\
},
#define HW_COMPAT_2_7 \
diff --git a/include/hw/pci/pcie.h b/include/hw/pci/pcie.h
index 163c5195b6..11c6247431 100644
--- a/include/hw/pci/pcie.h
+++ b/include/hw/pci/pcie.h
@@ -96,6 +96,9 @@ uint8_t pcie_cap_flags_get_vector(PCIDevice *dev);
void pcie_cap_deverr_init(PCIDevice *dev);
void pcie_cap_deverr_reset(PCIDevice *dev);
+void pcie_cap_lnkctl_init(PCIDevice *dev);
+void pcie_cap_lnkctl_reset(PCIDevice *dev);
+
void pcie_cap_slot_init(PCIDevice *dev, uint16_t slot);
void pcie_cap_slot_reset(PCIDevice *dev);
void pcie_cap_slot_write_config(PCIDevice *dev,