J'ai une carte mère MSI-GD65 Gaming et un Intel i7 4790. VT-D est activé dans la section Fonctionnalités CPU du bios.
J'utilise Ubuntu 14.04.1 LTS et lorsque j'essaie de détacher un périphérique, j'obtiens le message suivant:
# virsh nodedev-detach pci_0000_00_1f_2
erreur: impossible de détacher le périphérique pci_0000_00_1f_2 erreur: opération non prise en charge: ni l'affectation de périphérique VFIO ni KVM n'est actuellement prise en charge sur ce système
Dmesg comprend des informations sur IOMMU mais je ne peux pas dire si cela signifie que VT-D est activé
$ dmesg | grep -i iommu
[0.027450] dmar: IOMMU 0: reg_base_addr fed90000 ver 1: 0 cap c0000020660462 ecap f0101a
[0.027455] dmar: IOMMU 1: reg_base_addr fed91000 ver 1: 0 cap d2008020660462 ecap f010da
[0.027521] IOHDIC I000HD
Quelqu'un peut-il indiquer ce que je dois faire pour activer VT-D sur ce système et transmettre des périphériques PCI aux invités KVM, s'il vous plaît?
la source
Réponses:
La solution à ce problème consiste à activer IOMMU dans vos paramètres de démarrage GRUB.
Vous pouvez le faire en définissant ce qui suit dans / etc / default / grub
Si vous utilisez un processeur AMD, vous devez
amd_iommu=on
plutôt ajouter les paramètres de démarrageEnsuite, exécutez
update-grub
et redémarrezCe lien m'a beaucoup aidé: https://www.centos.org/forums/viewtopic.php?f=47&t=48115
Voir aussi: https://pve.proxmox.com/wiki/Pci_passthrough
Cela m'a quelque peu échappé car je pensais que l'iommu était une alternative AMD au VT-D.
la source
Ajout à la réponse de Anonymouslemming: Il semble y avoir un bogue dans Ubuntu (18.04 pour moi), ce qui provoque le paramètre pour GRUB_CMDLINE_LINUX_DEFAULT dans / etc / default / grub à ignorer.
Il peut être corrigé en commentant GRUB_CMDLINE_LINUX_DEFAULT dans /etc/default/grub.d/50-curtin-settings.cfg
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1569567
la source
Vous semblez avoir la configuration matérielle requise car un autre module l'utilise (IOAPIC) Dans ce cas, vous devez simplement configurer la fin du logiciel.
Il semble que vous devez vous assurer que toutes les conditions préalables sont installées pour prendre en charge le détachement du périphérique approprié. Il semble que vous ne les ayez pas installés ou qu'ils ne soient pas configurés.
Vous devez avoir installé et initialisé les bibliothèques et modules de noyau appropriés avant d'essayer de les utiliser dans un cas comme celui-ci. Il s'agira de divers utilitaires système "hôte" et modules de noyau pour votre configuration KVM.
Vous devez lire la section du manuel sur la façon de configurer correctement votre solution KVM appropriée et suivre ces étapes avant d'essayer de simplement exécuter les utilitaires. Ils ne se configurent pas simplement au premier lancement simplement parce que les packages nécessaires sont installés.
Veuillez noter que si le périphérique en question est intégré dans la carte mère, il peut ne pas être techniquement un périphérique PCI, mais un périphérique PCI-Mapped. Ces périphériques sont en fait connectés par d'autres moyens, mais sont mappés à l'espace BIOS PCI à l'aide de leur BIOS. Ils peuvent être compatibles ou non avec le détachement du périphérique, selon divers aspects de la façon dont ils sont connectés au système.
En outre, vous ne pourrez peut-être pas détacher des sous-périphériques sans détacher les périphériques parents, si leurs pilotes sont interdépendants. Vous pouvez uniquement détacher des périphériques avec une certitude absolue qui est le périphérique parent qui est le contrôleur PCI, le pont PCI ou tout autre contrôleur ou pont de bus pris en charge
la source
Je suis sur centos7
J'ai eu cette erreur qui m'a conduit ici, mais mon problème n'était pas de mettre à jour le (dans mon cas)
vim /etc/sysconfig/grub
et d'ajouterintel_iommu=on
à la fin de la ligne pourGRUB_CMDLINE_LINUX
Je devais exécuter cette commande
puis redémarrez
Remarque: j'ai également exécuté grub2-mkconfig avec un redémarrage avant la commande ci-dessus et cela n'a rien fait pour moi d'après ce que j'ai vu.
référence: https://bugzilla.redhat.com/show_bug.cgi?id=1269446
Commentaire 11 et 12
la source