From: Michael Roth Date: Tue, 9 Apr 2024 23:07:43 +0000 (-0500) Subject: hw/i386/sev: Use legacy SEV VM types for older machine types X-Git-Tag: v9.1.0-rc0~143^2~17 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ea7fbd37537b3a598335c21ccb2ea674630fc810;p=thirdparty%2Fqemu.git hw/i386/sev: Use legacy SEV VM types for older machine types Newer 9.1 machine types will default to using the KVM_SEV_INIT2 API for creating SEV/SEV-ES going forward. However, this API results in guest measurement changes which are generally not expected for users of these older guest types and can cause disruption if they switch to a newer QEMU/kernel version. Avoid this by continuing to use the older KVM_SEV_INIT/KVM_SEV_ES_INIT APIs for older machine types. Signed-off-by: Michael Roth Message-ID: <20240409230743.962513-4-michael.roth@amd.com> Signed-off-by: Paolo Bonzini --- diff --git a/hw/i386/pc.c b/hw/i386/pc.c index 41909f7bd7a..08c7de416fd 100644 --- a/hw/i386/pc.c +++ b/hw/i386/pc.c @@ -80,6 +80,7 @@ GlobalProperty pc_compat_9_0[] = { { TYPE_X86_CPU, "guest-phys-bits", "0" }, + { "sev-guest", "legacy-vm-type", "true" }, }; const size_t pc_compat_9_0_len = G_N_ELEMENTS(pc_compat_9_0); diff --git a/target/i386/sev.c b/target/i386/sev.c index f4ee317cb03..d30b68c11e4 100644 --- a/target/i386/sev.c +++ b/target/i386/sev.c @@ -1417,6 +1417,7 @@ sev_guest_instance_init(Object *obj) object_property_add_uint32_ptr(obj, "reduced-phys-bits", &sev->reduced_phys_bits, OBJ_PROP_FLAG_READWRITE); + object_apply_compat_props(obj); } /* sev guest info */