IOMMU
N'IOMMU traduce e mette limite a ll'accesse 'e memoria ca partono d' 'e machine esterne. 'A protezzione e 'o cumpurtamento 'e passthrough cagnano a siconna d' 'a tupuluggìa d' 'a piattaforma, d' 'o firmware, d' 'o sistema operattivo e d' 'a cunfigurazzione d' 'e driver.
Chello ca t'hê 'a sapé
N'IOMMU traduce e mette limite a ll'accesse 'e memoria ca partono d' 'e machine esterne. 'A protezzione e 'o cumpurtamento 'e passthrough cagnano a siconna d' 'a tupuluggìa d' 'a piattaforma, d' 'o firmware, d' 'o sistema operattivo e d' 'a cunfigurazzione d' 'e driver.
Comme fonsiona
Nu dispositiv' avvìa transazzioni DMA ausanno indirizze trascritti 'a n'unità 'e traduzzione I/O. 'O SO o ll'hypervisor cunfigura dominie e mappe ca 'ncòcciano chill'addimanne c' 'a memoria 'e sistema permessa. Ll'identità d' 'e machine, 'e cunfine spartute 'e traduzzione e 'a gestione d' 'e 'nterruzzioni 'mpattano 'ncopp'a ll'isolamento pratico.
Addò serve
Na VM po' arrecevere nu dispositivo suppurtato tramente nu framework ca fa rispettà 'o gruppo sujo 'e isolamento IOMMU. Dispusitive ca sparteno 'o stesso gruppo putesseno avé 'a necessità d'essere assegnate 'nzieme pecché 'a piattaforma nun po' stabbelì n'isolamento ndipennente 'a 'o limite addumannato.
Comme se cuntrolla 'o supporto e ll'abbilitazzione
Cuntrollate 'a descrizzione 'e ll'IOMMU d' 'a piattaforma e 'o stato appicciato, 'e gruppe e 'e requesite p'assegnà 'e machine int'ô SO o int'a ll'hypervisor. 'Ncopp'a Intel, cuntrullate VT-d; 'ncopp'a AMD, ausate 'e strumiente 'e virtualizzazzione I/O 'e AMD documentate. Cuntrollate 'o reset e 'o cumpurtamento d' 'e driver p' 'o dispositiv' esatto.
N'ambiente virtualizzato tene diverze livele: capacita fiseche, perzmesso dint' 'o firmware, ll'hypervisor host attivo, capacita guest esposte e supporto d' 'o sistema operativo guest. Cuntrolla 'o livello addò 'a fatica gira overamente, cumpresa 'a virtualizzazzione annidata quanno serve.
Chello ca 'a funzionalita nun stabbilisce
Na flag IOMMU nun prova ca ogne perifèrica stace isolata pe cunto sujo o ca 'a protezzione stace attiva. 'E prutezzioni d' 'e tavele d' 'e pàggene d' 'a CPU 'a sole nun ponno bluccà tutte 'e DMA d' 'e machine. 'E forzature nun suppurtate d' 'a tupuluggìa ponno 'ndebulì ll'isolamento e nun songo na soluzzione nurmale 'e cumpatibbilità.
Cumpatibbilita e prestazziune dint' 'a prateca
Esecuzzione CPU, traduzzione d' 'a memoria guest e rimappatura DMA d' 'e perferiche songo servizzie separati. Nun supponere passthrough o isulamento da nu sulo campo 'e virtualizzazzione. Ausa 'a diagnosteca supportata d' 'hypervisor e 'e requisite esatti d' 'a piattaforma/perferica.
Na lista 'e verifeca prateca
- Riggistra 'o mudello esatto d' 'o prucessore o d' 'a piattaforma e 'e vversione 'e ll'applicazzione, d' 'o sistema operativo e d' 'o runtime cumbulute. Mantien' 'e pparole esatte 'e ll'errore o d' 'o requisito overo.
- Cuntrolla 'o riferimento d' 'o costruttore pe chillu mudello esatto, po verifeca 'a capacita effettiva e 'o stato abbilitato dint'a ll'ambiente addò gira 'o prugramma.
- Cunfrunta ogne requisito d' 'o binario o backend sciveto. Na funzionalita cu nu nomme sumigliante, n'alias o n'etichetta tecnologgeca generale nun abbasta.
- Cunferma ca ll'applicazzione ha sciveto ll'implementazzione vuluta. Ausa 'a diagnosteca documentata soja e n'alternativa supportata quanno 'e requisite nun songo rispettate.
- Fa nu sulo cagnamento supportato a ll'avota e ripete 'o stesso carico 'e fatica. Mantien' 'a cunfigurazzione origginale e 'a via 'e recuppero a portata 'e mana.
Si 'a funzionalita sta scritta ma 'o software nun 'a po ausà
Pparti d' 'o cumponente esatto ca falla. Nu database hardware descrive 'a capacita riggistrata; 'o sistema operativo o ll'hypervisor po mustrà n'ambiente effettivo diverzo. N'errore 'e struzzione illegale addimanna pure 'e verificà 'a struzzione ca sgarra overamente e 'a build d' 'o binario, pecché na corruzzione o n'ata struzzione nun supportata po dà nu sintomo simile.
Stalla 'a vversione 'e ll'applicazzione, d' 'o driver o d' 'o runtime supportata p' 'a piattaforma esatta, e ausa 'a baseline documentata d' 'o costruttore o na build 'e fallback si serve. N'aggiurnamento software nun po crià na struzzione ca 'o prucessore nun tene. 'E cagnamiente a 'o firmware e 'e puliteche 'e sicurezza hann' 'a siguità 'a prucedura d' 'o costruttore d' 'o sistema e nu pピアノ 'e recuppero mméce 'e na ricetta generale 'e uttimizzazzione.
Funte e ambito 'e sta spiegazzione
Intel Virtualization Technology for Directed I/O Architecture Specification · Kernel Linux: jonta a 'e machine VFIO e gruppe IOMMU
Sti riferimente stabbilisceno 'o cumpurtamento 'e ll'architettura e 'e requisite d' 'o software. Nun verificano 'e manera 'ndipennente ogne valore 'e funzionalita ngopp'a na paggena 'e nu mudello hardware culegato. P' 'o supporto d' 'o mudello, ausa ll'evidenze d' 'o costruttore 'e chella paggena e verifeca 'a cunfigurazzione effettiva d' 'o sistema. St'articulo nun furnesce benchmark, certificazzione o data 'e revisone 'ndipennente.
Funte e verìfeca
Prupietà editoriale: Feex. Nisciuna data 'e revisizzione 'ndipennente è riggistrata. Comme facimmo 'e recerche.
- Intel Virtualization Technology for Directed I/O Architecture Specification · Architettura 'e DMA-remapping, dominie 'e traduzzione, interrupt remapping e strutture 'e resoconto d' 'o firmware. 'O supporto d' 'a piattaforma s'ha d'accertà a parte.
- Kernel Linux: jonta a 'e machine VFIO e gruppe IOMMU · Spiega 'e gruppe 'e isolamento, 'a prubrietà d' 'e dispusitive e 'e limite 'mpurtante p' 'o passthrough. Nun è na lista 'e cumpatibbilità pe na scheda madre specìfeca.
È servuto chist'articulo?
Basta nu sì o nu no. Si vuó, sciglie na mutivazzione o miett' na nota corta.
Grazie. Chisto nce dà 'na mano a fa mèglio 'sta paggena.