IOMMU
Una IOMMU tradueix i restringeix els accessos a la memòria originats per dispositius. El seu comportament de protecció i pas directe depèn de la topologia de la plataforma, el microprogramari, el SO i la configuració del controlador.
El que cal saber
Una IOMMU tradueix i restringeix els accessos a la memòria originats per dispositius. El seu comportament de protecció i pas directe depèn de la topologia de la plataforma, el microprogramari, el SO i la configuració del controlador.
Com funciona
Un dispositiu emet transaccions DMA utilitzant adreces interpretades per una unitat de traducció d'E/S. El SO o l'hipervisor configura dominis i assignacions que associen aquestes sol·licituds amb la memòria del sistema permesa. Les identitats dels dispositius, els límits de traducció compartits i la gestió d'interrupcions afecten l'aïllament pràctic.
On és útil
Una màquina virtual pot rebre un dispositiu compatible mitjançant un marc que aplica el seu grup d'aïllament IOMMU. Els dispositius que comparteixen un grup poden necessitar ser assignats conjuntament perquè la plataforma no pot establir un aïllament independent al límit desitjat.
Com comprovar el suport i l'habilitació
Inspeccioneu la descripció de la IOMMU de la plataforma i l'estat habilitat, els grups i els requisits d'assignació de dispositius del SO/hipervisor. A Intel, examineu VT-d; a AMD, utilitzeu les funcionalitats de virtualització d'E/S d'AMD documentades. Comproveu el comportament exacte de reinici i del controlador del dispositiu.
Un desplegament virtualitzat té diverses capes: capacitat física, permís del microprogramari, l'hipervisor amfitrió actiu, capacitats exposades al convidat i suport del SO convidat. Comproveu la capa on s'executa realment l'operació, inclosa la virtualització niada quan sigui pertinent.
El que la característica no estableix
Un indicador d'IOMMU no demostra que tots els perifèrics estiguin aïllats de manera independent ni que la protecció estigui activa. Les proteccions de les taules de pàgines de la CPU per si soles no restringeixen tot el DMA dels dispositius. Les modificacions no admeses de la topologia poden debilitar l'aïllament i no són una solució de compatibilitat habitual.
Compatibilitat i rendiment a la pràctica
L'execució de la CPU, la traducció de la memòria del convidat i la reassignació de DMA de dispositius són funcionalitats separades. No inferiu el pas directe o l'aïllament a partir d'un sol camp de virtualització. Utilitzeu els diagnòstics admesos de l'hipervisor i els requisits exactes de la plataforma/dispositiu.
Una llista de verificació pràctica
- Enregistreu el model exacte de processador o de plataforma i les versions d'aplicació, SO i entorn d'execució implicades. Conserveu la redacció de l'error o del requisit real.
- Comproveu la referència del fabricant per a aquest model exacte, i després inspeccioneu la capacitat efectiva i l'estat habilitat en l'entorn on s'executa el programa.
- Compareu cada requisit del binari o dorsal seleccionat. Una característica amb un nom similar, un àlies o una etiqueta de tecnologia àmplia no és suficient.
- Confirmeu que l'aplicació ha seleccionat la implementació prevista. Utilitzeu els seus diagnòstics documentats i una alternativa compatible quan no es compleixin els requisits.
- Feu un únic canvi admès a la vegada i repetiu la mateixa càrrega de treball. Manteniu disponibles la configuració original i la via de recuperació.
Si la característica apareix a la llista però el programari no la pot utilitzar
Comenceu pel component exacte que falla. Una base de dades de maquinari descriu la capacitat registrada; el sistema operatiu o l'hipervisor poden exposar un entorn efectiu diferent. Un error d'instrucció il·legal també requereix investigar la instrucció defectuosa real i la compilació del binari, perquè una corrupció o una instrucció no admesa no relacionada poden produir un símptoma similar.
Instal·leu la versió d'aplicació, controlador o entorn d'execució admesa per a la plataforma exacta, i utilitzeu la compilació base o alternativa documentada pel fabricant si cal. Una actualització de programari no pot crear una instrucció que li manqui al processador. Els canvis de microprogramari i de polítiques de seguretat han de seguir el procediment del fabricant del sistema i un pla de recuperació en lloc d'una recepta genèrica d'optimització.
Fonts i abast d'aquesta explicació
Intel Virtualization Technology for Directed I/O Architecture Specification · Nucli de Linux: accés a dispositius VFIO i grups d'IOMMU
Aquestes referències estableixen el comportament arquitectònic i els requisits de programari. No verifiquen de manera independent cada valor de característica en una pàgina de model de maquinari enllaçada. Per al suport de models, utilitzeu l'evidència del fabricant d'aquesta pàgina i comproveu la configuració efectiva del sistema. Aquest article no proporciona cap data de prova de referència, certificació o revisió independent.
Fonts i verificació
Propietat editorial: Feex. No s'ha registrat cap data de revisió independent. Com investiguem.
- Intel Virtualization Technology for Directed I/O Architecture Specification · Arquitectura de reassignació de DMA, dominis de traducció, reassignació d'interrupcions i estructures d'informació de microprogramari. La compatibilitat de la plataforma s'ha d'establir per separat.
- Nucli de Linux: accés a dispositius VFIO i grups d'IOMMU · Explica els grups d'aïllament, la propietat dels dispositius i les restriccions rellevants per al pas directe. No és una llista de compatibilitat per a una placa base en particular.
Ha estat útil aquest article?
Un sí o un no és suficient. Trieu un motiu si voleu, o afegiu una breu nota.
Gràcies. Això ens ajuda a millorar aquesta pàgina.