qemu-e2k/hw/core
David Gibson 9f88a7a3df 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>
2021-02-08 16:57:38 +11:00
..
bus.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
clock-vmstate.c
clock.c clock: Define and use new clock_display_freq() 2021-01-04 23:24:44 +01:00
cpu.c cpu: move debug_check_watchpoint to tcg_ops 2021-02-05 10:24:14 -10:00
fw-path-provider.c
generic-loader.c make ram_size local to vl.c 2020-12-10 12:15:10 -05:00
hotplug.c
irq.c
Kconfig
loader-fit.c
loader.c hw/core/loader.c: Improve reporting of ROM overlap errors 2020-12-15 12:04:30 +00:00
machine-hmp-cmds.c
machine-qmp-cmds.c qapi: More complex uses of QAPI_LIST_APPEND 2021-01-28 08:08:45 +01:00
machine.c confidential guest support: Alter virtio default properties for protected guests 2021-02-08 16:57:38 +11:00
meson.build hw/core: Restrict 'fw-path-provider.c' to system mode emulation 2020-12-15 12:52:07 -05:00
nmi.c
null-machine.c
numa.c make ram_size local to vl.c 2020-12-10 12:15:10 -05:00
or-irq.c
platform-bus.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
ptimer.c ptimer: Add new ptimer_set_period_from_clock() function 2021-01-29 15:54:42 +00:00
qdev-clock.c
qdev-fw.c
qdev-prop-internal.h qdev: Make qdev_propinfo_get_uint16() static 2020-12-15 10:02:07 -05:00
qdev-properties-system.c qdev: Rename qdev_get_prop_ptr() to object_field_prop_ptr() 2020-12-18 15:20:18 -05:00
qdev-properties.c qdev: Avoid unnecessary DeviceState* variable at set_prop_arraylen() 2020-12-18 15:20:18 -05:00
qdev.c machine: introduce MachineInitPhase 2020-12-15 12:51:52 -05:00
register.c hw/core/register.c: Don't use '#' flag of printf format 2020-12-17 21:56:43 -08:00
reset.c
resettable.c
split-irq.c
stream.c hw/core/stream: Rename StreamSlave as StreamSink 2020-12-10 12:15:04 -05:00
sysbus.c nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
trace-events
trace.h
uboot_image.h
vm-change-state-handler.c
vmstate-if.c