mirror of
https://gitlab.com/qemu-project/qemu.git
synced 2026-10-28 14:04:39 +08:00
s390x: Expose pv attribute in QOM
People doing VM management requested a way to query if a VM is in PV or not. So this patch exposes the runtime PV attribute which is true once the VM successfully made the switch into PV mode (according to KVM) and did not yet reboot to drop out of it. This of course does never replace attestation, it's merely QEMU's view of the situation. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> CC: Hendrik Brueckner <brueckner@linux.ibm.com> Reviewed-by: Christian Borntraeger <borntraeger@linux.ibm.com> Reviewed-by: Eric Farman <farman@linux.ibm.com> Reviewed-by: Matthew Rosato <mjrosato@linux.ibm.com> Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com> Link: https://lore.kernel.org/qemu-devel/20260924142846.157848-1-frankja@linux.ibm.com Signed-off-by: Eric Farman <farman@linux.ibm.com>
This commit is contained in:
1 parent
119860f15c
commit
964a49b6b7
2 files changed
+24
No files matched your search
@@ -65,3 +65,14 @@ metadata. In case this boot method is used, the command line
|
||||
options -initrd and -cmdline are ineffective. The preparation of a PVM
|
||||
image is done via the ``genprotimg`` tool from the s390-tools
|
||||
collection.
|
||||
|
||||
|
||||
PV property
|
||||
-----------
|
||||
|
||||
The s390x-ccw machine exposes the read-only runtime "pv"
|
||||
property. This property is true if a guest successfully made the
|
||||
transition into PV mode as reported by KVM and hasn't yet exited PV
|
||||
mode via a reboot. This does not replace PV attestation which is the
|
||||
only authoritative way to get a definitive answer if a guest is truly
|
||||
protected.
|
||||
@@ -838,6 +838,13 @@ static inline void machine_set_secure_boot(Object *obj, bool value,
|
||||
ms->secure_boot = value;
|
||||
}
|
||||
|
||||
static inline bool machine_get_pv(Object *obj, Error **errp)
|
||||
{
|
||||
S390CcwMachineState *ms = S390_CCW_MACHINE(obj);
|
||||
|
||||
return ms->pv;
|
||||
}
|
||||
|
||||
/*
|
||||
* S390x-specific global compatibility properties.
|
||||
*
|
||||
@@ -919,6 +926,12 @@ static void ccw_machine_class_init(ObjectClass *oc, const void *data)
|
||||
machine_set_secure_boot);
|
||||
object_class_property_set_description(oc, "secure-boot",
|
||||
"enable/disable secure boot");
|
||||
|
||||
object_class_property_add_bool(oc, "pv",
|
||||
machine_get_pv,
|
||||
NULL);
|
||||
object_class_property_set_description(oc, "pv",
|
||||
"true while the guest runs in protected virtualization mode (read-only)");
|
||||
}
|
||||
|
||||
static inline void s390_machine_initfn(Object *obj)
|
||||
|
||||
Reference in new issue
Block a user