mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-31 14:02:05 -06:00
hw/s390x: add SCLP event type CPI
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. 74872343805430528). Sysplex name: name of the cluster which the guest belongs to (if any) (e.g. "PLEX"). The SCLP event CPI is supported only from "s390-ccw-virtio-10.1" machine and higher. Signed-off-by: Shalini Chellathurai Saroja <shalini@linux.ibm.com> Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Message-ID: <20250616140107.990538-2-shalini@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
920f067347
commit
435c758da1
6 changed files with 161 additions and 0 deletions
|
@ -25,6 +25,7 @@
|
|||
#define SCLP_EVENT_MESSAGE 0x02
|
||||
#define SCLP_EVENT_CONFIG_MGT_DATA 0x04
|
||||
#define SCLP_EVENT_PMSGCMD 0x09
|
||||
#define SCLP_EVENT_CTRL_PGM_ID 0x0b
|
||||
#define SCLP_EVENT_ASCII_CONSOLE_DATA 0x1a
|
||||
#define SCLP_EVENT_SIGNAL_QUIESCE 0x1d
|
||||
|
||||
|
@ -35,6 +36,7 @@
|
|||
#define SCLP_EVENT_MASK_MSG SCLP_EVMASK(SCLP_EVENT_MESSAGE)
|
||||
#define SCLP_EVENT_MASK_CONFIG_MGT_DATA SCLP_EVMASK(SCLP_EVENT_CONFIG_MGT_DATA)
|
||||
#define SCLP_EVENT_MASK_PMSGCMD SCLP_EVMASK(SCLP_EVENT_PMSGCMD)
|
||||
#define SCLP_EVENT_MASK_CTRL_PGM_ID SCLP_EVMASK(SCLP_EVENT_CTRL_PGM_ID)
|
||||
#define SCLP_EVENT_MASK_MSG_ASCII SCLP_EVMASK(SCLP_EVENT_ASCII_CONSOLE_DATA)
|
||||
#define SCLP_EVENT_MASK_SIGNAL_QUIESCE SCLP_EVMASK(SCLP_EVENT_SIGNAL_QUIESCE)
|
||||
|
||||
|
@ -191,6 +193,16 @@ struct SCLPEventClass {
|
|||
bool (*can_handle_event)(uint8_t type);
|
||||
};
|
||||
|
||||
#define TYPE_SCLP_EVENT_CPI "sclpcpi"
|
||||
typedef struct SCLPEventCPIClass SCLPEventCPIClass;
|
||||
typedef struct SCLPEventCPI SCLPEventCPI;
|
||||
OBJECT_DECLARE_TYPE(SCLPEventCPI, SCLPEventCPIClass,
|
||||
SCLP_EVENT_CPI)
|
||||
|
||||
struct SCLPEventCPI {
|
||||
SCLPEvent event;
|
||||
};
|
||||
|
||||
#define TYPE_SCLP_EVENT_FACILITY "s390-sclp-event-facility"
|
||||
typedef struct SCLPEventFacility SCLPEventFacility;
|
||||
typedef struct SCLPEventFacilityClass SCLPEventFacilityClass;
|
||||
|
|
|
@ -54,6 +54,7 @@ struct S390CcwMachineClass {
|
|||
|
||||
/*< public >*/
|
||||
int max_threads;
|
||||
bool use_cpi;
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue