On 05/06/2025 10.34, Nina Schoetterl-Glausch wrote:
On Tue, 2025-06-03 at 15:56 +0200, Shalini Chellathurai Saroja wrote:
Add Control-Program Identification (CPI) data to the QEMU Object
Model (QOM), along with the timestamp in which the data was received
as shown below.

[...]

Signed-off-by: Shalini Chellathurai Saroja <shal...@linux.ibm.com>
---
  hw/s390x/sclpcpi.c                | 47 +++++++++++++++++++++++++
  include/hw/s390x/event-facility.h |  5 +++
  qapi/machine.json                 | 58 +++++++++++++++++++++++++++++++
  3 files changed, 110 insertions(+)

diff --git a/hw/s390x/sclpcpi.c b/hw/s390x/sclpcpi.c
index 935fa87acd..ec711e2291 100644
--- a/hw/s390x/sclpcpi.c
+++ b/hw/s390x/sclpcpi.c
@@ -15,7 +15,9 @@
    */

[...]
+static void cpi_init(Object *obj)
+{
+    SCLPEventCPI *e = SCLP_EVENT_CPI(obj);
+
+    object_property_add_str(obj, "system_type", get_system_type, NULL);
+    object_property_add_str(obj, "system_name", get_system_name, NULL);
+    object_property_add_str(obj, "sysplex_name", get_sysplex_name, NULL);
+    object_property_add_uint64_ptr(obj, "system_level", &(e->system_level),
+                                   OBJ_PROP_FLAG_READ);
+    object_property_add_uint64_ptr(obj, "timestamp", &(e->timestamp),
+                                   OBJ_PROP_FLAG_READ);
+}

I think it would be cleaner if those were class properties.
You could use object_class_property_add_str in cpi_class_init,
but I think it'd be nice to use DEFINE_PROP_(STR|UINT64) and
device_class_set_props.

For "normal" properties I'd say "yes" ... but in this case, this would also allow the user to set the properties from the host side - which would be a little bit weird? So I think it might be cleaner to keep it this way here without the "setter" functions? WDYT?

+{ 'struct': 'S390ControlProgramId', 'data': {
+     'system-type': 'str',
+     'system-name': 'str',
+     'system-level': 'uint64',
+     'sysplex-name': 'str',
+     'timestamp': 'uint64' } }

This is unused now, so you can get rid of it and put the
documentation sclpcpi.c.

Agreed, that looks like it could be cleaned up now, indeed.

 Thomas


Reply via email to