[RFC v1 0/3] Add VIRTIO_F_IOMMU_PLATFORM support

Michael S. Tsirkin mst at redhat.com
Fri Jul 21 23:48:35 UTC 2017


On Fri, Jul 21, 2017 at 06:17:15AM -0500, Brijesh Singh wrote:
> 
> On 7/20/17 10:24 PM, Jason Wang wrote:
> >
> >
> > On 2017年07月20日 06:09, Brijesh Singh wrote:
> >> I have found that OVMF fails to detect the disk when iommu_platform
> >> is set from
> >> qemu cli. The failure occurs during the feature bit negotiation.
> >>
> >> Recently, EDKII introduced IOMMU protocol d1fddc4533bf. SEV patch
> >> series introduced
> >> a IoMmu protocol driver f9d129e68a45 to set a DMA access attribute
> >> and methods to
> >> allocate, free, map and unmap the DMA memory for the master bus devices
> >>
> >> In this patch series, I have tried to enable the IOMMU_PLATFORM
> >> feature for
> >> VirtioBlkDevice. I am sending this as RFC to seek feedback before I
> >> extend the support
> >> for other Virtio devices. The patch has been tested in SEV guest -
> >> mainly because
> >> IoMmuDxe driver installs the IOMMU protocol for SEV guest only. If
> >> needed, I can
> >> extend the IoMmuDxe driver to install IOMMU protocol for non SEV guests.
> >>
> >> qemu cli used for testing:
> >>
> >> # $QEMU \
> >>    ...
> >>    -drive file=${HDA_FILE},if=none,id=disk0,format=qcow2 \
> >>    -device
> >> virtio-blk-pci,drive=disk0,disable-legacy=on,iommu_platform=true,disable-modern=off,scsi=off
> >>    ...
> >>
> >> Cc: Jordan Justen <jordan.l.justen at intel.com>
> >> Cc: Laszlo Ersek <lersek at redhat.com>
> >> Cc: Jason Wang <jasowang at redhat.com>
> >> Cc: Michael S. Tsirkin <mst at redhat.com>
> >> Contributed-under: TianoCore Contribution Agreement 1.0
> >> Signed-off-by: Brijesh Singh <brijesh.singh at amd.com>
> >>
> >> Brijesh Singh (3):
> >>    OvmfPkg/Include/Virtio10: Define VIRTIO_F_IOMMU_PLATFORM feature bit
> >>    OvmfPkg/VirtioLib: Add IOMMU_PLATFORM support
> >>    OvmfPkg/VirtioBlkDxe: Add VIRITO_F_IOMMU_PLATFORM support
> >
> > Hi, do we need change virtio-scsi driver as well?
> >
> I see that OVMF has the following virtio drivers, we need to update them
> all:
> 
> VirtioBlkDxe
> VirtioGpuDxe
> VirtioNetDxe
> VirtioRngDxe
> VirtioScsiDxe
> 
> I will wait for Laszlo and Jordan's initial feedback before changing
> other drivers.

I'm not sure about the GPU. Cc relevant maintainers -
can virtio GPU work from behind an IOMMU?


> > Thanks
> >
> >>
> >>   OvmfPkg/Library/VirtioLib/VirtioLib.inf      |   1 +
> >>   OvmfPkg/VirtioBlkDxe/VirtioBlk.inf           |   5 +
> >>   OvmfPkg/VirtioGpuDxe/VirtioGpu.inf           |   1 +
> >>   OvmfPkg/VirtioNetDxe/VirtioNet.inf           |   1 +
> >>   OvmfPkg/VirtioRngDxe/VirtioRng.inf           |   1 +
> >>   OvmfPkg/VirtioScsiDxe/VirtioScsi.inf         |   1 +
> >>   OvmfPkg/Include/IndustryStandard/Virtio095.h |   1 +
> >>   OvmfPkg/Include/IndustryStandard/Virtio10.h  |   5 +
> >>   OvmfPkg/Include/Library/VirtioLib.h          |  20 ++++
> >>   OvmfPkg/Library/VirtioLib/VirtioLib.c        |  96 ++++++++++++++-
> >>   OvmfPkg/VirtioBlkDxe/VirtioBlk.c             | 125
> >> ++++++++++++++++++--
> >>   11 files changed, 244 insertions(+), 13 deletions(-)
> >>
> >


More information about the dri-devel mailing list