qemu-server/PVE/QemuServer
Markus Frank 5d7288a415 config: add AMD SEV support
This patch is for enabling AMD SEV (Secure Encrypted Virtualization)
support in QEMU.

VM-Config-Examples:
amd_sev: type=std,no-debug=1,no-key-sharing=1
amd_sev: es,no-debug=1,kernel-hashes=1

kernel-hashes, reduced-phys-bits & cbitpos correspond to the variables
with the same name in QEMU.

kernel-hashes=1 adds kernel hashes to enable measured linux kernel
launch since it is per default off for backward compatibility.

reduced-phys-bios and cbitpos are system specific and are read out by
the query-machine-capabilities c program and saved to the
/run/qemu-server/host-hw-capabilities.json file. This file is parsed
and than used by qemu-server to correctly start a AMD SEV VM.

type=std stands for standard sev to differentiate it from sev-es (es)
or sev-snp (snp) when support is upstream.

QEMU's sev-guest policy gets calculated with the parameters no-debug
& no-key-sharing. These parameters correspond to policy-bits 0 & 1.
If type is 'es' than policy-bit 2 gets set to 1 to activate SEV-ES.
Policy bit 3 (nosend) is always set to 1, because migration features
for sev are not upstream yet and are attackable.

SEV-ES is highly experimental since it could not be tested.

see coherent doc patch

Signed-off-by: Markus Frank <m.frank@proxmox.com>
Reviewed-by: Fiona Ebner <f.ebner@proxmox.com>
2024-11-18 21:26:39 +01:00
..
Agent.pm tree wide cleanup of s/return undef/return/ 2020-10-16 16:20:05 +02:00
CGroup.pm fix #5528: override cgroup methods to call systemd via dbus 2024-07-23 08:05:53 +02:00
Cloudinit.pm fix 4493: cloud-init: fix generated Windows config 2024-07-30 19:49:28 +02:00
CPUConfig.pm config: add AMD SEV support 2024-11-18 21:26:39 +01:00
Drive.pm drive: tpm: fix default version in schema 2024-07-01 10:37:48 +02:00
Helpers.pm api: create: implement extracting disks when needed for import-from 2024-11-18 18:55:54 +01:00
ImportDisk.pm disk import: warn when fallback is used instead of requested format 2024-03-14 14:01:12 +01:00
Machine.pm move helper to check running QEMU version out of the 'Machine' module 2024-07-30 21:19:51 +02:00
Makefile use OVF from Storage 2024-11-18 18:55:54 +01:00
Memory.pm add memory parser 2023-09-18 17:08:48 +02:00
Monitor.pm monitor: allow passing timeout for a HMP command 2024-06-11 13:56:44 +02:00
PCI.pm pci: don't hard require resetting devices for passthrough 2024-11-11 20:33:25 +01:00
QMPHelpers.pm move nbd_stop helper to QMPHelpers module 2024-11-11 14:54:06 +01:00
USB.pm fix typos in user-visible strings 2024-10-24 13:15:06 +02:00