Implement the Service-Call Logical Processor (SCLP) event type Control-Program Identification (CPI) in QEMU.
Changed since v5: - Add identifiers as class properties instead of object properties - Add description for all the class properties - Remove S390ControlProgramId as it is not needed anymore - Update description of system_level identifier - Add Reviewed-by tags Changed since v4: - Remove the object control-program-id and add the CPI attributes directly to the sclpcpi object - Instantiate sclpcpi device from v10.1 instead of v10.0 - Other minor changes Changed since v3: - Add QOM object sclpcpi from ccw_init() - Add SCLPEventCPI state to store the CPI data in the sclpcpi device - Other minor changes Changed since v2: - Add SPDX license tag in the new file hw/s390x/sclpcpi.c - Store the control-program Identification data in the sclpcpi device - Update the description of CPI attributes - Use ldq_be_p() intead of be64_to_cpu() - Return the CPI attribute system-level as an integer in QMP - Add compat handling for backward migration - Other minor changes Shalini Chellathurai Saroja (3): hw/s390x: add SCLP event type CPI hw/s390x: add Control-Program Identification to QOM hw/s390x: support migration of CPI data hw/s390x/event-facility.c | 2 + hw/s390x/meson.build | 1 + hw/s390x/s390-virtio-ccw.c | 22 +++ hw/s390x/sclpcpi.c | 213 +++++++++++++++++++++++++++++ include/hw/s390x/event-facility.h | 17 +++ include/hw/s390x/s390-virtio-ccw.h | 1 + 6 files changed, 256 insertions(+) create mode 100644 hw/s390x/sclpcpi.c -- 2.49.0