All of lore.kernel.org
 help / color / mirror / Atom feed
* [kvm-unit-tests PATCH v2 0/3] s390x: cpumodel: Add sclp checks
@ 2021-05-19  8:26 Janosch Frank
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 1/3] s390x: sclp: Only fetch read info byte 134 if cpu entries are above it Janosch Frank
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Janosch Frank @ 2021-05-19  8:26 UTC (permalink / raw)
  To: kvm; +Cc: frankja, david, cohuck, linux-s390, imbrenda, thuth

SCLP facilities have been a bit overlooked in cpumodel tests and have
recently caused some headaches. So let's extend the tests and the
library with a bit of sclp feature checking.

Based on the uv_host branch / patches.

v2:
	* Check bit instead of mask
	* Squashed fmt 2 and 4 patches into one

Janosch Frank (3):
  s390x: sclp: Only fetch read info byte 134 if cpu entries are above it
  lib: s390x: sclp: Extend feature probing
  s390x: cpumodel: FMT2 and FMT4 SCLP test

 lib/s390x/sclp.c | 23 +++++++++++++++-
 lib/s390x/sclp.h | 38 ++++++++++++++++++++++++--
 s390x/cpumodel.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++-
 3 files changed, 127 insertions(+), 5 deletions(-)

-- 
2.30.2


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [kvm-unit-tests PATCH v2 1/3] s390x: sclp: Only fetch read info byte 134 if cpu entries are above it
  2021-05-19  8:26 [kvm-unit-tests PATCH v2 0/3] s390x: cpumodel: Add sclp checks Janosch Frank
@ 2021-05-19  8:26 ` Janosch Frank
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing Janosch Frank
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 3/3] s390x: cpumodel: FMT2 and FMT4 SCLP test Janosch Frank
  2 siblings, 0 replies; 8+ messages in thread
From: Janosch Frank @ 2021-05-19  8:26 UTC (permalink / raw)
  To: kvm; +Cc: frankja, david, cohuck, linux-s390, imbrenda, thuth

The cpu offset tells us where the cpu entries are in the sclp read
info structure.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
---
 lib/s390x/sclp.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/s390x/sclp.c b/lib/s390x/sclp.c
index 7a9b2c52..f11c2035 100644
--- a/lib/s390x/sclp.c
+++ b/lib/s390x/sclp.c
@@ -138,7 +138,8 @@ void sclp_facilities_setup(void)
 	assert(read_info);
 
 	cpu = sclp_get_cpu_entries();
-	sclp_facilities.has_diag318 = read_info->byte_134_diag318;
+	if (read_info->offset_cpu > 134)
+		sclp_facilities.has_diag318 = read_info->byte_134_diag318;
 	for (i = 0; i < read_info->entries_cpu; i++, cpu++) {
 		/*
 		 * The logic for only reading the facilities from the
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing
  2021-05-19  8:26 [kvm-unit-tests PATCH v2 0/3] s390x: cpumodel: Add sclp checks Janosch Frank
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 1/3] s390x: sclp: Only fetch read info byte 134 if cpu entries are above it Janosch Frank
@ 2021-05-19  8:26 ` Janosch Frank
  2021-05-19  9:06   ` David Hildenbrand
  2021-05-19 10:17   ` Cornelia Huck
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 3/3] s390x: cpumodel: FMT2 and FMT4 SCLP test Janosch Frank
  2 siblings, 2 replies; 8+ messages in thread
From: Janosch Frank @ 2021-05-19  8:26 UTC (permalink / raw)
  To: kvm; +Cc: frankja, david, cohuck, linux-s390, imbrenda, thuth

Lets grab more of the feature bits from SCLP read info so we can use
them in the cpumodel tests.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
---
 lib/s390x/sclp.c | 20 ++++++++++++++++++++
 lib/s390x/sclp.h | 38 +++++++++++++++++++++++++++++++++++---
 2 files changed, 55 insertions(+), 3 deletions(-)

diff --git a/lib/s390x/sclp.c b/lib/s390x/sclp.c
index f11c2035..291924b0 100644
--- a/lib/s390x/sclp.c
+++ b/lib/s390x/sclp.c
@@ -129,6 +129,13 @@ CPUEntry *sclp_get_cpu_entries(void)
 	return (CPUEntry *)(_read_info + read_info->offset_cpu);
 }
 
+static bool sclp_feat_check(int byte, int bit)
+{
+	uint8_t *rib = (uint8_t *)read_info;
+
+	return !!(rib[byte] & (0x80 >> bit));
+}
+
 void sclp_facilities_setup(void)
 {
 	unsigned short cpu0_addr = stap();
@@ -140,6 +147,14 @@ void sclp_facilities_setup(void)
 	cpu = sclp_get_cpu_entries();
 	if (read_info->offset_cpu > 134)
 		sclp_facilities.has_diag318 = read_info->byte_134_diag318;
+	sclp_facilities.has_gsls = sclp_feat_check(85, SCLP_FEAT_85_BIT_GSLS);
+	sclp_facilities.has_kss = sclp_feat_check(98, SCLP_FEAT_98_BIT_KSS);
+	sclp_facilities.has_cmma = sclp_feat_check(116, SCLP_FEAT_116_BIT_CMMA);
+	sclp_facilities.has_64bscao = sclp_feat_check(116, SCLP_FEAT_116_BIT_64BSCAO);
+	sclp_facilities.has_esca = sclp_feat_check(116, SCLP_FEAT_116_BIT_ESCA);
+	sclp_facilities.has_ibs = sclp_feat_check(117, SCLP_FEAT_117_BIT_IBS);
+	sclp_facilities.has_pfmfi = sclp_feat_check(117, SCLP_FEAT_117_BIT_PFMFI);
+
 	for (i = 0; i < read_info->entries_cpu; i++, cpu++) {
 		/*
 		 * The logic for only reading the facilities from the
@@ -150,6 +165,11 @@ void sclp_facilities_setup(void)
 		 */
 		if (cpu->address == cpu0_addr) {
 			sclp_facilities.has_sief2 = cpu->feat_sief2;
+			sclp_facilities.has_skeyi = cpu->feat_skeyi;
+			sclp_facilities.has_siif = cpu->feat_siif;
+			sclp_facilities.has_sigpif = cpu->feat_sigpif;
+			sclp_facilities.has_ib = cpu->feat_ib;
+			sclp_facilities.has_cei = cpu->feat_cei;
 			break;
 		}
 	}
diff --git a/lib/s390x/sclp.h b/lib/s390x/sclp.h
index 85231333..115bd2fa 100644
--- a/lib/s390x/sclp.h
+++ b/lib/s390x/sclp.h
@@ -94,9 +94,19 @@ typedef struct CPUEntry {
 	uint8_t reserved0;
 	uint8_t : 4;
 	uint8_t feat_sief2 : 1;
+	uint8_t feat_skeyi : 1;
+	uint8_t : 2;
+	uint8_t : 2;
+	uint8_t feat_gpere : 1;
+	uint8_t feat_siif : 1;
+	uint8_t feat_sigpif : 1;
 	uint8_t : 3;
-	uint8_t features_res2 [SCCB_CPU_FEATURE_LEN - 1];
-	uint8_t reserved2[6];
+	uint8_t reserved2[3];
+	uint8_t : 2;
+	uint8_t feat_ib : 1;
+	uint8_t feat_cei : 1;
+	uint8_t : 4;
+	uint8_t reserved3[6];
 	uint8_t type;
 	uint8_t reserved1;
 } __attribute__((packed)) CPUEntry;
@@ -105,10 +115,32 @@ extern struct sclp_facilities sclp_facilities;
 
 struct sclp_facilities {
 	uint64_t has_sief2 : 1;
+	uint64_t has_skeyi : 1;
+	uint64_t has_gpere : 1;
+	uint64_t has_siif : 1;
+	uint64_t has_sigpif : 1;
+	uint64_t has_ib : 1;
+	uint64_t has_cei : 1;
+
 	uint64_t has_diag318 : 1;
-	uint64_t : 62;
+	uint64_t has_gsls : 1;
+	uint64_t has_cmma : 1;
+	uint64_t has_64bscao : 1;
+	uint64_t has_esca : 1;
+	uint64_t has_kss : 1;
+	uint64_t has_pfmfi : 1;
+	uint64_t has_ibs : 1;
+	uint64_t : 64 - 15;
 };
 
+#define SCLP_FEAT_85_BIT_GSLS		7
+#define SCLP_FEAT_98_BIT_KSS		0
+#define SCLP_FEAT_116_BIT_64BSCAO	7
+#define SCLP_FEAT_116_BIT_CMMA		6
+#define SCLP_FEAT_116_BIT_ESCA		3
+#define SCLP_FEAT_117_BIT_PFMFI		6
+#define SCLP_FEAT_117_BIT_IBS		5
+
 typedef struct ReadInfo {
 	SCCBHeader h;
 	uint16_t rnmax;
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [kvm-unit-tests PATCH v2 3/3] s390x: cpumodel: FMT2 and FMT4 SCLP test
  2021-05-19  8:26 [kvm-unit-tests PATCH v2 0/3] s390x: cpumodel: Add sclp checks Janosch Frank
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 1/3] s390x: sclp: Only fetch read info byte 134 if cpu entries are above it Janosch Frank
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing Janosch Frank
@ 2021-05-19  8:26 ` Janosch Frank
  2021-05-19 10:19   ` Cornelia Huck
  2 siblings, 1 reply; 8+ messages in thread
From: Janosch Frank @ 2021-05-19  8:26 UTC (permalink / raw)
  To: kvm; +Cc: frankja, david, cohuck, linux-s390, imbrenda, thuth

SCLP is also part of the cpumodel, so we need to make sure that the
features indicated via read info / read cpu info are correct.

Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
Acked-by: David Hildenbrand <david@redhat.com>
---
 s390x/cpumodel.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 70 insertions(+), 1 deletion(-)

diff --git a/s390x/cpumodel.c b/s390x/cpumodel.c
index 4dd8b96f..67bb6543 100644
--- a/s390x/cpumodel.c
+++ b/s390x/cpumodel.c
@@ -2,14 +2,81 @@
 /*
  * Test the known dependencies for facilities
  *
- * Copyright 2019 IBM Corp.
+ * Copyright 2019, 2021 IBM Corp.
  *
  * Authors:
  *    Christian Borntraeger <borntraeger@de.ibm.com>
+ *    Janosch Frank <frankja@linux.ibm.com>
  */
 
 #include <asm/facility.h>
 #include <vm.h>
+#include <sclp.h>
+#include <uv.h>
+#include <asm/uv.h>
+
+static void test_sclp_missing_sief2_implications(void)
+{
+	/* Virtualization related facilities */
+	report(!sclp_facilities.has_64bscao, "!64bscao");
+	report(!sclp_facilities.has_pfmfi, "!pfmfi");
+	report(!sclp_facilities.has_gsls, "!gsls");
+	report(!sclp_facilities.has_cmma, "!cmma");
+	report(!sclp_facilities.has_esca, "!esca");
+	report(!sclp_facilities.has_kss, "!kss");
+	report(!sclp_facilities.has_ibs, "!ibs");
+
+	/* Virtualization related facilities reported via CPU entries */
+	report(!sclp_facilities.has_sigpif, "!sigpif");
+	report(!sclp_facilities.has_sief2, "!sief2");
+	report(!sclp_facilities.has_skeyi, "!skeyi");
+	report(!sclp_facilities.has_siif, "!siif");
+	report(!sclp_facilities.has_cei, "!cei");
+	report(!sclp_facilities.has_ib, "!ib");
+}
+
+static void test_sclp_features_fmt4(void)
+{
+	/*
+	 * STFLE facilities are handled by the Ultravisor but SCLP
+	 * facilities are advertised by the hypervisor.
+	 */
+	report_prefix_push("PV guest implies");
+
+	/* General facilities */
+	report(!sclp_facilities.has_diag318, "!diag318");
+
+	/*
+	 * Virtualization related facilities, all of which are
+	 * unavailable because there's no virtualization support in a
+	 * protected guest.
+	 */
+	test_sclp_missing_sief2_implications();
+
+	report_prefix_pop();
+}
+
+static void test_sclp_features_fmt2(void)
+{
+	if (sclp_facilities.has_sief2)
+		return;
+
+	report_prefix_push("!sief2 implies");
+	test_sclp_missing_sief2_implications();
+	report_prefix_pop();
+}
+
+static void test_sclp_features(void)
+{
+	report_prefix_push("sclp");
+
+	if (uv_os_is_guest())
+		test_sclp_features_fmt4();
+	else
+		test_sclp_features_fmt2();
+
+	report_prefix_pop();
+}
 
 static struct {
 	int facility;
@@ -60,6 +127,8 @@ int main(void)
 	}
 	report_prefix_pop();
 
+	test_sclp_features();
+
 	report_prefix_pop();
 	return report_summary();
 }
-- 
2.30.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing Janosch Frank
@ 2021-05-19  9:06   ` David Hildenbrand
  2021-05-19 10:17   ` Cornelia Huck
  1 sibling, 0 replies; 8+ messages in thread
From: David Hildenbrand @ 2021-05-19  9:06 UTC (permalink / raw)
  To: Janosch Frank, kvm; +Cc: cohuck, linux-s390, imbrenda, thuth

On 19.05.21 10:26, Janosch Frank wrote:
> Lets grab more of the feature bits from SCLP read info so we can use
> them in the cpumodel tests.
> 
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
>   lib/s390x/sclp.c | 20 ++++++++++++++++++++
>   lib/s390x/sclp.h | 38 +++++++++++++++++++++++++++++++++++---
>   2 files changed, 55 insertions(+), 3 deletions(-)
> 
> diff --git a/lib/s390x/sclp.c b/lib/s390x/sclp.c
> index f11c2035..291924b0 100644
> --- a/lib/s390x/sclp.c
> +++ b/lib/s390x/sclp.c
> @@ -129,6 +129,13 @@ CPUEntry *sclp_get_cpu_entries(void)
>   	return (CPUEntry *)(_read_info + read_info->offset_cpu);
>   }
>   
> +static bool sclp_feat_check(int byte, int bit)
> +{
> +	uint8_t *rib = (uint8_t *)read_info;
> +
> +	return !!(rib[byte] & (0x80 >> bit));
> +}
> +
>   void sclp_facilities_setup(void)
>   {
>   	unsigned short cpu0_addr = stap();
> @@ -140,6 +147,14 @@ void sclp_facilities_setup(void)
>   	cpu = sclp_get_cpu_entries();
>   	if (read_info->offset_cpu > 134)
>   		sclp_facilities.has_diag318 = read_info->byte_134_diag318;
> +	sclp_facilities.has_gsls = sclp_feat_check(85, SCLP_FEAT_85_BIT_GSLS);
> +	sclp_facilities.has_kss = sclp_feat_check(98, SCLP_FEAT_98_BIT_KSS);
> +	sclp_facilities.has_cmma = sclp_feat_check(116, SCLP_FEAT_116_BIT_CMMA);
> +	sclp_facilities.has_64bscao = sclp_feat_check(116, SCLP_FEAT_116_BIT_64BSCAO);
> +	sclp_facilities.has_esca = sclp_feat_check(116, SCLP_FEAT_116_BIT_ESCA);
> +	sclp_facilities.has_ibs = sclp_feat_check(117, SCLP_FEAT_117_BIT_IBS);
> +	sclp_facilities.has_pfmfi = sclp_feat_check(117, SCLP_FEAT_117_BIT_PFMFI);
> +
>   	for (i = 0; i < read_info->entries_cpu; i++, cpu++) {
>   		/*
>   		 * The logic for only reading the facilities from the
> @@ -150,6 +165,11 @@ void sclp_facilities_setup(void)
>   		 */
>   		if (cpu->address == cpu0_addr) {
>   			sclp_facilities.has_sief2 = cpu->feat_sief2;
> +			sclp_facilities.has_skeyi = cpu->feat_skeyi;
> +			sclp_facilities.has_siif = cpu->feat_siif;
> +			sclp_facilities.has_sigpif = cpu->feat_sigpif;
> +			sclp_facilities.has_ib = cpu->feat_ib;
> +			sclp_facilities.has_cei = cpu->feat_cei;
>   			break;
>   		}
>   	}
> diff --git a/lib/s390x/sclp.h b/lib/s390x/sclp.h
> index 85231333..115bd2fa 100644
> --- a/lib/s390x/sclp.h
> +++ b/lib/s390x/sclp.h
> @@ -94,9 +94,19 @@ typedef struct CPUEntry {
>   	uint8_t reserved0;
>   	uint8_t : 4;
>   	uint8_t feat_sief2 : 1;
> +	uint8_t feat_skeyi : 1;
> +	uint8_t : 2;
> +	uint8_t : 2;
> +	uint8_t feat_gpere : 1;
> +	uint8_t feat_siif : 1;
> +	uint8_t feat_sigpif : 1;
>   	uint8_t : 3;
> -	uint8_t features_res2 [SCCB_CPU_FEATURE_LEN - 1];
> -	uint8_t reserved2[6];
> +	uint8_t reserved2[3];
> +	uint8_t : 2;
> +	uint8_t feat_ib : 1;
> +	uint8_t feat_cei : 1;
> +	uint8_t : 4;
> +	uint8_t reserved3[6];
>   	uint8_t type;
>   	uint8_t reserved1;
>   } __attribute__((packed)) CPUEntry;
> @@ -105,10 +115,32 @@ extern struct sclp_facilities sclp_facilities;
>   
>   struct sclp_facilities {
>   	uint64_t has_sief2 : 1;
> +	uint64_t has_skeyi : 1;
> +	uint64_t has_gpere : 1;
> +	uint64_t has_siif : 1;
> +	uint64_t has_sigpif : 1;
> +	uint64_t has_ib : 1;
> +	uint64_t has_cei : 1;
> +
>   	uint64_t has_diag318 : 1;
> -	uint64_t : 62;
> +	uint64_t has_gsls : 1;
> +	uint64_t has_cmma : 1;
> +	uint64_t has_64bscao : 1;
> +	uint64_t has_esca : 1;
> +	uint64_t has_kss : 1;
> +	uint64_t has_pfmfi : 1;
> +	uint64_t has_ibs : 1;
> +	uint64_t : 64 - 15;
>   };
>   
> +#define SCLP_FEAT_85_BIT_GSLS		7
> +#define SCLP_FEAT_98_BIT_KSS		0
> +#define SCLP_FEAT_116_BIT_64BSCAO	7
> +#define SCLP_FEAT_116_BIT_CMMA		6
> +#define SCLP_FEAT_116_BIT_ESCA		3
> +#define SCLP_FEAT_117_BIT_PFMFI		6
> +#define SCLP_FEAT_117_BIT_IBS		5
> +
>   typedef struct ReadInfo {
>   	SCCBHeader h;
>   	uint16_t rnmax;
> 

Acked-by: David Hildenbrand <david@redhat.com>

-- 
Thanks,

David / dhildenb


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing Janosch Frank
  2021-05-19  9:06   ` David Hildenbrand
@ 2021-05-19 10:17   ` Cornelia Huck
  2021-05-19 10:43     ` Janosch Frank
  1 sibling, 1 reply; 8+ messages in thread
From: Cornelia Huck @ 2021-05-19 10:17 UTC (permalink / raw)
  To: Janosch Frank; +Cc: kvm, david, linux-s390, imbrenda, thuth

On Wed, 19 May 2021 08:26:47 +0000
Janosch Frank <frankja@linux.ibm.com> wrote:

> Lets grab more of the feature bits from SCLP read info so we can use

s/Lets/Let's/ :)

> them in the cpumodel tests.
> 
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> ---
>  lib/s390x/sclp.c | 20 ++++++++++++++++++++
>  lib/s390x/sclp.h | 38 +++++++++++++++++++++++++++++++++++---
>  2 files changed, 55 insertions(+), 3 deletions(-)

(...)

Maybe add

/* bit number within a certain byte */

> +#define SCLP_FEAT_85_BIT_GSLS		7
> +#define SCLP_FEAT_98_BIT_KSS		0
> +#define SCLP_FEAT_116_BIT_64BSCAO	7
> +#define SCLP_FEAT_116_BIT_CMMA		6
> +#define SCLP_FEAT_116_BIT_ESCA		3
> +#define SCLP_FEAT_117_BIT_PFMFI		6
> +#define SCLP_FEAT_117_BIT_IBS		5
> +
>  typedef struct ReadInfo {
>  	SCCBHeader h;
>  	uint16_t rnmax;

Acked-by: Cornelia Huck <cohuck@redhat.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-unit-tests PATCH v2 3/3] s390x: cpumodel: FMT2 and FMT4 SCLP test
  2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 3/3] s390x: cpumodel: FMT2 and FMT4 SCLP test Janosch Frank
@ 2021-05-19 10:19   ` Cornelia Huck
  0 siblings, 0 replies; 8+ messages in thread
From: Cornelia Huck @ 2021-05-19 10:19 UTC (permalink / raw)
  To: Janosch Frank; +Cc: kvm, david, linux-s390, imbrenda, thuth

On Wed, 19 May 2021 08:26:48 +0000
Janosch Frank <frankja@linux.ibm.com> wrote:

> SCLP is also part of the cpumodel, so we need to make sure that the
> features indicated via read info / read cpu info are correct.
> 
> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
> Acked-by: David Hildenbrand <david@redhat.com>
> ---
>  s390x/cpumodel.c | 71 +++++++++++++++++++++++++++++++++++++++++++++++-
>  1 file changed, 70 insertions(+), 1 deletion(-)

Acked-by: Cornelia Huck <cohuck@redhat.com>


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing
  2021-05-19 10:17   ` Cornelia Huck
@ 2021-05-19 10:43     ` Janosch Frank
  0 siblings, 0 replies; 8+ messages in thread
From: Janosch Frank @ 2021-05-19 10:43 UTC (permalink / raw)
  To: Cornelia Huck; +Cc: kvm, david, linux-s390, imbrenda, thuth

On 5/19/21 12:17 PM, Cornelia Huck wrote:
> On Wed, 19 May 2021 08:26:47 +0000
> Janosch Frank <frankja@linux.ibm.com> wrote:
> 
>> Lets grab more of the feature bits from SCLP read info so we can use
> 
> s/Lets/Let's/ :)

Sigh

> 
>> them in the cpumodel tests.
>>
>> Signed-off-by: Janosch Frank <frankja@linux.ibm.com>
>> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com>
>> ---
>>  lib/s390x/sclp.c | 20 ++++++++++++++++++++
>>  lib/s390x/sclp.h | 38 +++++++++++++++++++++++++++++++++++---
>>  2 files changed, 55 insertions(+), 3 deletions(-)
> 
> (...)
> 
> Maybe add
> 
> /* bit number within a certain byte */

Sure

> 
>> +#define SCLP_FEAT_85_BIT_GSLS		7
>> +#define SCLP_FEAT_98_BIT_KSS		0
>> +#define SCLP_FEAT_116_BIT_64BSCAO	7
>> +#define SCLP_FEAT_116_BIT_CMMA		6
>> +#define SCLP_FEAT_116_BIT_ESCA		3
>> +#define SCLP_FEAT_117_BIT_PFMFI		6
>> +#define SCLP_FEAT_117_BIT_IBS		5
>> +
>>  typedef struct ReadInfo {
>>  	SCCBHeader h;
>>  	uint16_t rnmax;
> 
> Acked-by: Cornelia Huck <cohuck@redhat.com>
> 

Thanks!

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2021-05-19 10:44 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-19  8:26 [kvm-unit-tests PATCH v2 0/3] s390x: cpumodel: Add sclp checks Janosch Frank
2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 1/3] s390x: sclp: Only fetch read info byte 134 if cpu entries are above it Janosch Frank
2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 2/3] lib: s390x: sclp: Extend feature probing Janosch Frank
2021-05-19  9:06   ` David Hildenbrand
2021-05-19 10:17   ` Cornelia Huck
2021-05-19 10:43     ` Janosch Frank
2021-05-19  8:26 ` [kvm-unit-tests PATCH v2 3/3] s390x: cpumodel: FMT2 and FMT4 SCLP test Janosch Frank
2021-05-19 10:19   ` Cornelia Huck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.