Essentiellement cette fonction permet d'utiliser directement les p�riph�riques PCI physiques sur l'h�te par le client, m�me si l'h�te ne dispose pas de pilotes pour ce dispositif particulier. Les deux, PCI r�guli�re et certaines cartes PCI Express, sont pris en charge. AGP et certaines cartes PCI Express ne sont pas pris en charge pour le moment si elles reposent sur GART (Graphics Address Remapping Table) programmation de l'unit� de gestion de la texture comme il le fait plut�t des op�rations non triviales avec des pages remappage interf�rer avec IOMMU. Cette limitation peut �tre lev�e dans les prochaines versions.
Pour �tre pleinement fonctionnel, PCI support passthrough dans VirtualBox d�pend d'une unit� mat�rielle IOMMU qui est pas encore trop largement disponible. Si l'appareil utilise le contr�le du bus (il ex�cute DMA � la m�moire OS sur son propre), puis un IOMMU est n�cessaire, sinon ces op�rations DMA peuvent �crire � l'adresse de m�moire physique erron�e que le moteur DMA de l'appareil est programm� � l'aide d'un dispositif sp�cifique protocole pour effectuer des transactions de m�moire. Les fonctions IOMMU que la cartographie des unit�s de traduction demandes d'acc�s de la m�moire physique de l'appareil en utilisant la connaissance de l'adresse physique invit� � accueillir les adresses physiques des r�gles de traduction.
La solution d'Intel pour IOMMU est commercialis� comme �Intel Virtualization Technology pour Directed I / O" (VT-d), et celui de AMD est appel�e AMD-Vi. Donc, s'il vous pla�t v�rifier si votre carte m�re fiche dispose d'une technologie appropri�e. M�me si votre mat�riel n'a pas de IOMMU, certaines cartes PCI peuvent travailler (tels que les adaptateurs s�rie PCI), mais l'invit� affichera un avertissement au d�marrage et l'ex�cution VM prendra fin si le pilote invit� tentera d'activer le bus de carte mastering .
Il est tr�s fr�quent que le BIOS ou le syst�me d'exploitation h�te d�sactive l'IOMMU par d�faut. Donc, avant toute tentative de l'utiliser s'il vous pla�t assurez-vous que
Votre carte m�re dispose d'une unit� IOMMU.
Votre CPU prend en charge l'IOMMU.
Le IOMMU est activ� dans le BIOS.
La VM doit fonctionner avec VT-x / AMD-V et la pagination imbriqu�e activ�e.
Votre noyau Linux a �t� compil� avec le support IOMMU (y compris DMA remappage, voir l'option de compilation CONFIG_DMAR du noyau). Le pilote PCI stub (CONFIG_PCI_STUB) est n�cessaire aussi bien.
Votre noyau Linux reconna�t et utilise l'unit� IOMMU (intel_iommu = sur option de d�marrage pourrait �tre n�cessaire). Rechercher DMAR et PCI-DMA dans le journal de d�marrage du noyau.
Une fois que vous vous �tes assur� que le noyau h�te prend en charge l'IOMMU, l'�tape suivante consiste � s�lectionner la carte PCI et le joindre � l'invit�. Pour comprendre la liste des p�riph�riques de PCI, utilisez la commande lspci. La sortie ressemblera � ceci:
contr�leur compatible 00.0 VGA: 01 ATI Technologies Inc Cedar PRO [Radeon HD 5450]
01: 00.1 dispositif audio: ATI Technologies Inc Manhattan HDMI Audio [Mobility Radeon HD 5000 Series]
02: 00.0 contr�leur Ethernet: Realtek Semiconductor Co., Ltd RTL8111 / 8168B PCI Express Gigabit
contr�leur Ethernet (rev 03)
03: 00.0 contr�leur SATA: JMicron Technology Corp. JMB362 / JMB363 Serial ATA Controller (rev 03)
03: 00.1 interface IDE: contr�leur ATA JMicron Technology Corp. JMB362 / JMB363 s�rie (rev 03)
contr�leur compatible 00.0 VGA: 06 nVidia Corporation G86 [GeForce 8500 GT] (rev a1)
La premi�re colonne est une adresse de PCI (en format bus: device.function). Cette adresse peut �tre utilis�e pour identifier le p�riph�rique pour d'autres op�rations. Par exemple, pour joindre un contr�leur de r�seau PCI sur le syst�me mentionn� ci-dessus au second bus PCI dans l'invit�, en tant que dispositif 5, fonction 0, utilisez la commande suivante:
"Nom VM" de VBoxManage --pciattach 02: 00.0@01: 05.0
Pour d�tacher un m�me dispositif, utiliser
"Nom VM" de VBoxManage --pcidetach 02: 00.0
S'il vous pla�t noter que l'h�te et invit� pouvaient librement attribuer une adresse diff�rente de PCI � la carte ci-jointe lors de l'ex�cution, de sorte que ces adresses sont applicables uniquement � l'adresse de la carte au moment de la fixation (h�te), et pendant BIOS PCI init (guest).
Si la machine virtuelle a un p�riph�rique PCI ci-joint, certaines limitations applicables:
Seules les cartes PCI avec des interruptions non partag�es (comme l'utilisation de MSI sur l'h�te) sont pris en charge pour le moment.
Aucun �tat d'invit� peut �tre fiable sauv� / restaur� (comme l'�tat interne de la carte PCI ne pouvait pas �tre r�cup�r�).
T�l�portation (migration en direct) ne fonctionne pas (pour la m�me raison).
Aucune allocation de m�moire physique paresseux. L'h�te preallocate l'ensemble RAM n�cessaire pour la machine virtuelle au d�marrage (comme nous ne pouvons pas attraper mat�riel physique acc�de � la m�moire physique).
Partager