[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 53/53] sev: Use class properties
From: |
Eduardo Habkost |
Subject: |
[PATCH v3 53/53] sev: Use class properties |
Date: |
Thu, 12 Nov 2020 16:43:50 -0500 |
Instance properties make introspection hard and are not shown by
"-object ...,help". Convert them to class properties.
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
This is a new patch added in v3 of this series.
There was another version of this patch inside series:
Subject: [PATCH 00/12] qom: Make all -object types use only class properties
Message-Id: <20201009160122.1662082-1-ehabkost@redhat.com>
https://lore.kernel.org/qemu-devel/20201009160122.1662082-1-ehabkost@redhat.com
Changes from v1 of the patch:
* Use new object_class_property_add_field() API
to replace object_property_add_uint32_ptr().
(v1 used object_class_property_add_uint32_ptr(), which won't
exist anymore)
---
Cc: Paolo Bonzini <pbonzini@redhat.com>
Cc: Richard Henderson <rth@twiddle.net>
Cc: Eduardo Habkost <ehabkost@redhat.com>
Cc: qemu-devel@nongnu.org
---
target/i386/sev.c | 25 ++++++++++++++-----------
1 file changed, 14 insertions(+), 11 deletions(-)
diff --git a/target/i386/sev.c b/target/i386/sev.c
index 93c4d60b82..264ea5a7fb 100644
--- a/target/i386/sev.c
+++ b/target/i386/sev.c
@@ -28,7 +28,7 @@
#include "sysemu/runstate.h"
#include "trace.h"
#include "migration/blocker.h"
-#include "qom/object.h"
+#include "qom/qom.h"
#define TYPE_SEV_GUEST "sev-guest"
OBJECT_DECLARE_SIMPLE_TYPE(SevGuestState, SEV_GUEST)
@@ -298,6 +298,19 @@ sev_guest_class_init(ObjectClass *oc, void *data)
sev_guest_set_session_file);
object_class_property_set_description(oc, "session-file",
"guest owners session parameters (encoded with base64)");
+
+ object_class_property_add_field(oc, "policy",
+ PROP_UINT32(SevGuestState, policy, DEFAULT_GUEST_POLICY),
+ prop_allow_set_always);
+ object_class_property_add_field(oc, "handle",
+ PROP_UINT32(SevGuestState, handle, 0),
+ prop_allow_set_always);
+ object_class_property_add_field(oc, "cbitpos",
+ PROP_UINT32(SevGuestState, cbitpos, 0),
+ prop_allow_set_always);
+ object_class_property_add_field(oc, "reduced-phys-bits",
+ PROP_UINT32(SevGuestState, reduced_phys_bits, 0),
+ prop_allow_set_always);
}
static void
@@ -306,16 +319,6 @@ sev_guest_instance_init(Object *obj)
SevGuestState *sev = SEV_GUEST(obj);
sev->sev_device = g_strdup(DEFAULT_SEV_DEVICE);
- sev->policy = DEFAULT_GUEST_POLICY;
- object_property_add_uint32_ptr(obj, "policy", &sev->policy,
- OBJ_PROP_FLAG_READWRITE);
- object_property_add_uint32_ptr(obj, "handle", &sev->handle,
- OBJ_PROP_FLAG_READWRITE);
- object_property_add_uint32_ptr(obj, "cbitpos", &sev->cbitpos,
- OBJ_PROP_FLAG_READWRITE);
- object_property_add_uint32_ptr(obj, "reduced-phys-bits",
- &sev->reduced_phys_bits,
- OBJ_PROP_FLAG_READWRITE);
}
/* sev guest info */
--
2.28.0
- [PATCH v3 43/53] qdev: Move static_prop_release_dynamic_prop() closer to its usage, (continued)
- [PATCH v3 43/53] qdev: Move static_prop_release_dynamic_prop() closer to its usage, Eduardo Habkost, 2020/11/12
- [PATCH v3 42/53] qdev: Reuse object_property_add_field() when adding array elements, Eduardo Habkost, 2020/11/12
- [PATCH v3 45/53] qdev: Move core field property code to QOM, Eduardo Habkost, 2020/11/12
- [PATCH v3 46/53] qdev: Move base property types to qom/property-types.c, Eduardo Habkost, 2020/11/12
- [PATCH v3 47/53] qom: Include static property API reference in documentation, Eduardo Habkost, 2020/11/12
- [PATCH v3 48/53] qom: object_class_property_add_field() function, Eduardo Habkost, 2020/11/12
- [PATCH v3 49/53] qom: FIELD_PROP macro, Eduardo Habkost, 2020/11/12
- [PATCH v3 50/53] qom: Delete DEFINE_PROP_*SIGNED_NODEFAULT macro, Eduardo Habkost, 2020/11/12
- [PATCH v3 52/53] tests: Use field property at check-qom-proplist test case, Eduardo Habkost, 2020/11/12
- [PATCH v3 51/53] qom: PROP_* macros, Eduardo Habkost, 2020/11/12
- [PATCH v3 53/53] sev: Use class properties,
Eduardo Habkost <=