diff options
author | mstsirkin <mstsirkin@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2017-01-10 05:28:07 +0000 |
---|---|---|
committer | mstsirkin <mstsirkin@0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652> | 2017-01-10 05:28:07 +0000 |
commit | 2124da11827b7afa3bd381136069c62015812c75 (patch) | |
tree | 0eab376327db3c03758ef752846eeef5c85c7a46 /newdevice.tex | |
parent | a5d961b1376216eff69303bbf81355789785e234 (diff) |
context: Document VIRTIO_F_IOMMU_PLATFORM reserved feature bit (33)
On most virtio systems, physical addresses are provided from the driver
to the device and subsequently used to access memory directly. However,
some systems feature an IOMMU that complicates things slightly:
- The IOMMU might require configuration for DMA to work at all. Once
configured, the driver must pass bus addresses to the device, which
are then translated by the IOMMU into physical addresses in memory.
- The IOMMU might be bypassed by virtio DMA. In this case, physical
addresses must still be provided to the device by the driver, even
though an IOMMU appears to be present.
This has been solved by the addition of a new reserved feature bit,
VIRTIO_F_IOMMU_PLATFORM, to describe the two cases above. Legacy systems
will not negotiate the feature, and therefore continue to operate
directly on physical addresses.
VIRTIO-154
Cc: Michael S. Tsirkin <mst@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
git-svn-id: https://tools.oasis-open.org/version-control/svn/virtio/trunk@587 0c8fb4dd-22a2-4bb5-bc14-6c75a5f43652
Diffstat (limited to 'newdevice.tex')
0 files changed, 0 insertions, 0 deletions