confidential guest support: Alter virtio default properties for protected guests
commit9f88a7a3df11a5aaa6212ea535d40d5f92561683
authorDavid Gibson <david@gibson.dropbear.id.au>
Thu, 4 Jun 2020 04:20:24 +0000 (4 14:20 +1000)
committerDavid Gibson <david@gibson.dropbear.id.au>
Mon, 8 Feb 2021 05:57:38 +0000 (8 16:57 +1100)
treef2505dd7d9e87c4f4f96e84143fb63be20b088b2
parent6742eefc9314678bba39e461fe8cdd0a841c3e92
confidential guest support: Alter virtio default properties for protected guests

The default behaviour for virtio devices is not to use the platforms normal
DMA paths, but instead to use the fact that it's running in a hypervisor
to directly access guest memory.  That doesn't work if the guest's memory
is protected from hypervisor access, such as with AMD's SEV or POWER's PEF.

So, if a confidential guest mechanism is enabled, then apply the
iommu_platform=on option so it will go through normal DMA mechanisms.
Those will presumably have some way of marking memory as shared with
the hypervisor or hardware so that DMA will work.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Greg Kurz <groug@kaod.org>
hw/core/machine.c