On 2025-05-06 09:48, Thomas Huth wrote:
On 06/05/2025 08.48, Nina Schoetterl-Glausch wrote:
On Mon, 2025-05-05 at 08:55 +0200, Shalini Chellathurai Saroja wrote:
On 2025-04-28 11:22, Janis Schoetterl-Glausch wrote:
On Thu, 2025-04-10 at 17:09 +0200, Shalini Chellathurai Saroja
wrote:
Implement the Service-Call Logical Processor (SCLP) event
type Control-Program Identification (CPI) in QEMU. This
event is used to send CPI identifiers from the guest to the
host. The CPI identifiers are: system type, system name,
system level and sysplex name.
System type: operating system of the guest (e.g. "LINUX").
System name: user configurable name of the guest (e.g. "TESTVM").
System level: distribution and kernel version, if the system type
is
Linux
(e.g. 0x50e00).
Sysplex name: name of the cluster which the guest belongs to (if
any)
(e.g. "PLEX").
Signed-off-by: Shalini Chellathurai Saroja <shal...@linux.ibm.com>
Reviewed-by: Thomas Huth <th...@redhat.com>
---
hw/s390x/event-facility.c | 2 +
hw/s390x/meson.build | 1 +
hw/s390x/s390-virtio-ccw.c | 14 +++++
hw/s390x/sclpcpi.c | 92
+++++++++++++++++++++++++++++++
include/hw/s390x/event-facility.h | 13 +++++
5 files changed, 122 insertions(+)
create mode 100644 hw/s390x/sclpcpi.c
diff --git a/hw/s390x/event-facility.c b/hw/s390x/event-facility.c
index 2b0332c20e..60237b8581 100644
--- a/hw/s390x/event-facility.c
+++ b/hw/s390x/event-facility.c
[...]
It is possible to add the identifiers directly as the properties of
sclpcpi (eg. system type as shown below) and remove the
control-program-id.
This is what I meant, drop it from qom.
Ok.
virsh # qemu-monitor-command vm --pretty
'{"execute":"qom-list","arguments": {"path":
"/machine/sclp/s390-sclp-event-facility/sclpcpi"}}'
{
"return": [
{
"name": "type",
"type": "string"
},
{
"name": "parent_bus",
"type": "link<bus>"
},
{
"name": "realized",
"type": "bool"
},
{
"name": "hotplugged",
"type": "bool"
},
{
"name": "hotpluggable",
"type": "bool"
},
{
"name": "system_type",
"type": "string"
},
{
"name": "control-program-id",
"type": "S390ControlProgramId"
}
],
"id": "libvirt-16"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"system_type"}}'
{
"return": "LINUX ",
"id": "libvirt-17"
}
However, Hendrik Brückner suggested to group the identifiers together
during the initial discussion of this line item. So, I would prefer
to
They are grouped together under "sclpcpi", no?
Yes.
leave this as it is. Please let me know if you still think otherwise.
I don't have a strong opinion on this, just wanted to mention it and
see what other people say.
I guess it mostly depends on whether there are future plans for using
the QOM type elsewhere. If this type is supposed to be used in other
QAPI calls in the future, it makes sense to keep it separate now. If
there are no such plans, it's maybe easier to integrate the values
into sclpcpi directly. Hendrik, any opinion from your side?
Thomas
Hello Hendrik,
I have provided the output of both the options below. Please let me know
which option do you prefer.
I have incorporated the other comments. So I will be able to send V5
after your response. Thank you very much!
Option 1: Control-program identifiers set as the properties of sclpcpi:
virsh # qemu-monitor-command vm --pretty
'{"execute":"qom-list","arguments": {"path":
"/machine/sclp/s390-sclp-event-facility/sclpcpi"}}'
{
"return": [
{
[...]
},
{
"name": "system_level",
"type": "uint64"
},
{
"name": "system_name",
"type": "string"
},
{
"name": "system_type",
"type": "string"
},
{
"name": "timestamp",
"type": "uint64"
},
{
"name": "sysplex_name",
"type": "string"
}
],
"id": "libvirt-14"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"system_type"}}'
{
"return": "LINUX ",
"id": "libvirt-18"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"system_name"}}'
{
"return": "TESTVM ",
"id": "libvirt-19"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"sysplex_name"}}'
{
"return": "PLEX ",
"id": "libvirt-20"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"system_level"}}'
{
"return": 74872343805430528,
"id": "libvirt-21"
}
Option 2: control-program-id of type S390ControlProgramId set as a
property of sclpcpi:
virsh # qemu-monitor-command vm --pretty
'{"execute":"qom-list","arguments": {"path":
"/machine/sclp/s390-sclp-event-facility/sclpcpi"}}'
{
"return": [
{
[...]
},
{
"name": "control-program-id",
"type": "S390ControlProgramId"
}
],
"id": "libvirt-14"
}
virsh # qemu-monitor-command vm --pretty '{"execute":"qom-get",
"arguments":{"path":"/machine/sclp/s390-sclp-event-facility/sclpcpi",
"property":"control-program-id"}}'
{
"return": {
"timestamp": 1746532735581612000,
"system-level": 74872343805430528,
"sysplex-name": "PLEX ",
"system-name": "TESTVM ",
"system-type": "LINUX "
},
"id": "libvirt-22"
}
--
Mit freundlichen Grüßen / Kind regards
Shalini Chellathurai Saroja
Software Developer
Linux on IBM Z & KVM Development
IBM Deutschland Research & Development GmbH
Dept 1419, Schoenaicher Str. 220, 71032 Boeblingen
Vorsitzender des Aufsichtsrats: Wolfgang Wendt
Geschäftsführung: David Faller
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht
Stuttgart, HRB 243294