IOMMU
Maggiori info
- Implementazioni
- Intel VT-d, AMD-Vi
Una Memory Management Unit per i dispositivi di I/O: traduce gli indirizzi DMA dei dispositivi in indirizzi virtuali, rendendo possibili il PCI passthrough e la protezione dal DMA.
Intel VT-d, AMD AMD-Vi. Serve per: il PCI passthrough verso una VM (assegnare un'intera GPU a un guest), SR-IOV (fornire «NIC virtuali» a VM diverse da un'unica scheda), la protezione DMA del kernel (difesa dagli attacchi via Thunderbolt). Il modulo Linux vfio espone i gruppi IOMMU. I «gruppi IOMMU» diventano un grattacapo quando la scheda madre non separa le radici PCIe: bisogna assegnare un intero gruppo invece dei singoli dispositivi. La patch ACS Override aggira il problema, ma con rischi.