IOMMU
En IOMMU oversatter och begransar enhetsinitierade minnesatkomster. Dess skydds- och passthrough-beteende beror pa plattformstopologi, firmware, operativsystem och drivrutinskonfiguration.
Vad du behöver veta
En IOMMU oversatter och begransar enhetsinitierade minnesatkomster. Dess skydds- och passthrough-beteende beror pa plattformstopologi, firmware, operativsystem och drivrutinskonfiguration.
Hur det fungerar
En enhet skickar DMA-transaktioner med adresser som tolkas av en I/O-oversattningsenhet. Operativsystemet eller hypervisorn konfigurerar domaner och mappningar som associerar dessa forfragningar med tillatet systemminne. Enhetsidentiteter, delade oversattningsgranser och avbrottshantering paverkar den praktiska isoleringen.
Där den är användbar
En virtuell maskin kan tilldelas en stodd enhet via ett ramverk som tillampar dess IOMMU-isoleringsgrupp. Enheter som delar grupp kan behova tilldelas tillsammans eftersom plattformen inte kan uppratta oberoende isolering vid den onskade gransen.
Hur man kontrollerar stöd och aktivering
Inspektera plattformens IOMMU-beskrivning och operativsystemets/hypervisorns aktiverade status, grupper och krav for enhetstilldelning. Pa Intel, undersok VT-d; pa AMD, anvand de dokumenterade funktionerna for AMD I/O-virtualisering. Kontrollera den exakta enhetens aterstallnings- och drivrutinsbeteende.
En virtualiserad distribution har flera lager: fysisk kapacitet, tillstånd i firmware, den aktiva värdhypervisorn, exponerade gästfunktioner och stöd i gäst-OS. Kontrollera lagret där operationen faktiskt körs, inklusive nästlad virtualisering när det är relevant.
Vad funktionen inte fastställer
En IOMMU-flagga bevisar inte att varje kringutrustning ar oberoende isolerad eller att skyddet ar aktivt. Enbart sidtabellsskydd i processorn begransar inte all enhets-DMA. Osupporterade topologioverstyrningar kan forsvaga isoleringen och ar inte en rutinmassig kompatibilitetslosning.
Kompatibilitet och prestanda i praktiken
CPU-exekvering, gästminnesöversättning och DMA-omallokering för enheter är separata funktioner. Härled inte genomströmning eller isolering från ett enskilt virtualiseringsfält. Använd hypervisorns diagnostik som stöds och exakta plattforms-/enhetskrav.
En praktisk checklista för verifiering
- Registrera den exakta processor- eller plattformsmodellen samt de applikations-, OS- och runtime-versioner som berörs. Behåll formuleringen av det faktiska felet eller kravet.
- Kontrollera tillverkarens referens för den exakta modellen och granska sedan den faktiska kapaciteten och det aktiverade tillståndet i miljön där programmet körs.
- Jämför varje krav för den valda binären eller renderingsmotorn. En snarlikt namngiven funktion, ett alias eller en bred teknikbeteckning räcker inte.
- Bekräfta att applikationen har valt den avsedda implementeringen. Använd dess dokumenterade diagnostik och en reservlösning som stöds när kraven inte uppfylls.
- Gör en ändring som stöds i taget och upprepa samma arbetsbelastning. Håll den ursprungliga konfigurationen och återställningsvägen tillgängliga.
Om funktionen är listad men programvaran inte kan använda den
Börja med den exakta komponenten som fallerar. En hårdvarudatabas beskriver registrerad kapacitet; operativsystemet eller hypervisorn kan exponera en annan faktisk miljö. Ett fel om otillåten instruktion kräver också undersökning av den faktiska felande instruktionen och binärbygget, eftersom korruption eller en orelaterad instruktion utan stöd kan ge ett liknande symptom.
Installera den version av applikationen, drivrutinen eller runtime-miljön som stöds för den exakta plattformen, och använd vid behov tillverkarens dokumenterade baslinje eller reservbygge. En programvaruuppdatering kan inte skapa en instruktion som processorn saknar. Ändringar i firmware och säkerhetspolicy bör följa systemtillverkarens procedur och en återställningsplan snarare än ett generiskt optimeringsrecept.
Källor och omfattning för denna förklaring
Intel Virtualization Technology for Directed I/O Architecture Specification · Linux-karnan: VFIO-enhetsatkomst och IOMMU-grupper
Dessa referenser fastställer arkitektoniskt beteende och programvarukrav. De verifierar inte oberoende varje funktionsvärde på en länkad hårdvarumodellsida. För modellstöd, använd den sidans tillverkarbelägg och kontrollera den effektiva systemkonfigurationen. Denna artikel tillhandahåller inte ett prestandatest, en certifiering eller ett oberoende granskningsdatum.
Källor och verifiering
Redaktionellt ägarskap: Feex. Inget oberoende granskningsdatum har registrerats. Hur vi efterforskar.
- Intel Virtualization Technology for Directed I/O Architecture Specification · DMA-ommappningsarkitektur, oversattningsdomaner, avbrottsommappning och strukturer for firmwarerapportering. Plattformsstod maste faststallas separat.
- Linux-karnan: VFIO-enhetsatkomst och IOMMU-grupper · Forklarar isoleringsgrupper, enhetsagarskap och begransningar relevanta for passthrough. Det ar inte en kompatibilitetslista for ett specifikt moderkort.
Var denna artikel användbar?
Ett ja eller nej räcker. Välj en anledning om du vill, eller lägg till en kort anteckning.
Tack. Det hjälper oss att förbättra den här sidan.