Message ID | 20230201132051.126868-5-pmorel@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: CPU Topology | expand |
On 01/02/2023 14.20, Pierre Morel wrote: > The maximum nested topology entries is used by the guest to > know how many nested topology are available on the machine. > > Let change the MNEST value from 2 to 4 in the SCLP READ INFO > structure now that we support books and drawers. > > Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> > Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> > --- > include/hw/s390x/sclp.h | 5 +++-- > hw/s390x/sclp.c | 5 +++++ > 2 files changed, 8 insertions(+), 2 deletions(-) Reviewed-by: Thomas Huth <thuth@redhat.com>
On 2/6/23 11:13, Thomas Huth wrote: > On 01/02/2023 14.20, Pierre Morel wrote: >> The maximum nested topology entries is used by the guest to >> know how many nested topology are available on the machine. >> >> Let change the MNEST value from 2 to 4 in the SCLP READ INFO >> structure now that we support books and drawers. >> >> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com> >> Reviewed-by: Nina Schoetterl-Glausch <nsg@linux.ibm.com> >> --- >> include/hw/s390x/sclp.h | 5 +++-- >> hw/s390x/sclp.c | 5 +++++ >> 2 files changed, 8 insertions(+), 2 deletions(-) > > Reviewed-by: Thomas Huth <thuth@redhat.com> > Thanks, Regards, Pierre
diff --git a/include/hw/s390x/sclp.h b/include/hw/s390x/sclp.h index 712fd68123..902252b319 100644 --- a/include/hw/s390x/sclp.h +++ b/include/hw/s390x/sclp.h @@ -112,12 +112,13 @@ typedef struct CPUEntry { } QEMU_PACKED CPUEntry; #define SCLP_READ_SCP_INFO_FIXED_CPU_OFFSET 128 -#define SCLP_READ_SCP_INFO_MNEST 2 +#define SCLP_READ_SCP_INFO_MNEST 4 typedef struct ReadInfo { SCCBHeader h; uint16_t rnmax; uint8_t rnsize; - uint8_t _reserved1[16 - 11]; /* 11-15 */ + uint8_t _reserved1[15 - 11]; /* 11-14 */ + uint8_t stsi_parm; /* 15-15 */ uint16_t entries_cpu; /* 16-17 */ uint16_t offset_cpu; /* 18-19 */ uint8_t _reserved2[24 - 20]; /* 20-23 */ diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c index eff74479f4..d339cbb7e4 100644 --- a/hw/s390x/sclp.c +++ b/hw/s390x/sclp.c @@ -20,6 +20,7 @@ #include "hw/s390x/event-facility.h" #include "hw/s390x/s390-pci-bus.h" #include "hw/s390x/ipl.h" +#include "hw/s390x/cpu-topology.h" static inline SCLPDevice *get_sclp_device(void) { @@ -123,6 +124,10 @@ static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb) return; } + if (s390_has_topology()) { + read_info->stsi_parm = SCLP_READ_SCP_INFO_MNEST; + } + /* CPU information */ prepare_cpu_entries(machine, entries_start, &cpu_count); read_info->entries_cpu = cpu_to_be16(cpu_count);