[kvm-unit-tests PATCH v3 1/4] s390x: lib: Add SCLP toplogy nested level

Pierre Morel
2022-01-10T13:36:33Z

The maximum CPU Topology nested level is available with the SCLP
READ_INFO command inside the byte at offset 15 of the ReadInfo
structure.

Let's return this information to check the number of topology nested
information available with the STSI 15.1.x instruction.

Signed-off-by: Pierre Morel <pmorel@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
---
lib/s390x/sclp.c | 6 ++++++
lib/s390x/sclp.h | 4 +++-
2 files changed, 9 insertions(+), 1 deletion(-)

diff --git a/lib/s390x/sclp.c b/lib/s390x/sclp.c
index 33985eb4..e15b3b2c 100644
--- a/lib/s390x/sclp.c
+++ b/lib/s390x/sclp.c
@@ -128,6 +128,12 @@ int sclp_get_cpu_num(void)
return read_info->entries_cpu;
}

+int sclp_get_stsi_parm(void)
+{
+ assert(read_info);
+ return read_info->stsi_parm;
+}
+
CPUEntry *sclp_get_cpu_entries(void)
{
assert(read_info);
diff --git a/lib/s390x/sclp.h b/lib/s390x/sclp.h
index fead007a..541eb441 100644
--- a/lib/s390x/sclp.h
+++ b/lib/s390x/sclp.h
@@ -146,7 +146,8 @@ 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;
uint16_t entries_cpu; /* 16-17 */
uint16_t offset_cpu; /* 18-19 */
uint8_t _reserved2[24 - 20]; /* 20-23 */
@@ -323,6 +324,7 @@ void sclp_console_setup(void);
void sclp_print(const char *str);
void sclp_read_info(void);
int sclp_get_cpu_num(void);
+int sclp_get_stsi_parm(void);
CPUEntry *sclp_get_cpu_entries(void);
void sclp_facilities_setup(void);
int sclp_service_call(unsigned int command, void *sccb);
--
2.27.0