IOMMU
Un'IOMMU traduci e lìmmita l'accessi â mimoria chi vèninu dî dispusitivi. La sò prutizzioni e lu cumpurtamentu di passthrough dipènninu dâ tupuluggìa dâ piattaforma, dû firmware, dû SO e dâ cunfigurazzioni dî driver.
Chiḍḍu ca t'hà sapiri
Un'IOMMU traduci e lìmmita l'accessi â mimoria chi vèninu dî dispusitivi. La sò prutizzioni e lu cumpurtamentu di passthrough dipènninu dâ tupuluggìa dâ piattaforma, dû firmware, dû SO e dâ cunfigurazzioni dî driver.
Comu funziona
Un dispusitivu manna transazzioni DMA usannu indirizzi 'ntirpritati d'un'unità di traduzzioni I/O. Lu SO o l'hypervisor cunfigura dumini e mappaturi chi assòcianu ddi richiesti â mimoria di sistema pirmettuta. L'identità dî dispusitivi, li lìmiti di traduzzioni spartuti e la gistioni di l'interrupt nfruènzanu l'isulamentu pràticu.
Unni e' ùtili
Na VM pò arricèviri un dispusitivu suppurtatu tràmiti un framework chi sforza lu sò gruppu d'isulamentu IOMMU. Dispusitivi chi spartinu un gruppu ponnu aviri bisognu d'èssiri assignati 'nzemmula pirchì la piattaforma nun pò stabbiliri un isulamentu nnipinnenti ô lìmiti disidiratu.
Comu cuntrollari lu supportu e l'abbilitazzioni
Scaminati la discrizzioni IOMMU dâ piattaforma e lu statu abbilitatu, li gruppi e li requisiti d'assignazzioni dî dispusitivi dû SO/hypervisor. Ncapu a Intel, esaminati VT-d; ncapu ad AMD, usati li risorsi ducumintati di virtualizzazzioni I/O di AMD. Cuntrollati lu reset pricisu dû dispusitivu e lu cumpurtamentu dû driver.
Na distribbuzzioni virtuarizzata havi diversi liveddi: capacitati fìsica, pirmissu dû firmware, l'hypervisor host attivu, capacitati ammustrati ô guest e supportu dû SO guest. Cuntrolla lu liveddu unni l'opirazzioni gira pi daveru, nclujennu la virtuarizzazzioni annidata quannu e' rilivanti.
Zoccu la funziunalitati nun stabbilisci
Un flag IOMMU nun prova chi ogni pirifèrica è isulata 'n modu nnipinnenti o chi la prutizzioni è attiva. Li prutizzioni dî tabbelli dî pàgini dâ CPU di suli nun lìmmìtanu tutti li DMA dî dispusitivi. Suttascrizzioni nun suppurtati dâ tupuluggìa ponnu 'ndibuliri l'isulamentu e nun sunnu na currezzioni di cumpatibbilità di routine.
Cumpatibbilitati e pristazzioni nnâ pràtica
Esicuzzioni dâ CPU, traduzzioni dâ mimoria dû guest e rimappatura DMA dî dispusitivi sunnu strumenti siparati. Nun didùciri passthrough o isulamentu d'un sulu campu di virtuarizzazzioni. Usa la diagnòstica suppurtata di l'hypervisor e li requisiti esatti di piattafurma/dispusitivi.
Na lista di virìfica pràtica
- Riggistra lu mudellu esattu dû prucissuri o dâ piattafurma e li virsioni di l'applicazzioni, dû SO e dû runtime cuinvorti. Manteni la formulazzioni di l'erruri o dû requisitu riali.
- Cuntrolla lu rifirimentu dû prudutturi pi ddu mudellu esattu, poi spizziona la capacitati effittiva e lu statu abbilitatu nta l'ambienti unni lu prugramma gira.
- Cunfrunta ogni requisitu dû binariu o dû backend silizziunatu. Na funziunalitati cû nomu sìmili, un pseudònimu o n'etichetta ticnulòggica ginèrica nun abbàstanu.
- Cunferma ca l'applicazzioni hà silizziunatu la mplimintazzioni privista. Usa la sò diagnòstica ducumintata e un fallback suppurtatu quannu li requisiti nun sunnu suddisfatti.
- Fai un canciamentu suppurtatu a la vota e ripeti lu stissu caricu di travagghiu. Manteni dispunìbbili la cunfigurazzioni urigginali e lu pircorsu di ricùp ситуаazzioni.
Si la funziunalitati e' ndicata ma lu software nun la po usari
Accumenza cû cumpunenti esattu ca fallisci. Un database d'hardware discrivi la capacitati riggistrata; lu sistema upirativu o l'hypervisor ponnu ammustrari n'ambienti effittivu diffirenti. N'erruri di struzzioni illigali addanna puru n'indàggini supra la struzzioni ca fallisci pi daveru e supra la build binaria, picchì la curruzzioni o na struzzioni nun currilata e nun suppurtata ponnu fari un sìntumu sìmili.
Installa la virsioni di l'applicazzioni, dû driver o dû runtime suppurtata pâ piattafurma esatta, e usa la build di basi o di fallback ducumintata dû prudutturi si n'hai bisognu. N'aggiurnamentu dû software nun po criari na struzzioni ca manca nnô prucissuri. Li canciamenti di firmware e di pulìtica di sicurizza avìssiru a sèquiri la prucidura dû prudutturi dû sistema e un pianu di ricùpiru mmeci d'un ricittariu d'uttimizzazzioni ginèricu.
Funti e scanciu di st'esplicazzioni
Intel Virtualization Technology for Directed I/O Architecture Specification · Kernel Linux: accessu ê dispusitivi VFIO e gruppi IOMMU
Sti rifirimenti stabbilìscinu lu cumpurtamentu architittùnicu e li requisiti dû software. Nun virìficanu di manera ndipinnenti ogni valuri di funziunalitati nta na pàggina d'un mudellu hardware culligatu. Pû supportu dû mudellu, usa li provi dû prudutturi di dda pàggina e cuntrolla la cunfigurazzioni effittiva dû sistema. St'artìculu nun duna un benchmark, na cirtificazzioni o na data di rivisioni ndipinnenti.
Funti e virìfica
Titularità editoriali: Feex. Nudda data di rivisioni nnipinnenti è riggistrata. Comu facemu i ricerchi.
- Intel Virtualization Technology for Directed I/O Architecture Specification · Architittura di remapping DMA, dumini di traduzzioni, remapping di l'interrupt e strutturi di signalazzioni dû firmware. Lu supportu dâ piattaforma s'àvi a stabbiliri a parti.
- Kernel Linux: accessu ê dispusitivi VFIO e gruppi IOMMU · Spiega li gruppi d'isulamentu, la pruprietà dî dispusitivi e li vìnculi rilivanti pô passthrough. Nun è n'alencu di cumpatibbilità pi na particulari scheda matri.
Fu ùtili st'artìculu?
Un sì o un no abbasta. Scegghi un mutivu si voi, o junci na nota curta.
Grazzi. Chistu n'aiuta a megghiurari sta pàggina.