git: fe66bcf9ff86 - main - bhyve: emulate reads of MSI-X capabilities for passthru devices

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Mon, 22 Nov 2021 15:30:31 UTC
The branch main has been updated by manu:

URL: https://cgit.FreeBSD.org/src/commit/?id=fe66bcf9ff8623bf69a183c9eb8c5ce72cce7db6

commit fe66bcf9ff8623bf69a183c9eb8c5ce72cce7db6
Author:     Corvin Köhne <CorvinK@beckhoff.com>
AuthorDate: 2021-11-22 15:27:33 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2021-11-22 15:27:33 +0000

    bhyve: emulate reads of MSI-X capabilities for passthru devices
    
    Reads of the MSI-X capabilites aren't emulated by passthru devices
    yet. The guest will read the host MSI-X capabilites which could
    cause issues.
    
    Reviewed by:    markj
    Differential Revision:  https://reviews.freebsd.org/D32686
    Sponsored by:   Beckhoff Automation GmbH & Co. KG
---
 usr.sbin/bhyve/pci_passthru.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/usr.sbin/bhyve/pci_passthru.c b/usr.sbin/bhyve/pci_passthru.c
index ed5d880ea8d1..9ad19f440e37 100644
--- a/usr.sbin/bhyve/pci_passthru.c
+++ b/usr.sbin/bhyve/pci_passthru.c
@@ -744,7 +744,8 @@ passthru_cfgread(struct vmctx *ctx, int vcpu, struct pci_devinst *pi,
 	/*
 	 * PCI BARs and MSI capability is emulated.
 	 */
-	if (bar_access(coff) || msicap_access(sc, coff))
+	if (bar_access(coff) || msicap_access(sc, coff) ||
+	    msixcap_access(sc, coff))
 		return (-1);
 
 #ifdef LEGACY_SUPPORT