
Pour ce que j'en retiens — je peux me tromper >> corrigez-moi — :
IOMMU est une fonctionnalité du matériel permettant à l'OS de mieux gérer la mémoire allouée aux périphériques.
Ce qui :
- Facilite l'accès à la mémoire pour certain matériel qui aurait des limitations au niveau de l'adressage.
- Protège l'accès à la mémoire par du matériel "problématique" voire corrompu.
je ferai confiance aux conseils de ceux qui savent...
On aurait donc tout intérêt à activer/forcer l'usage de cette fonctionnalité,
et ce n'est pas compliqué à configurer,
puisqu'il suffit d'éditer :
/etc/default/grub
en à joutant le couple "param=valeur" : iommu=force
à la liste de paramètres à passer au noyau lors du démarrage,
ce qui doit donner une ligne ressemblant à :
GRUB_CMDLINE_LINUX_DEFAULT="param1=val1 param2=val2 .... iommu=force"
les paramètres étant séparés par des [espace]
puis :
# update-grub
pour mettre à jour : /boot/grub/grub.cfg
Question
Comment savoir avec certitude si le matériel dispose de cette fonctionnalité ?
J'ai testé sur un système non-configuré dans /etc/default/grub
les commandes suivantes :
Code : Tout sélectionner
# dmesg | grep -i IOMMU
[ 0.104460] DMAR-IR: IOAPIC id 1 under DRHD base 0xfed65000 IOMMU 1
[ 0.597310] iommu: Default domain type: Translated
[ 1.061825] pci 0000:00:00.0: Adding to iommu group 0
[ 1.061846] pci 0000:00:02.0: Adding to iommu group 1
[ 1.061902] pci 0000:00:0e.0: Adding to iommu group 2
[ 1.061932] pci 0000:00:0f.0: Adding to iommu group 3
[ 1.061953] pci 0000:00:12.0: Adding to iommu group 4
[ 1.062002] pci 0000:00:13.0: Adding to iommu group 5
[ 1.062023] pci 0000:00:13.1: Adding to iommu group 5
[ 1.062051] pci 0000:00:13.2: Adding to iommu group 5
[ 1.062074] pci 0000:00:15.0: Adding to iommu group 6
[ 1.062098] pci 0000:00:16.0: Adding to iommu group 7
[ 1.062121] pci 0000:00:18.0: Adding to iommu group 8
[ 1.062170] pci 0000:00:19.0: Adding to iommu group 9
[ 1.062188] pci 0000:00:19.1: Adding to iommu group 9
[ 1.062205] pci 0000:00:19.2: Adding to iommu group 9
[ 1.062223] pci 0000:00:1a.0: Adding to iommu group 10
[ 1.062254] pci 0000:00:1f.0: Adding to iommu group 11
[ 1.062273] pci 0000:00:1f.1: Adding to iommu group 11
[ 1.062288] pci 0000:01:00.0: Adding to iommu group 5
[ 1.062298] pci 0000:02:00.0: Adding to iommu group 5
[ 1.062309] pci 0000:03:00.0: Adding to iommu group 5
[ 1.088321] AMD-Vi: AMD IOMMUv2 driver by Joerg Roedel <jroedel@suse.de>
[ 1.088323] AMD-Vi: AMD IOMMUv2 functionality not available on this system
# find /sys -name "*dmar*" -print
/sys/class/iommu/dmar0
/sys/class/iommu/dmar1
/sys/devices/virtual/iommu/dmar0
/sys/devices/virtual/iommu/dmar1
# find /sys | grep -e class.*dmar
/sys/class/iommu/dmar0
/sys/class/iommu/dmar1
mais je ne suis pas certain que cela soit fiable pour déterminer avec certitude si le système matériel supporte ou non IOMMU
Qu'en savez-vous ?
Merci.