diff mbox series

[v1,7/9] s390x: SCLP: reporting the maximum nested topology entries

Message ID 1626281596-31061-8-git-send-email-pmorel@linux.ibm.com (mailing list archive)
State New, archived
Headers show
Series s390x: CPU Topology | expand

Commit Message

Pierre Morel July 14, 2021, 4:53 p.m. UTC
The maximum nested topology entries is used by the guest to know
how many nested topology are available on the machine.

As we now implemented drawers and books above sockets and core
we can set the maximum nested topology reported by SCLP to 4.

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
---
 hw/s390x/sclp.c         | 1 +
 include/hw/s390x/sclp.h | 4 +++-
 target/s390x/kvm/kvm.c  | 1 -
 3 files changed, 4 insertions(+), 2 deletions(-)

Comments

Cornelia Huck July 16, 2021, 9:24 a.m. UTC | #1
On Wed, Jul 14 2021, Pierre Morel <pmorel@linux.ibm.com> wrote:

> The maximum nested topology entries is used by the guest to know
> how many nested topology are available on the machine.
>
> As we now implemented drawers and books above sockets and core
> we can set the maximum nested topology reported by SCLP to 4.

Does that work with tcg as well? (Have not yet really looked at the
patches above.)

>
> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
> ---
>  hw/s390x/sclp.c         | 1 +
>  include/hw/s390x/sclp.h | 4 +++-
>  target/s390x/kvm/kvm.c  | 1 -
>  3 files changed, 4 insertions(+), 2 deletions(-)
Pierre Morel July 16, 2021, 11:12 a.m. UTC | #2
On 7/16/21 11:24 AM, Cornelia Huck wrote:
> On Wed, Jul 14 2021, Pierre Morel <pmorel@linux.ibm.com> wrote:
> 
>> The maximum nested topology entries is used by the guest to know
>> how many nested topology are available on the machine.
>>
>> As we now implemented drawers and books above sockets and core
>> we can set the maximum nested topology reported by SCLP to 4.
> 
> Does that work with tcg as well? (Have not yet really looked at the
> patches above.)

I must make more tests on this.

regards,
Pierre

> 
>>
>> Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
>> ---
>>   hw/s390x/sclp.c         | 1 +
>>   include/hw/s390x/sclp.h | 4 +++-
>>   target/s390x/kvm/kvm.c  | 1 -
>>   3 files changed, 4 insertions(+), 2 deletions(-)
>
diff mbox series

Patch

diff --git a/hw/s390x/sclp.c b/hw/s390x/sclp.c
index edb6e3ea01..f5fe067ffb 100644
--- a/hw/s390x/sclp.c
+++ b/hw/s390x/sclp.c
@@ -125,6 +125,7 @@  static void read_SCP_info(SCLPDevice *sclp, SCCB *sccb)
 
     /* CPU information */
     prepare_cpu_entries(machine, entries_start, &cpu_count);
+    read_info->stsi_parm = SCLP_READ_SCP_INFO_MNEST;
     read_info->entries_cpu = cpu_to_be16(cpu_count);
     read_info->offset_cpu = cpu_to_be16(offset_cpu);
     read_info->highest_cpu = cpu_to_be16(machine->smp.max_cpus - 1);
diff --git a/include/hw/s390x/sclp.h b/include/hw/s390x/sclp.h
index d3ade40a5a..6ec1185f30 100644
--- a/include/hw/s390x/sclp.h
+++ b/include/hw/s390x/sclp.h
@@ -116,7 +116,9 @@  typedef struct ReadInfo {
     SCCBHeader h;
     uint16_t rnmax;
     uint8_t rnsize;
-    uint8_t  _reserved1[16 - 11];       /* 11-15 */
+    uint8_t  _reserved1[15 - 11];       /* 11-15 */
+#define SCLP_READ_SCP_INFO_MNEST 4
+    uint8_t  stsi_parm;
     uint16_t entries_cpu;               /* 16-17 */
     uint16_t offset_cpu;                /* 18-19 */
     uint8_t  _reserved2[24 - 20];       /* 20-23 */
diff --git a/target/s390x/kvm/kvm.c b/target/s390x/kvm/kvm.c
index 7c3594d793..bc8b392e69 100644
--- a/target/s390x/kvm/kvm.c
+++ b/target/s390x/kvm/kvm.c
@@ -2126,7 +2126,6 @@  static void insert_stsi_15_1_4(const MachineState *ms, void *p)
     sysib->length = len;
 }
 
-#define SCLP_READ_SCP_INFO_MNEST 2
 static void insert_stsi_15_1_x(S390CPU *cpu, int sel2, __u64 addr, uint8_t ar)
 {
     const MachineState *machine = MACHINE(qdev_get_machine());