* [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE
@ 2025-10-16 12:17 Shalini Chellathurai Saroja
2025-10-16 12:17 ` [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI Shalini Chellathurai Saroja
` (2 more replies)
0 siblings, 3 replies; 6+ messages in thread
From: Shalini Chellathurai Saroja @ 2025-10-16 12:17 UTC (permalink / raw)
To: qemu-s390x mailing list, Thomas Huth
Cc: Sebastian Mitterle, qemu-devel mailing list,
Nina Schoetterl-Glausch, Hendrik Brueckner,
Shalini Chellathurai Saroja, Michael Mueller
Add QAPI event SCLP_CPI_INFO_AVAILABLE to notify the availability
of Control-Program Identification data in QOM.
Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
---
hw/s390x/sclpcpi.c | 4 ++++
qapi/machine-s390x.json | 21 +++++++++++++++++++++
2 files changed, 25 insertions(+)
diff --git a/hw/s390x/sclpcpi.c b/hw/s390x/sclpcpi.c
index 7aa039d510..68fc1b809b 100644
--- a/hw/s390x/sclpcpi.c
+++ b/hw/s390x/sclpcpi.c
@@ -54,6 +54,7 @@
#include "hw/s390x/event-facility.h"
#include "hw/s390x/ebcdic.h"
#include "qapi/qapi-visit-machine.h"
+#include "qapi/qapi-events-machine-s390x.h"
#include "migration/vmstate.h"
typedef struct Data {
@@ -106,6 +107,9 @@ static int write_event_data(SCLPEvent *event, EventBufferHeader *evt_buf_hdr)
e->timestamp = qemu_clock_get_ns(QEMU_CLOCK_HOST);
cpim->ebh.flags = SCLP_EVENT_BUFFER_ACCEPTED;
+
+ qapi_event_send_sclp_cpi_info_available();
+
return SCLP_RC_NORMAL_COMPLETION;
}
diff --git a/qapi/machine-s390x.json b/qapi/machine-s390x.json
index 966dbd61d2..8412668b67 100644
--- a/qapi/machine-s390x.json
+++ b/qapi/machine-s390x.json
@@ -119,3 +119,24 @@
{ 'command': 'query-s390x-cpu-polarization', 'returns': 'CpuPolarizationInfo',
'features': [ 'unstable' ]
}
+
+##
+# @SCLP_CPI_INFO_AVAILABLE:
+#
+# Emitted when the Control-Program Identification data is available
+# in the QOM tree.
+#
+# Features:
+#
+# @unstable: This event is experimental.
+#
+# Since: 10.2
+#
+# .. qmp-example::
+#
+# <- { "event": "SCLP_CPI_INFO_AVAILABLE",
+# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
+##
+{ 'event': 'SCLP_CPI_INFO_AVAILABLE',
+ 'features': [ 'unstable' ]
+}
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI
2025-10-16 12:17 [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE Shalini Chellathurai Saroja
@ 2025-10-16 12:17 ` Shalini Chellathurai Saroja
2025-10-20 16:36 ` Thomas Huth
2025-10-21 12:52 ` Hendrik Brueckner
2025-10-20 16:34 ` [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE Thomas Huth
2025-10-21 12:51 ` Hendrik Brueckner
2 siblings, 2 replies; 6+ messages in thread
From: Shalini Chellathurai Saroja @ 2025-10-16 12:17 UTC (permalink / raw)
To: qemu-s390x mailing list, Thomas Huth
Cc: Sebastian Mitterle, qemu-devel mailing list,
Nina Schoetterl-Glausch, Hendrik Brueckner,
Shalini Chellathurai Saroja, Michael Mueller
Add tests for SCLP event type Control-Program Identification.
Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
Suggested-by: Thomas Huth <thuth@redhat.com>
---
tests/functional/s390x/test_ccw_virtio.py | 26 +++++++++++++++++++++++
1 file changed, 26 insertions(+)
diff --git a/tests/functional/s390x/test_ccw_virtio.py b/tests/functional/s390x/test_ccw_virtio.py
index 453711aa0f..0455337856 100755
--- a/tests/functional/s390x/test_ccw_virtio.py
+++ b/tests/functional/s390x/test_ccw_virtio.py
@@ -15,6 +15,7 @@
import tempfile
from qemu_test import QemuSystemTest, Asset
+from qemu_test import exec_command
from qemu_test import exec_command_and_wait_for_pattern
from qemu_test import wait_for_console_pattern
@@ -270,5 +271,30 @@ def test_s390x_fedora(self):
'while ! (dmesg -c | grep Start.virtcrypto_remove) ; do'
' sleep 1 ; done', 'Start virtcrypto_remove.')
+ # Test SCLP event Control-Program Identification (CPI)
+ cpi = '/sys/firmware/cpi/'
+ sclpcpi = '/machine/sclp/s390-sclp-event-facility/sclpcpi'
+ self.log.info("Test SCLP event CPI")
+ exec_command(self, 'echo TESTVM > ' + cpi + 'system_name')
+ exec_command(self, 'echo LINUX > ' + cpi + 'system_type')
+ exec_command(self, 'echo TESTPLEX > ' + cpi + 'sysplex_name')
+ exec_command(self, 'echo 0x001a000000060b00 > ' + cpi + 'system_level')
+ exec_command_and_wait_for_pattern(self,
+ 'echo 1 > ' + cpi + 'set', ':/#')
+ try:
+ event = self.vm.event_wait('SCLP_CPI_INFO_AVAILABLE')
+ except TimeoutError:
+ self.fail('Timed out waiting for the SCLP_CPI_INFO_AVAILABLE event')
+ ts = self.vm.cmd('qom-get', path=sclpcpi, property='timestamp')
+ self.assertNotEqual(ts, 0)
+ name = self.vm.cmd('qom-get', path=sclpcpi, property='system_name')
+ self.assertEqual(name.strip(), 'TESTVM')
+ typ = self.vm.cmd('qom-get', path=sclpcpi, property='system_type')
+ self.assertEqual(typ.strip(), 'LINUX')
+ sysplex = self.vm.cmd('qom-get', path=sclpcpi, property='sysplex_name')
+ self.assertEqual(sysplex.strip(), 'TESTPLEX')
+ level = self.vm.cmd('qom-get', path=sclpcpi, property='system_level')
+ self.assertEqual(level, 0x001a000000060b00)
+
if __name__ == '__main__':
QemuSystemTest.main()
--
2.49.0
^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE
2025-10-16 12:17 [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE Shalini Chellathurai Saroja
2025-10-16 12:17 ` [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI Shalini Chellathurai Saroja
@ 2025-10-20 16:34 ` Thomas Huth
2025-10-21 12:51 ` Hendrik Brueckner
2 siblings, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2025-10-20 16:34 UTC (permalink / raw)
To: Shalini Chellathurai Saroja, qemu-s390x mailing list
Cc: Sebastian Mitterle, qemu-devel mailing list,
Nina Schoetterl-Glausch, Hendrik Brueckner, Michael Mueller,
Markus Armbruster
On 16/10/2025 14.17, Shalini Chellathurai Saroja wrote:
> Add QAPI event SCLP_CPI_INFO_AVAILABLE to notify the availability
> of Control-Program Identification data in QOM.
>
> Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
> Suggested-by: Thomas Huth <thuth@redhat.com>
> ---
> hw/s390x/sclpcpi.c | 4 ++++
> qapi/machine-s390x.json | 21 +++++++++++++++++++++
> 2 files changed, 25 insertions(+)
>
> diff --git a/hw/s390x/sclpcpi.c b/hw/s390x/sclpcpi.c
> index 7aa039d510..68fc1b809b 100644
> --- a/hw/s390x/sclpcpi.c
> +++ b/hw/s390x/sclpcpi.c
> @@ -54,6 +54,7 @@
> #include "hw/s390x/event-facility.h"
> #include "hw/s390x/ebcdic.h"
> #include "qapi/qapi-visit-machine.h"
> +#include "qapi/qapi-events-machine-s390x.h"
> #include "migration/vmstate.h"
>
> typedef struct Data {
> @@ -106,6 +107,9 @@ static int write_event_data(SCLPEvent *event, EventBufferHeader *evt_buf_hdr)
> e->timestamp = qemu_clock_get_ns(QEMU_CLOCK_HOST);
>
> cpim->ebh.flags = SCLP_EVENT_BUFFER_ACCEPTED;
> +
> + qapi_event_send_sclp_cpi_info_available();
> +
> return SCLP_RC_NORMAL_COMPLETION;
> }
>
> diff --git a/qapi/machine-s390x.json b/qapi/machine-s390x.json
> index 966dbd61d2..8412668b67 100644
> --- a/qapi/machine-s390x.json
> +++ b/qapi/machine-s390x.json
> @@ -119,3 +119,24 @@
> { 'command': 'query-s390x-cpu-polarization', 'returns': 'CpuPolarizationInfo',
> 'features': [ 'unstable' ]
> }
> +
> +##
> +# @SCLP_CPI_INFO_AVAILABLE:
> +#
> +# Emitted when the Control-Program Identification data is available
> +# in the QOM tree.
> +#
> +# Features:
> +#
> +# @unstable: This event is experimental.
> +#
> +# Since: 10.2
> +#
> +# .. qmp-example::
> +#
> +# <- { "event": "SCLP_CPI_INFO_AVAILABLE",
> +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
> +##
> +{ 'event': 'SCLP_CPI_INFO_AVAILABLE',
> + 'features': [ 'unstable' ]
> +}
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI
2025-10-16 12:17 ` [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI Shalini Chellathurai Saroja
@ 2025-10-20 16:36 ` Thomas Huth
2025-10-21 12:52 ` Hendrik Brueckner
1 sibling, 0 replies; 6+ messages in thread
From: Thomas Huth @ 2025-10-20 16:36 UTC (permalink / raw)
To: Shalini Chellathurai Saroja, qemu-s390x mailing list
Cc: Sebastian Mitterle, qemu-devel mailing list,
Nina Schoetterl-Glausch, Hendrik Brueckner, Michael Mueller
On 16/10/2025 14.17, Shalini Chellathurai Saroja wrote:
> Add tests for SCLP event type Control-Program Identification.
>
> Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
> Suggested-by: Thomas Huth <thuth@redhat.com>
> ---
> tests/functional/s390x/test_ccw_virtio.py | 26 +++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/tests/functional/s390x/test_ccw_virtio.py b/tests/functional/s390x/test_ccw_virtio.py
> index 453711aa0f..0455337856 100755
> --- a/tests/functional/s390x/test_ccw_virtio.py
> +++ b/tests/functional/s390x/test_ccw_virtio.py
> @@ -15,6 +15,7 @@
> import tempfile
>
> from qemu_test import QemuSystemTest, Asset
> +from qemu_test import exec_command
> from qemu_test import exec_command_and_wait_for_pattern
> from qemu_test import wait_for_console_pattern
>
> @@ -270,5 +271,30 @@ def test_s390x_fedora(self):
> 'while ! (dmesg -c | grep Start.virtcrypto_remove) ; do'
> ' sleep 1 ; done', 'Start virtcrypto_remove.')
>
> + # Test SCLP event Control-Program Identification (CPI)
> + cpi = '/sys/firmware/cpi/'
> + sclpcpi = '/machine/sclp/s390-sclp-event-facility/sclpcpi'
> + self.log.info("Test SCLP event CPI")
> + exec_command(self, 'echo TESTVM > ' + cpi + 'system_name')
> + exec_command(self, 'echo LINUX > ' + cpi + 'system_type')
> + exec_command(self, 'echo TESTPLEX > ' + cpi + 'sysplex_name')
> + exec_command(self, 'echo 0x001a000000060b00 > ' + cpi + 'system_level')
> + exec_command_and_wait_for_pattern(self,
> + 'echo 1 > ' + cpi + 'set', ':/#')
> + try:
> + event = self.vm.event_wait('SCLP_CPI_INFO_AVAILABLE')
> + except TimeoutError:
> + self.fail('Timed out waiting for the SCLP_CPI_INFO_AVAILABLE event')
> + ts = self.vm.cmd('qom-get', path=sclpcpi, property='timestamp')
> + self.assertNotEqual(ts, 0)
> + name = self.vm.cmd('qom-get', path=sclpcpi, property='system_name')
> + self.assertEqual(name.strip(), 'TESTVM')
> + typ = self.vm.cmd('qom-get', path=sclpcpi, property='system_type')
> + self.assertEqual(typ.strip(), 'LINUX')
> + sysplex = self.vm.cmd('qom-get', path=sclpcpi, property='sysplex_name')
> + self.assertEqual(sysplex.strip(), 'TESTPLEX')
> + level = self.vm.cmd('qom-get', path=sclpcpi, property='system_level')
> + self.assertEqual(level, 0x001a000000060b00)
> +
> if __name__ == '__main__':
> QemuSystemTest.main()
Reviewed-by: Thomas Huth <thuth@redhat.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE
2025-10-16 12:17 [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE Shalini Chellathurai Saroja
2025-10-16 12:17 ` [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI Shalini Chellathurai Saroja
2025-10-20 16:34 ` [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE Thomas Huth
@ 2025-10-21 12:51 ` Hendrik Brueckner
2 siblings, 0 replies; 6+ messages in thread
From: Hendrik Brueckner @ 2025-10-21 12:51 UTC (permalink / raw)
To: Shalini Chellathurai Saroja
Cc: qemu-s390x mailing list, Thomas Huth, Sebastian Mitterle,
qemu-devel mailing list, Nina Schoetterl-Glausch,
Hendrik Brueckner, Michael Mueller
On Thu, Oct 16, 2025 at 02:17:07PM +0200, Shalini Chellathurai Saroja wrote:
> Add QAPI event SCLP_CPI_INFO_AVAILABLE to notify the availability
> of Control-Program Identification data in QOM.
>
> Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
> Suggested-by: Thomas Huth <thuth@redhat.com>
> ---
> hw/s390x/sclpcpi.c | 4 ++++
> qapi/machine-s390x.json | 21 +++++++++++++++++++++
> 2 files changed, 25 insertions(+)
>
> diff --git a/hw/s390x/sclpcpi.c b/hw/s390x/sclpcpi.c
> index 7aa039d510..68fc1b809b 100644
> --- a/hw/s390x/sclpcpi.c
> +++ b/hw/s390x/sclpcpi.c
> @@ -54,6 +54,7 @@
> #include "hw/s390x/event-facility.h"
> #include "hw/s390x/ebcdic.h"
> #include "qapi/qapi-visit-machine.h"
> +#include "qapi/qapi-events-machine-s390x.h"
> #include "migration/vmstate.h"
>
> typedef struct Data {
> @@ -106,6 +107,9 @@ static int write_event_data(SCLPEvent *event, EventBufferHeader *evt_buf_hdr)
> e->timestamp = qemu_clock_get_ns(QEMU_CLOCK_HOST);
>
> cpim->ebh.flags = SCLP_EVENT_BUFFER_ACCEPTED;
> +
> + qapi_event_send_sclp_cpi_info_available();
> +
> return SCLP_RC_NORMAL_COMPLETION;
> }
>
> diff --git a/qapi/machine-s390x.json b/qapi/machine-s390x.json
> index 966dbd61d2..8412668b67 100644
> --- a/qapi/machine-s390x.json
> +++ b/qapi/machine-s390x.json
> @@ -119,3 +119,24 @@
> { 'command': 'query-s390x-cpu-polarization', 'returns': 'CpuPolarizationInfo',
> 'features': [ 'unstable' ]
> }
> +
> +##
> +# @SCLP_CPI_INFO_AVAILABLE:
> +#
> +# Emitted when the Control-Program Identification data is available
> +# in the QOM tree.
> +#
> +# Features:
> +#
> +# @unstable: This event is experimental.
> +#
> +# Since: 10.2
> +#
> +# .. qmp-example::
> +#
> +# <- { "event": "SCLP_CPI_INFO_AVAILABLE",
> +# "timestamp": { "seconds": 1401385907, "microseconds": 422329 } }
> +##
> +{ 'event': 'SCLP_CPI_INFO_AVAILABLE',
> + 'features': [ 'unstable' ]
> +}
Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI
2025-10-16 12:17 ` [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI Shalini Chellathurai Saroja
2025-10-20 16:36 ` Thomas Huth
@ 2025-10-21 12:52 ` Hendrik Brueckner
1 sibling, 0 replies; 6+ messages in thread
From: Hendrik Brueckner @ 2025-10-21 12:52 UTC (permalink / raw)
To: Shalini Chellathurai Saroja
Cc: qemu-s390x mailing list, Thomas Huth, Sebastian Mitterle,
qemu-devel mailing list, Nina Schoetterl-Glausch,
Hendrik Brueckner, Michael Mueller
On Thu, Oct 16, 2025 at 02:17:08PM +0200, Shalini Chellathurai Saroja wrote:
> Add tests for SCLP event type Control-Program Identification.
>
> Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com>
> Suggested-by: Thomas Huth <thuth@redhat.com>
> ---
> tests/functional/s390x/test_ccw_virtio.py | 26 +++++++++++++++++++++++
> 1 file changed, 26 insertions(+)
>
> diff --git a/tests/functional/s390x/test_ccw_virtio.py b/tests/functional/s390x/test_ccw_virtio.py
> index 453711aa0f..0455337856 100755
> --- a/tests/functional/s390x/test_ccw_virtio.py
> +++ b/tests/functional/s390x/test_ccw_virtio.py
> @@ -15,6 +15,7 @@
> import tempfile
>
> from qemu_test import QemuSystemTest, Asset
> +from qemu_test import exec_command
> from qemu_test import exec_command_and_wait_for_pattern
> from qemu_test import wait_for_console_pattern
>
> @@ -270,5 +271,30 @@ def test_s390x_fedora(self):
> 'while ! (dmesg -c | grep Start.virtcrypto_remove) ; do'
> ' sleep 1 ; done', 'Start virtcrypto_remove.')
>
> + # Test SCLP event Control-Program Identification (CPI)
> + cpi = '/sys/firmware/cpi/'
> + sclpcpi = '/machine/sclp/s390-sclp-event-facility/sclpcpi'
> + self.log.info("Test SCLP event CPI")
> + exec_command(self, 'echo TESTVM > ' + cpi + 'system_name')
> + exec_command(self, 'echo LINUX > ' + cpi + 'system_type')
> + exec_command(self, 'echo TESTPLEX > ' + cpi + 'sysplex_name')
> + exec_command(self, 'echo 0x001a000000060b00 > ' + cpi + 'system_level')
> + exec_command_and_wait_for_pattern(self,
> + 'echo 1 > ' + cpi + 'set', ':/#')
> + try:
> + event = self.vm.event_wait('SCLP_CPI_INFO_AVAILABLE')
> + except TimeoutError:
> + self.fail('Timed out waiting for the SCLP_CPI_INFO_AVAILABLE event')
> + ts = self.vm.cmd('qom-get', path=sclpcpi, property='timestamp')
> + self.assertNotEqual(ts, 0)
> + name = self.vm.cmd('qom-get', path=sclpcpi, property='system_name')
> + self.assertEqual(name.strip(), 'TESTVM')
> + typ = self.vm.cmd('qom-get', path=sclpcpi, property='system_type')
> + self.assertEqual(typ.strip(), 'LINUX')
> + sysplex = self.vm.cmd('qom-get', path=sclpcpi, property='sysplex_name')
> + self.assertEqual(sysplex.strip(), 'TESTPLEX')
> + level = self.vm.cmd('qom-get', path=sclpcpi, property='system_level')
> + self.assertEqual(level, 0x001a000000060b00)
> +
> if __name__ == '__main__':
> QemuSystemTest.main()
Reviewed-by: Hendrik Brueckner <brueckner@linux.ibm.com>
^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2025-10-21 12:52 UTC | newest]
Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-16 12:17 [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE Shalini Chellathurai Saroja
2025-10-16 12:17 ` [PATCH v3 2/2] tests/functional: add tests for SCLP event CPI Shalini Chellathurai Saroja
2025-10-20 16:36 ` Thomas Huth
2025-10-21 12:52 ` Hendrik Brueckner
2025-10-20 16:34 ` [PATCH v3 1/2] qapi/machine-s390x: add QAPI event SCLP_CPI_INFO_AVAILABLE Thomas Huth
2025-10-21 12:51 ` Hendrik Brueckner
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).