VT-d 지원이 활성화되었지만 IOMMU 그룹이 누락되었습니다.

VT-d 지원이 활성화되었지만 IOMMU 그룹이 누락되었습니다.

이전의슈퍼 마이크로 A2SDi-8C+-HLN4FAtom C3758 시스템 BIOS에서 VT-d 지원이 활성화되어 있지만 Linux(Fedora 31)에서는 IOMMU 그룹을 찾을 수 없습니다.

$ ls /sys/kernel/iommu_groups
$

커널 로그에는 VT-d가 감지되었음을 나타내는 것 같습니다.

# journalctl -k | grep 'DMAR\|iommu' | sed 's/^.*kernel: //'
ACPI: DMAR 0x000000007E1629C0 000070 (v01 INTEL  BDW      00000001 INTL 00000001)
DMAR: Host address width 39
DMAR: DRHD base: 0x000000fed90000 flags: 0x1
DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap d2008c40660462 ecap f050da
DMAR: RMRR base: 0x0000007f0fa000 end: 0x0000007f10afff
DMAR-IR: IOAPIC id 2 under DRHD base  0xfed90000 IOMMU 0
DMAR-IR: HPET id 0 under DRHD base 0xfed90000
DMAR-IR: Queued invalidation will be enabled to support x2apic and Intr-remapping.
DMAR-IR: Enabled IRQ remapping in x2apic mode
iommu: Default domain type: Translated

IOMMU 그룹을 얻으려면 몇 가지 구성을 수행해야 합니까?

배경: 이더넷 장치를 dpdk의 vfio-pci에 바인딩할 수 없기 때문에 이 작업을 수행하고 있습니다.

# /usr/share/dpdk/usertools/dpdk-devbind.py --bind=vfio-pci 07:00.0
Error: bind failed for 0000:07:00.0 - Cannot bind to driver vfio-pci
# /usr/share/dpdk/usertools/dpdk-devbind.py --status        

Network devices using kernel driver
===================================
0000:05:00.0 'Ethernet Connection X553 1GbE 15e4' if=eno1 drv=ixgbe unused=vfio-pci *Active*
0000:05:00.1 'Ethernet Connection X553 1GbE 15e4' if=eno2 drv=ixgbe unused=vfio-pci 
0000:07:00.1 'Ethernet Connection X553 1GbE 15e4' if=eno4 drv=ixgbe unused=vfio-pci 

Other Network devices
=====================
0000:07:00.0 'Ethernet Connection X553 1GbE 15e4' unused=ixgbe,vfio-pci
# dmesg | tail -n 3
[  +0.169963] ixgbe 0000:07:00.0: complete
[  +0.000561] vfio-pci: probe of 0000:07:00.0 failed with error -22
[  +0.000040] vfio-pci: probe of 0000:07:00.0 failed with error -22

답변1

intel_iommu=on커널 로드 매개변수를 추가해야 합니다 . 이 매개변수는 기본적으로 비활성화되어 있습니다( on기본적으로 이 매개변수를 설정하는 배포판 은 모르겠습니다 ).

BIOS에서 IOMMU를 활성화하면 ACPI 테이블이 커널 DMAR로 변환되고 커널은 부팅 중에 이를 초기화합니다.

일단 설정되면 intel_iommu=on커널은 시스템 하드웨어 리소스를 IOMMU 그룹으로 나눕니다. 그 양과 세분성은 하드웨어에 따라 다릅니다. 바라보다VFIO - "가상 기능 I/O"더 알아보기.

관련 정보