qemu/include/exec
David Gibson f91f9f254b confidential guest support: Introduce new confidential guest support class
Several architectures have mechanisms which are designed to protect
guest memory from interference or eavesdropping by a compromised
hypervisor.  AMD SEV does this with in-chip memory encryption and
Intel's TDX can do similar things.  POWER's Protected Execution
Framework (PEF) accomplishes a similar goal using an ultravisor and
new memory protection features, instead of encryption.

To (partially) unify handling for these, this introduces a new
ConfidentialGuestSupport QOM base class.  "Confidential" is kind of vague,
but "confidential computing" seems to be the buzzword about these schemes,
and "secure" or "protected" are often used in connection to unrelated
things (such as hypervisor-from-guest or guest-from-guest security).

The "support" in the name is significant because in at least some of the
cases it requires the guest to take specific actions in order to protect
itself from hypervisor eavesdropping.

Signed-off-by: David Gibson <david@gibson.dropbear.id.au>
2021-02-08 16:57:37 +11:00
..
user nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
address-spaces.h Clean up header guards that don't match their file name 2016-07-12 16:19:16 +02:00
confidential-guest-support.h confidential guest support: Introduce new confidential guest support class 2021-02-08 16:57:37 +11:00
cpu_ldst.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
cpu-all.h accel/tcg: split TCG-only code from cpu_exec_realizefn 2021-02-05 10:24:14 -10:00
cpu-common.h vl: extract softmmu/globals.c 2020-12-15 12:51:50 -05:00
cpu-defs.h exec/cpu-defs: Remove TCG backends dependency 2021-02-05 10:24:14 -10:00
cputlb.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
exec-all.h tcg/tci: Make tci_tb_ptr thread-local 2021-02-05 10:24:14 -10:00
gdbstub.h gdbstub: drop gdbserver_cleanup in favour of gdb_exit 2021-01-18 10:05:06 +00:00
gen-icount.h tcg: Use tcg_constant_i32 with icount expander 2021-01-13 08:39:08 -10:00
helper-gen.h tcg: Add support for a helper with 7 arguments 2020-02-11 16:29:16 -08:00
helper-head.h tcg: Add support for a helper with 7 arguments 2020-02-11 16:29:16 -08:00
helper-proto.h tcg: Use memset for large vector byte replication 2021-01-04 06:32:58 -10:00
helper-tcg.h tcg: Add support for a helper with 7 arguments 2020-02-11 16:29:16 -08:00
hwaddr.h move MemMapEntry 2020-09-30 11:29:56 +02:00
ioport.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
log.h tcg: Introduce tcg_splitwx_to_{rx,rw} 2021-01-07 05:09:41 -10:00
memattrs.h cputlb: Byte swap memory transaction attribute 2019-09-03 08:30:39 -07:00
memop.h cputlb: Replace size and endian operands for MemOp 2019-09-03 08:30:39 -07:00
memory_ldst_cached.h.inc nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
memory_ldst_phys.h.inc nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
memory_ldst.h.inc nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
memory-internal.h cputlb: Merge and move memory_notdirty_write_{prepare,complete} 2019-09-25 10:44:29 -07:00
memory.h memory: add readonly support to memory_region_init_ram_from_file() 2021-02-01 17:07:34 -05:00
plugin-gen.h plugin-gen: add plugin_insn_append 2019-10-28 15:12:38 +00:00
poison.h poison: remove GNUC check 2020-12-15 12:53:13 -05:00
ram_addr.h memory: add readonly support to memory_region_init_ram_from_file() 2021-02-01 17:07:34 -05:00
ramblock.h ram_addr: Split RAMBlock definition 2020-01-29 11:28:59 +01:00
ramlist.h qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
softmmu-semi.h include: Make headers more self-contained 2019-08-16 13:31:51 +02:00
target_page.h migration: Make savevm.c target independent 2017-05-18 19:21:00 +02:00
tb-context.h nomaintainer: Fix Lesser GPL version number 2020-11-15 17:04:40 +01:00
tb-hash.h overall/alpha tcg cpus|hppa: Fix Lesser GPL version number 2020-11-15 16:43:54 +01:00
tb-lookup.h qemu/atomic.h: rename atomic_ to qatomic_ 2020-09-23 16:07:44 +01:00
translate-all.h remove TCG includes from common code 2021-01-02 21:03:36 +01:00
translator.h tcg: Make DisasContextBase.tb const 2021-01-07 05:09:41 -10:00