IOMMU in Relation To Virtualization
When an operating system is running inside a virtual machine, including systems that use paravirtualization, such as Xen, it does not usually know the host-physical addresses of memory that it accesses. This makes providing direct access to the computer hardware difficult, because if the guest OS tried to instruct the hardware to perform a direct memory access (DMA) using guest-physical addresses, it would likely corrupt the memory, as the hardware does not know about the mapping between the guest-physical and host-physical addresses for the given virtual machine. The corruption is avoided because the hypervisor or host OS intervenes in the I/O operation to apply the translations; unfortunately, this delays the I/O operation.
An IOMMU can solve this problem by re-mapping the addresses accessed by the hardware according to the same (or a compatible) translation table that is used to map guest-physical address to host-physical addresses.
Read more about this topic: IOMMU
Famous quotes containing the word relation:
“There is undoubtedly something religious about it: everyone believes that they are special, that they are chosen, that they have a special relation with fate. Here is the test: you turn over card after card to see in which way that is true. If you can defy the odds, you may be saved. And when you are cleaned out, the last penny gone, you are enlightened at last, free perhaps, exhilarated like an ascetic by the falling away of the material world.”
—Andrei Codrescu (b. 1947)