From: Michael Roth <michael.r...@amd.com>

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 <michael.r...@amd.com>
Message-ID: <20240409230743.962513-4-michael.r...@amd.com>
Signed-off-by: Paolo Bonzini <pbonz...@redhat.com>
---
 hw/i386/pc.c      | 1 +
 target/i386/sev.c | 1 +
 2 files changed, 2 insertions(+)

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 */
-- 
2.44.0



Reply via email to