svn commit: r345171 - head/usr.sbin/bhyve
Chuck Tuffli
chuck at FreeBSD.org
Fri Mar 15 02:11:29 UTC 2019
Author: chuck
Date: Fri Mar 15 02:11:28 2019
New Revision: 345171
URL: https://svnweb.freebsd.org/changeset/base/345171
Log:
Fix bhyve PCIe capability emulation
PCIe devices starting with version 1.1 must set the Role-Based Error
Reporting bit.
And while we're in the neighborhood, generalize the code assigning the
device type.
Reviewed by: imp, araujo, rgrimes
Approved by: imp (mentor)
MFC after: 1 week
Differential Revision: https://reviews.freebsd.org/D19580
Modified:
head/usr.sbin/bhyve/pci_emul.c
Modified: head/usr.sbin/bhyve/pci_emul.c
==============================================================================
--- head/usr.sbin/bhyve/pci_emul.c Fri Mar 15 02:11:27 2019 (r345170)
+++ head/usr.sbin/bhyve/pci_emul.c Fri Mar 15 02:11:28 2019 (r345171)
@@ -953,7 +953,10 @@ pci_emul_add_pciecap(struct pci_devinst *pi, int type)
bzero(&pciecap, sizeof(pciecap));
pciecap.capid = PCIY_EXPRESS;
- pciecap.pcie_capabilities = PCIECAP_VERSION | PCIEM_TYPE_ROOT_PORT;
+ pciecap.pcie_capabilities = PCIECAP_VERSION | type;
+ /* Devices starting with version 1.1 must set the RBER bit */
+ if (PCIECAP_VERSION >= 1)
+ pciecap.dev_capabilities = PCIEM_CAP_ROLE_ERR_RPT;
pciecap.link_capabilities = 0x411; /* gen1, x1 */
pciecap.link_status = 0x11; /* gen1, x1 */
More information about the svn-src-head
mailing list