git: 16bd6661a921 - stable/13 - bhyve: emulate reads of MSI-X capabilities for passthru devices

From: Emmanuel Vadot <manu_at_FreeBSD.org>
Date: Fri, 14 Jan 2022 14:20:43 UTC
The branch stable/13 has been updated by manu:

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

commit 16bd6661a9212e3efded99988e7734a3c1177de2
Author:     Corvin Köhne <CorvinK@beckhoff.com>
AuthorDate: 2021-11-22 15:27:33 +0000
Commit:     Emmanuel Vadot <manu@FreeBSD.org>
CommitDate: 2022-01-14 14:18:08 +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
    
    (cherry picked from commit fe66bcf9ff8623bf69a183c9eb8c5ce72cce7db6)
---
 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 8c48f522562d..586a2da8aa05 100644
--- a/usr.sbin/bhyve/pci_passthru.c
+++ b/usr.sbin/bhyve/pci_passthru.c
@@ -759,7 +759,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