mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-07-28 21:03:54 -06:00
target/s390x/cpu topology: handle STSI(15) and build the SYSIB
On interception of STSI(15.1.x) the System Information Block (SYSIB) is built from the list of pre-ordered topology entries. Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> Co-developed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> Reviewed-by: Thomas Huth <thuth@redhat.com> Acked-by: Markus Armbruster <armbru@redhat.com> Signed-off-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> Message-ID: <20231016183925.2384704-5-nsg@linux.ibm.com> Signed-off-by: Thomas Huth <thuth@redhat.com>
This commit is contained in:
parent
c809bbc8e9
commit
f4f54b582f
9 changed files with 456 additions and 2 deletions
|
@ -15,10 +15,33 @@
|
|||
#include "hw/boards.h"
|
||||
#include "qapi/qapi-types-machine-target.h"
|
||||
|
||||
#define S390_TOPOLOGY_CPU_IFL 0x03
|
||||
|
||||
typedef struct S390TopologyId {
|
||||
uint8_t sentinel;
|
||||
uint8_t drawer;
|
||||
uint8_t book;
|
||||
uint8_t socket;
|
||||
uint8_t type;
|
||||
uint8_t vertical:1;
|
||||
uint8_t entitlement:2;
|
||||
uint8_t dedicated;
|
||||
uint8_t origin;
|
||||
} S390TopologyId;
|
||||
|
||||
typedef struct S390TopologyEntry {
|
||||
QTAILQ_ENTRY(S390TopologyEntry) next;
|
||||
S390TopologyId id;
|
||||
uint64_t mask;
|
||||
} S390TopologyEntry;
|
||||
|
||||
typedef struct S390Topology {
|
||||
uint8_t *cores_per_socket;
|
||||
CpuS390Polarization polarization;
|
||||
} S390Topology;
|
||||
|
||||
typedef QTAILQ_HEAD(, S390TopologyEntry) S390TopologyList;
|
||||
|
||||
#ifdef CONFIG_KVM
|
||||
bool s390_has_topology(void);
|
||||
void s390_topology_setup_cpu(MachineState *ms, S390CPU *cpu, Error **errp);
|
||||
|
|
|
@ -112,6 +112,7 @@ typedef struct CPUEntry {
|
|||
} QEMU_PACKED CPUEntry;
|
||||
|
||||
#define SCLP_READ_SCP_INFO_FIXED_CPU_OFFSET 128
|
||||
#define SCLP_READ_SCP_INFO_MNEST 2
|
||||
typedef struct ReadInfo {
|
||||
SCCBHeader h;
|
||||
uint16_t rnmax;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue