Messages in this thread | | | Date | Mon, 14 Oct 2019 15:52:35 +1100 | From | David Gibson <> | Subject | Re: [PATCH 2/2] virtio_ring: Use DMA API if memory is encrypted |
| |
On Fri, Oct 11, 2019 at 06:25:19PM -0700, Ram Pai wrote: > From: Thiago Jung Bauermann <bauerman@linux.ibm.com> > > Normally, virtio enables DMA API with VIRTIO_F_IOMMU_PLATFORM, which must > be set by both device and guest driver. However, as a hack, when DMA API > returns physical addresses, guest driver can use the DMA API; even though > device does not set VIRTIO_F_IOMMU_PLATFORM and just uses physical > addresses. > > Doing this works-around POWER secure guests for which only the bounce > buffer is accessible to the device, but which don't set > VIRTIO_F_IOMMU_PLATFORM due to a set of hypervisor and architectural bugs. > To guard against platform changes, breaking any of these assumptions down > the road, we check at probe time and fail if that's not the case. > > cc: Benjamin Herrenschmidt <benh@kernel.crashing.org> > cc: David Gibson <david@gibson.dropbear.id.au> > cc: Michael Ellerman <mpe@ellerman.id.au> > cc: Paul Mackerras <paulus@ozlabs.org> > cc: Michael Roth <mdroth@linux.vnet.ibm.com> > cc: Alexey Kardashevskiy <aik@linux.ibm.com> > cc: Jason Wang <jasowang@redhat.com> > cc: Christoph Hellwig <hch@lst.de> > Suggested-by: Michael S. Tsirkin <mst@redhat.com> > Signed-off-by: Ram Pai <linuxram@us.ibm.com> > Signed-off-by: Thiago Jung Bauermann <bauerman@linux.ibm.com>
Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
I don't know that this is the most elegant solution possible. But it's simple, gets the job done and pretty unlikely to cause mysterious breakage down the road.
-- David Gibson | I'll have my music baroque, and my code david AT gibson.dropbear.id.au | minimalist, thank you. NOT _the_ _other_ | _way_ _around_! http://www.ozlabs.org/~dgibson [unhandled content-type:application/pgp-signature] | |