[Bug 279729] virtualization/bhyve: we are forced to passthru the whole IOMMU group of a GPU and not the single slots.

From: <bugzilla-noreply_at_freebsd.org>
Date: Fri, 14 Jun 2024 07:43:20 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=279729

            Bug ID: 279729
           Summary: virtualization/bhyve: we are forced to passthru the
                    whole IOMMU group of a GPU and not the single slots.
           Product: Ports & Packages
           Version: Latest
          Hardware: Any
                OS: Any
            Status: New
          Severity: Affects Many People
          Priority: ---
         Component: Individual Port(s)
          Assignee: ports-bugs@FreeBSD.org
          Reporter: marietto2008@gmail.com

Hello.

My GPU has one integrated USB controller. It is the RTX 2080 Ti and FreeBSD
detect 4 slots :

02:00.0 VGA compatible controller: NVIDIA Corporation TU102 [GeForce RTX 2080
Ti] (rev a1)
02:00.1 Audio device: NVIDIA Corporation TU102 High Definition Audio Controller
(rev a1)
02:00.2 USB controller: NVIDIA Corporation TU102 USB 3.1 Host Controller (rev
a1)
02:00.3 Serial bus controller: NVIDIA Corporation TU102 USB Type-C UCSI
Controller (rev a1)

So I tried to passthru only the slots 2 and 3,because I don't need to pass the
GPU itself and / or the audio slot (2/0/1),like this :

-s 8:2,passthru,2/0/2 \
-s 8:3,passthru,2/0/3 \

This is what happened :

Assertion failed: (mr->name == memp->name), function unregister_mem, file
/usr/src/usr.sbin/bhyve/mem.c, line 344.

If we want to passthru only one or two slots (like only the audio or the USB
controller) that are inside the whole IOMMU group and not the whole IOMMU
group,we can't do it. Can this behavior be fixed ?

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