Mein Mainboard, das Asrock 890FX Deluxe3 unterstützt IOMMU, auch das BIOS sollte das, es ist die derzeit aktuellste Version 1.9 auf dem Board. Soweit ich informiert bin kann auch meine CPU (AMD Phenom II X4 945) IOMMU und im BIOS habe ich IOMMU ebenfalls aktiviert. Trotzdem habe ich in /var/log/dmesg folgenden Eintrag:
Code: Alles auswählen
Checking aperture...
No AGP bridge found
Node 0: aperture @ 20000000 size 32 MB
Aperture pointing to e820 RAM. Ignoring.
Your BIOS doesn't leave a aperture memory hole
Please enable the IOMMU option in the BIOS setup
This costs you 64 MB of RAM
Code: Alles auswählen
dmesg | grep AMD-Vi
AMD-Vi: Enabling IOMMU at 0000:00:00.2 cap 0x40
AMD-Vi: Lazy IO/TLB flushing enabled
Nun hatte ich in einem anderen Forum gelesen, dass man wohl auf den KVM-Seiten vergessen hatte zu erwähnen, das PCI-Passthrough nur mit Kernel 2.6.30.x funktioniert. Allerdings war die Info auch nicht mehr so ganz aktuell, sodass ich nicht beurteilen kann, was mit den neueren Kernelversionen ist. Aber ich habe auf jeden Fall auch einmal mit Kernel 2.6.30.10 experimentiert. Dazu einfach mit make oldconfig die Konfiguration vom Kernel 2.6.33.9 übernommen und immerhin ergaben sich einige IOMMU-Funktionen mehr. Folgende Geschichte ist die selbe:
Code: Alles auswählen
Checking aperture...
No AGP bridge found
Node 0: aperture @ 20000000 size 32 MB
Aperture pointing to e820 RAM. Ignoring.
Your BIOS doesn't leave a aperture memory hole
Please enable the IOMMU option in the BIOS setup
This costs you 64 MB of RAM
Code: Alles auswählen
AMD IOMMU: Enabling IOMMU at 0000:00:00.2 cap 0x40
AMD IOMMU: aperture size is 64 MB
AMD IOMMU: device isolation enabled
AMD IOMMU: Lazy IO/TLB flushing enabled
AMD IOMMU: Event logged [IO_PAGE_FAULT device=00:13.2 domain=0x0000 address=0x00000000c7ff1380 flags=0x0050]
AMD IOMMU: Using protection domain 4 for device 0000:00:02.0
AMD IOMMU: Using protection domain 5 for device 0000:00:05.0
AMD IOMMU: Using protection domain 6 for device 0000:00:06.0
AMD IOMMU: Using protection domain 7 for device 0000:00:09.0
AMD IOMMU: Using protection domain 8 for device 0000:00:0a.0
AMD IOMMU: Using protection domain 9 for device 0000:00:11.0
AMD IOMMU: Using protection domain 11 for device 0000:00:12.2
AMD IOMMU: Using protection domain 13 for device 0000:00:13.2
AMD IOMMU: Using protection domain 20 for device 0000:00:16.2
AMD IOMMU: Using protection domain 10 for device 0000:00:12.0
AMD IOMMU: Using protection domain 12 for device 0000:00:13.0
AMD IOMMU: Using protection domain 18 for device 0000:00:14.5
AMD IOMMU: Using protection domain 19 for device 0000:00:16.0
AMD IOMMU: Using protection domain 14 for device 0000:00:14.0
AMD IOMMU: Using protection domain 17 for device 0000:06:06.2
Hier noch die Konfiguration vom Kernel 2.6.33.9: http://nopaste.debianforum.de/35575
Und der Vollständigkeit halber Kernel 2.6.30.10: http://nopaste.debianforum.de/35576
Ich würde es allerdings vorziehen, Kernel 2.6.33.9 zu verwenden, wenn dieser denn funktionieren sollte.