Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 11 Dec 2025 08:35:53 +0000
From:      bugzilla-noreply@freebsd.org
To:        virtualization@FreeBSD.org
Subject:   [Bug 290920] FreeBSD 15 Regression: BHyve PCI Passthrough Broken on 15-STABLE (No GSI/Interrupt Remapping Failure)
Message-ID:  <bug-290920-27103-VfTFlZcxYP@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-290920-27103@https.bugs.freebsd.org/bugzilla/>
References:  <bug-290920-27103@https.bugs.freebsd.org/bugzilla/>

index | next in thread | previous in thread | raw e-mail

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=290920

--- Comment #23 from dan@sunsaturn.com ---
(In reply to Bojan Novković from comment #20)

I appreciate you sending the patch. I tested it by first reverting my local
vmmapi.c to the unpatched original, then rebuilding both libvmmapi and bhyve to
ensure a fresh link:

Test Procedure:
cd /usr/src/lib/libvmmapi
make clean
cp vmmapi.c.old vmmapi.c # Revert to unpatched original
patch -p1 -d /usr/src < /root/freebsd-usb2.patch # Apply your patch
make && make install
cd /usr/src/usr.sbin/bhyve
make clean
make && make install

I have completed testing of your proposed patch for libvmmapi.c (using GPA as
offset).

The testing confirms that the ordering of memory segment mapping remains the
critical factor for my environment, and the proposed GPA-based offset patch
introduces a new issue.

TEST RESULTS SUMMARY:

1. Your Patch (GPA Offset applied):
   - VM Boots: Yes
   - Passthrough Works: No
   - Guest Error Observed: PCI INT A: no GSI (interrupt routing failure)

2. Original Patch (High -> Low Ordering re-applied for verification):
   - VM Boots: Yes
   - Passthrough Works: Yes (Full functionality restored for GPU and USB)

CONCLUSION:

The original patch that forces the High Memory segment to be mapped before the
Low Memory segment successfully resolves the passthrough issue on my updated
15.0 system.

The failure of the GPA-based patch to correctly set up the PCI interrupt
routing (PCI INT A: no GSI) suggests that the explicit High -> Low ordering of
the map updates is required by the VMM or IOMMU for proper initialization of
passthrough devices, overriding any need for the GPA offset correction in this
configuration.

I will continue using the ordering patch for now.

-- 
You are receiving this mail because:
You are the assignee for the bug.

help

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-290920-27103-VfTFlZcxYP>