Siirry sisältöön

IOMMU

ArkkitehtuuriviiteFeex

IOMMU muuntaa ja rajoittaa laitelähtöisiä muistipyyntöjä. Sen suojaus ja läpivientikäyttäytyminen riippuvat alustan topologiasta, laiteohjelmistosta, käyttöjärjestelmästä ja ohjainmäärityksistä.

Mitä sinun tulee tietää

IOMMU muuntaa ja rajoittaa laitelähtöisiä muistipyyntöjä. Sen suojaus ja läpivientikäyttäytyminen riippuvat alustan topologiasta, laiteohjelmistosta, käyttöjärjestelmästä ja ohjainmäärityksistä.

Miten se toimii

Laite suorittaa DMA-siirtoja käyttäen osoitteita, jotka I/O-muunnosyksikkö tulkitsee. Käyttöjärjestelmä tai hypervisori määrittää toimialueet ja kuvaukset, jotka yhdistävät kyseiset pyynnöt sallittuun järjestelmämuistiin. Laitteiden tunnisteet, jaetut muunnosrajat ja keskeytysten käsittely vaikuttavat käytännön eristykseen.

Missä siitä on hyötyä

Virtuaalikone voi vastaanottaa tuetun laitteen sellaisen kehyksen kautta, joka valvoo sen IOMMU-eristysryhmää. Ryhmän jakavat laitteet saatetaan joutua liittämään yhdessä, koska alusta ei kykene muodostamaan itsenäistä eristystä halutulla rajalla.

Tuen ja käyttöönoton tarkistaminen

Tarkista alustan IOMMU-kuvaus sekä käyttöjärjestelmän tai hypervisorin käyttöönoton tila, ryhmät ja laitteiden liittämisvaatimukset. Tutki Intelillä VT-d-toteutusta; käytä AMD:llä dokumentoituja AMD I/O -virtualisointiominaisuuksia. Tarkista tarkan laitteen nollaus- ja ohjainkäyttäytyminen.

Virtualisoidussa käyttöönotossa on useita tasoja: fyysinen suorituskyky, laiteohjelmiston lupa, aktiivinen isäntähypervisori, näkyvät vierasominaisuudet ja vieraskäyttöjärjestelmän tuki. Tarkista taso, jolla toiminto todellisuudessa suoritetaan, mukaan lukien sisäkkäinen virtualisointi tarvittaessa.

Mitä ominaisuus ei takaa

IOMMU-lippu ei todista, että jokainen oheislaite on itsenäisesti eristetty tai että suojaus on aktiivinen. Prosessorin sivutaulujen suojaukset yksinään eivät rajoita laitteiden kaikkia DMA-siirtoja. Tukemattomat topologian ohitukset voivat heikentää eristystä, eivätkä ne ole rutiininomainen yhteensopivuuskorjaus.

Yhteensopivuus ja suorituskyky käytännössä

Suorittimen suoritus, vierasmuistin kääntäminen ja laitteen DMA-uudelleenkartoitus ovat erillisiä toimintoja. Älä päättele läpivientiä tai eristystä yhdestä virtualisointikentästä. Käytä hypervisorin tuettua diagnostiikkaa ja tarkkoja alusta-/laitevaatimuksia.

Käytännön tarkistuslista todentamiseen

  1. Kirjaa tarkka suoritin- tai alustamalli sekä kyseessä olevat sovellus-, käyttöjärjestelmä- ja ajonaikaiset versiot. Säilytä todellisen virheen tai vaatimuksen sanamuoto.
  2. Tarkista kyseisen tarkan mallin valmistajaviite ja tutki sitten todellinen suorituskyky ja käyttöönottotila ympäristössä, jossa ohjelma suoritetaan.
  3. Vertaa valitun binaarin tai taustajärjestelmän jokaista vaatimusta. Samankaltaisesti nimetty ominaisuus, alias tai laaja teknologiamerkintä ei riitä.
  4. Varmista, että sovellus valitsi aiotun toteutuksen. Käytä sen dokumentoitua diagnostiikkaa ja tuettua vararatkaisua, kun vaatimukset eivät täyty.
  5. Tee yksi tuettu muutos kerrallaan ja toista sama työkuorma. Pidä alkuperäinen kokoonpano ja palautuspolku saatavilla.

Jos ominaisuus on luettelossa, mutta ohjelmisto ei voi käyttää sitä

Aloita tarkasta vikaantuvasta komponentista. Laitteistotietokanta kuvaa tallennettua kykyä; käyttöjärjestelmä tai hypervisori voi tuoda esiin erilaisen todellisen ympäristön. Virheellisen käskyn virhe vaatii myös todellisen virheellisen käskyn ja binaarikäännöksen tutkimista, koska korruptio tai liittymätön tukematon käsky voi aiheuttaa samanlaisen oireen.

Asenna kyseiselle alustalle tuettu sovellus-, ajuri- tai ajoympäristöversio ja käytä tarvittaessa toimittajan dokumentoitua perus- tai varakäännöstä. Ohjelmistopäivitys ei voi luoda käskyä, joka suorittimelta puuttuu. Laiteohjelmisto- ja tietoturvakäytäntömuutosten tulee noudattaa järjestelmävalmistajan menettelyä ja palautussuunnitelmaa yleisen optimointiohjeen sijaan.

Tämän selityksen lähteet ja laajuus

Intel Virtualization Technology for Directed I/O Architecture Specification · Linux-ydin: VFIO-laitteiden käyttö ja IOMMU-ryhmät

Nämä viitteet määrittävät arkkitehtuurisen käyttäytymisen ja ohjelmistovaatimukset. Ne eivät itsenäisesti vahvista kaikkia ominaisuusarvoja linkitetyllä laitteistomallisivulla. Mallikohtaista tukea varten käytä kyseisen sivun valmistajan todisteita ja tarkista todellinen järjestelmäkokoonpano. Tämä artikkeli ei tarjoa suorituskykytestiä, sertifiointia tai riippumatonta arviointipäivämäärää.

Lähteet ja vahvistus

Toimituksellinen omistajuus: Feex. Riippumatonta tarkistuspäivämäärää ei ole kirjattu. Miten tutkimme.

Oliko tämä artikkeli hyödyllinen?

Kyllä tai ei riittää. Valitse halutessasi syy tai lisää lyhyt viesti.

Oliko tämä artikkeli hyödyllinen?