GPU 패스스루를 사용하여 작동하는 Qemu 구성이 있습니다. 이제 SSD도 작업에 전달하고 싶습니다. 통과 장치는 같은 그룹에 있어야 한다고 읽었습니다. 다음 스크립트:
#!/usr/bin/env bash
shopt -s nullglob
for g in /sys/kernel/iommu_groups/*; do
echo "IOMMU Group ${g##*/}:"
for d in $g/devices/*; do
echo -e "\t$(lspci -nns ${d##*/})"
done
done
내 GPU는 그룹 8에 속해 있지만 SSD는 그룹 9에 속해 있다고 나와요.
IOMMU Group 8:
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117 [GeForce GTX 1650] [10de:1f82] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation Device [10de:10fa] (rev a1)
IOMMU Group 9:
02:00.0 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset USB 3.1 XHCI Controller [1022:43ee]
02:00.1 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset SATA Controller [1022:43eb]
02:00.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] 500 Series Chipset Switch Upstream Port [1022:43e9]
03:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
03:04.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
03:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
03:09.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:43ea]
05:00.0 Non-Volatile memory controller [0108]: Samsung Electronics Co Ltd NVMe SSD Controller 980 [144d:a809]
07:00.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller [10ec:8168] (rev 15)
SSD를 그룹 8로 이동하는 방법은 무엇입니까?
driverctl set-override 0000:05:00.0 vfio-pci
드라이버를 에서 로 변경 nvme
했지만 IOMMU vfio-pci
그룹은 변경되지 않았습니다.
답변1
IOMMU 그룹은 "단위"로 전달될 수 있는 가장 작은 PCI 장치 그룹입니다. 이것은 하드웨어 속성입니다. 칩셋을 살펴보면 해당 하드웨어를 재구성할 수 없을 것 같습니다.
따라서 그룹에서 무언가를 제거할 수 없습니다. 그렇지 않으면 자체 그룹이 됩니다.
따라서 Group 9를 통과해야 합니다. 이것은 작동하지 않을 것 같습니다.