Bug 279729 - virtualization/bhyve: we are forced to passthru the whole IOMMU group of a GPU and not the single slots.
Summary: virtualization/bhyve: we are forced to passthru the whole IOMMU group of a GP...
Status: New
Alias: None
Product: Base System
Classification: Unclassified
Component: bhyve (show other bugs)
Version: 14.0-RELEASE
Hardware: amd64 Any
: --- Affects Many People
Assignee: freebsd-virtualization (Nobody)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-06-14 07:43 UTC by mario felicioni
Modified: 2024-06-14 10:47 UTC (History)
0 users

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description mario felicioni 2024-06-14 07:43:20 UTC
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 ?