On Tue, May 06, 2025 at 02:16:18PM +0200, Shalini Chellathurai Saroja wrote:
> 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"
> }

I would vote for Option 1 as this seems to be a bit more natural from
an object model.  There is not much impact for the upcoming changes
to consume this information.

Reply via email to