* [Qemu-devel] [PATCH v2 00/10] s390x: new guest features
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 01/10] linux header sync Christian Borntraeger
` (10 subsequent siblings)
11 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
Adding gen15.
v1->v2: - rework csske deprecation
- white space fixes
- also require msa4 for msa9
Christian Borntraeger (7):
*** BLURB HERE ***
Christian Borntraeger (10):
linux header sync
s390x/cpumodel: ignore csske for expansion
s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3
s390x/cpumodel: msa9 facility
s390x/cpumodel: vector enhancements
s390x/cpumodel: enhanced sort facility
s390x/cpumodel: add Deflate-conversion facility
s390x/cpumodel: add gen15 defintions
s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
linux-headers/asm-s390/kvm.h | 5 +-
target/s390x/cpu_features.c | 54 ++++++++++++++++
target/s390x/cpu_features.h | 3 +
target/s390x/cpu_features_def.h | 49 +++++++++++++++
target/s390x/cpu_models.c | 6 ++
target/s390x/gen-features.c | 105 ++++++++++++++++++++++++++++++++
target/s390x/kvm.c | 18 ++++++
7 files changed, 239 insertions(+), 1 deletion(-)
--
2.17.1
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 01/10] linux header sync
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 02/10] s390x/cpumodel: ignore csske for expansion Christian Borntraeger
` (9 subsequent siblings)
11 siblings, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
to be replaced by a proper one
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
| 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--git a/linux-headers/asm-s390/kvm.h b/linux-headers/asm-s390/kvm.h
index 0265482f8f..03ab5968c7 100644
--- a/linux-headers/asm-s390/kvm.h
+++ b/linux-headers/asm-s390/kvm.h
@@ -152,7 +152,10 @@ struct kvm_s390_vm_cpu_subfunc {
__u8 pcc[16]; /* with MSA4 */
__u8 ppno[16]; /* with MSA5 */
__u8 kma[16]; /* with MSA8 */
- __u8 reserved[1808];
+ __u8 kdsa[16]; /* with MSA9 */
+ __u8 sortl[32]; /* with STFLE.150 */
+ __u8 dfltcc[32]; /* with STFLE.151 */
+ __u8 reserved[1728];
};
/* kvm attributes for crypto */
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 01/10] linux header sync
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 01/10] linux header sync Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
to be replaced by a proper one
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
| 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
--git a/linux-headers/asm-s390/kvm.h b/linux-headers/asm-s390/kvm.h
index 0265482f8f..03ab5968c7 100644
--- a/linux-headers/asm-s390/kvm.h
+++ b/linux-headers/asm-s390/kvm.h
@@ -152,7 +152,10 @@ struct kvm_s390_vm_cpu_subfunc {
__u8 pcc[16]; /* with MSA4 */
__u8 ppno[16]; /* with MSA5 */
__u8 kma[16]; /* with MSA8 */
- __u8 reserved[1808];
+ __u8 kdsa[16]; /* with MSA9 */
+ __u8 sortl[32]; /* with STFLE.150 */
+ __u8 dfltcc[32]; /* with STFLE.151 */
+ __u8 reserved[1728];
};
/* kvm attributes for crypto */
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 02/10] s390x/cpumodel: ignore csske for expansion
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 01/10] linux header sync Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:15 ` David Hildenbrand
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 03/10] s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3 Christian Borntraeger
` (8 subsequent siblings)
11 siblings, 2 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
csske will be removed in a future machine. Ignore it for expanding the
cpu model. Otherwise qemu falls back to z9.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: qemu-stable@nongnu.org
---
target/s390x/cpu_models.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index e5afa15512..b4bb5de635 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -1322,6 +1322,8 @@ static void init_ignored_base_feat(void)
S390_FEAT_KM_TDEA_192,
S390_FEAT_KIMD_SHA_1,
S390_FEAT_KLMD_SHA_1,
+ /* CSSKE is deprecated on newer generations */
+ S390_FEAT_CONDITIONAL_SSKE,
};
int i;
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 02/10] s390x/cpumodel: ignore csske for expansion
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 02/10] s390x/cpumodel: ignore csske for expansion Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:15 ` David Hildenbrand
1 sibling, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
csske will be removed in a future machine. Ignore it for expanding the
cpu model. Otherwise qemu falls back to z9.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Cc: qemu-stable@nongnu.org
---
target/s390x/cpu_models.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index e5afa15512..b4bb5de635 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -1322,6 +1322,8 @@ static void init_ignored_base_feat(void)
S390_FEAT_KM_TDEA_192,
S390_FEAT_KIMD_SHA_1,
S390_FEAT_KLMD_SHA_1,
+ /* CSSKE is deprecated on newer generations */
+ S390_FEAT_CONDITIONAL_SSKE,
};
int i;
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 02/10] s390x/cpumodel: ignore csske for expansion
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 02/10] s390x/cpumodel: ignore csske for expansion Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
@ 2019-04-26 11:15 ` David Hildenbrand
2019-04-26 11:15 ` David Hildenbrand
1 sibling, 1 reply; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:15 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:09, Christian Borntraeger wrote:
> csske will be removed in a future machine. Ignore it for expanding the
> cpu model. Otherwise qemu falls back to z9.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: qemu-stable@nongnu.org
> ---
> target/s390x/cpu_models.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index e5afa15512..b4bb5de635 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -1322,6 +1322,8 @@ static void init_ignored_base_feat(void)
> S390_FEAT_KM_TDEA_192,
> S390_FEAT_KIMD_SHA_1,
> S390_FEAT_KLMD_SHA_1,
> + /* CSSKE is deprecated on newer generations */
> + S390_FEAT_CONDITIONAL_SSKE,
> };
> int i;
>
>
Reviewed-by: David Hildenbrand <david@redhat.com>
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 02/10] s390x/cpumodel: ignore csske for expansion
2019-04-26 11:15 ` David Hildenbrand
@ 2019-04-26 11:15 ` David Hildenbrand
0 siblings, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:15 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:09, Christian Borntraeger wrote:
> csske will be removed in a future machine. Ignore it for expanding the
> cpu model. Otherwise qemu falls back to z9.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> Cc: qemu-stable@nongnu.org
> ---
> target/s390x/cpu_models.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index e5afa15512..b4bb5de635 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -1322,6 +1322,8 @@ static void init_ignored_base_feat(void)
> S390_FEAT_KM_TDEA_192,
> S390_FEAT_KIMD_SHA_1,
> S390_FEAT_KLMD_SHA_1,
> + /* CSSKE is deprecated on newer generations */
> + S390_FEAT_CONDITIONAL_SSKE,
> };
> int i;
>
>
Reviewed-by: David Hildenbrand <david@redhat.com>
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 03/10] s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (2 preceding siblings ...)
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 02/10] s390x/cpumodel: ignore csske for expansion Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 04/10] s390x/cpumodel: msa9 facility Christian Borntraeger
` (7 subsequent siblings)
11 siblings, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
Provide the "Miscellaneous-Instruction-Extensions Facility 3" via
stfle.61.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu_features.c | 1 +
target/s390x/cpu_features_def.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 1843c84aaa..bbd8902087 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -83,6 +83,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("minste2", S390_FEAT_TYPE_STFL, 58, "Miscellaneous-instruction-extensions facility 2"),
FEAT_INIT("sema", S390_FEAT_TYPE_STFL, 59, "Semaphore-assist facility"),
FEAT_INIT("tsi", S390_FEAT_TYPE_STFL, 60, "Time-slice Instrumentation facility"),
+ FEAT_INIT("minste3", S390_FEAT_TYPE_STFL, 61, "Miscellaneous-Instruction-Extensions Facility 3"),
FEAT_INIT("ri", S390_FEAT_TYPE_STFL, 64, "CPU runtime-instrumentation facility"),
FEAT_INIT("zpci", S390_FEAT_TYPE_STFL, 69, "z/PCI facility"),
FEAT_INIT("aen", S390_FEAT_TYPE_STFL, 71, "General-purpose-adapter-event-notification facility"),
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index 5fc7e7bf01..31dd678301 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -71,6 +71,7 @@ typedef enum {
S390_FEAT_MISC_INSTRUCTION_EXT,
S390_FEAT_SEMAPHORE_ASSIST,
S390_FEAT_TIME_SLICE_INSTRUMENTATION,
+ S390_FEAT_MISC_INSTRUCTION_EXT3,
S390_FEAT_RUNTIME_INSTRUMENTATION,
S390_FEAT_ZPCI,
S390_FEAT_ADAPTER_EVENT_NOTIFICATION,
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 03/10] s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 03/10] s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3 Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
Provide the "Miscellaneous-Instruction-Extensions Facility 3" via
stfle.61.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu_features.c | 1 +
target/s390x/cpu_features_def.h | 1 +
2 files changed, 2 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 1843c84aaa..bbd8902087 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -83,6 +83,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("minste2", S390_FEAT_TYPE_STFL, 58, "Miscellaneous-instruction-extensions facility 2"),
FEAT_INIT("sema", S390_FEAT_TYPE_STFL, 59, "Semaphore-assist facility"),
FEAT_INIT("tsi", S390_FEAT_TYPE_STFL, 60, "Time-slice Instrumentation facility"),
+ FEAT_INIT("minste3", S390_FEAT_TYPE_STFL, 61, "Miscellaneous-Instruction-Extensions Facility 3"),
FEAT_INIT("ri", S390_FEAT_TYPE_STFL, 64, "CPU runtime-instrumentation facility"),
FEAT_INIT("zpci", S390_FEAT_TYPE_STFL, 69, "z/PCI facility"),
FEAT_INIT("aen", S390_FEAT_TYPE_STFL, 71, "General-purpose-adapter-event-notification facility"),
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index 5fc7e7bf01..31dd678301 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -71,6 +71,7 @@ typedef enum {
S390_FEAT_MISC_INSTRUCTION_EXT,
S390_FEAT_SEMAPHORE_ASSIST,
S390_FEAT_TIME_SLICE_INSTRUMENTATION,
+ S390_FEAT_MISC_INSTRUCTION_EXT3,
S390_FEAT_RUNTIME_INSTRUMENTATION,
S390_FEAT_ZPCI,
S390_FEAT_ADAPTER_EVENT_NOTIFICATION,
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 04/10] s390x/cpumodel: msa9 facility
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (3 preceding siblings ...)
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 03/10] s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3 Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 05/10] s390x/cpumodel: vector enhancements Christian Borntraeger
` (6 subsequent siblings)
11 siblings, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
Provide the MSA9 facility (stfle.155).
This also contains pckmo functions for key wrapping. Keep them in a
separate group to disable those as a block if necessary.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/cpu_features.c | 32 +++++++++++++++++++++++++
target/s390x/cpu_features.h | 1 +
target/s390x/cpu_features_def.h | 31 ++++++++++++++++++++++++
target/s390x/cpu_models.c | 2 ++
target/s390x/gen-features.c | 42 +++++++++++++++++++++++++++++++++
target/s390x/kvm.c | 6 +++++
6 files changed, 114 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index bbd8902087..154e2bb354 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -108,6 +108,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("irbm", S390_FEAT_TYPE_STFL, 145, "Insert-reference-bits-multiple facility"),
FEAT_INIT("msa8-base", S390_FEAT_TYPE_STFL, 146, "Message-security-assist-extension-8 facility (excluding subfunctions)"),
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
+ FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
/* SCLP SCCB Byte 80 - 98 (bit numbers relative to byte-80) */
@@ -242,6 +243,11 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("pckmo-aes-128", S390_FEAT_TYPE_PCKMO, 18, "PCKMO Encrypted-AES-128-Key"),
FEAT_INIT("pckmo-aes-192", S390_FEAT_TYPE_PCKMO, 19, "PCKMO Encrypted-AES-192-Key"),
FEAT_INIT("pckmo-aes-256", S390_FEAT_TYPE_PCKMO, 20, "PCKMO Encrypted-AES-256-Key"),
+ FEAT_INIT("pckmo-ecc-p256", S390_FEAT_TYPE_PCKMO, 32, "PCKMO Encrypt-ECC-P256-Key"),
+ FEAT_INIT("pckmo-ecc-p384", S390_FEAT_TYPE_PCKMO, 33, "PCKMO Encrypt-ECC-P384-Key"),
+ FEAT_INIT("pckmo-ecc-p521", S390_FEAT_TYPE_PCKMO, 34, "PCKMO Encrypt-ECC-P521-Key"),
+ FEAT_INIT("pckmo-ecc-ed25519", S390_FEAT_TYPE_PCKMO, 40 , "PCKMO Encrypt-ECC-Ed25519-Key"),
+ FEAT_INIT("pckmo-ecc-ed448", S390_FEAT_TYPE_PCKMO, 41 , "PCKMO Encrypt-ECC-Ed448-Key"),
FEAT_INIT("kmctr-dea", S390_FEAT_TYPE_KMCTR, 1, "KMCTR DEA"),
FEAT_INIT("kmctr-tdea-128", S390_FEAT_TYPE_KMCTR, 2, "KMCTR TDEA-128"),
@@ -298,6 +304,13 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("pcc-xts-aes-256", S390_FEAT_TYPE_PCC, 52, "PCC Compute-XTS-Parameter-Using-AES-256"),
FEAT_INIT("pcc-xts-eaes-128", S390_FEAT_TYPE_PCC, 58, "PCC Compute-XTS-Parameter-Using-Encrypted-AES-128"),
FEAT_INIT("pcc-xts-eaes-256", S390_FEAT_TYPE_PCC, 60, "PCC Compute-XTS-Parameter-Using-Encrypted-AES-256"),
+ FEAT_INIT("pcc-scalar-mult-p256", S390_FEAT_TYPE_PCC, 64, "PCC Scalar-Multiply-P256"),
+ FEAT_INIT("pcc-scalar-mult-p384", S390_FEAT_TYPE_PCC, 65, "PCC Scalar-Multiply-P384"),
+ FEAT_INIT("pcc-scalar-mult-p521", S390_FEAT_TYPE_PCC, 66, "PCC Scalar-Multiply-P521"),
+ FEAT_INIT("pcc-scalar-mult-ed25519", S390_FEAT_TYPE_PCC, 72, "PCC Scalar-Multiply-Ed25519"),
+ FEAT_INIT("pcc-scalar-mult-ed448", S390_FEAT_TYPE_PCC, 73, "PCC Scalar-Multiply-Ed448"),
+ FEAT_INIT("pcc-scalar-mult-x25519", S390_FEAT_TYPE_PCC, 80, "PCC Scalar-Multiply-X25519"),
+ FEAT_INIT("pcc-scalar-mult-x448", S390_FEAT_TYPE_PCC, 81, "PCC Scalar-Multiply-X448"),
FEAT_INIT("ppno-sha-512-drng", S390_FEAT_TYPE_PPNO, 3, "PPNO SHA-512-DRNG"),
FEAT_INIT("prno-trng-qrtcr", S390_FEAT_TYPE_PPNO, 112, "PRNO TRNG-Query-Raw-to-Conditioned-Ratio"),
@@ -309,6 +322,22 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("kma-gcm-eaes-128", S390_FEAT_TYPE_KMA, 26, "KMA GCM-Encrypted-AES-128"),
FEAT_INIT("kma-gcm-eaes-192", S390_FEAT_TYPE_KMA, 27, "KMA GCM-Encrypted-AES-192"),
FEAT_INIT("kma-gcm-eaes-256", S390_FEAT_TYPE_KMA, 28, "KMA GCM-Encrypted-AES-256"),
+
+ FEAT_INIT("kdsa-ecdsa-verify-p256", S390_FEAT_TYPE_KDSA, 1, "KDSA ECDSA-Verify-P256"),
+ FEAT_INIT("kdsa-ecdsa-verify-p384", S390_FEAT_TYPE_KDSA, 2, "KDSA ECDSA-Verify-P384"),
+ FEAT_INIT("kdsa-ecdsa-verify-p521", S390_FEAT_TYPE_KDSA, 3, "KDSA ECDSA-Verify-P521"),
+ FEAT_INIT("kdsa-ecdsa-sign-p256", S390_FEAT_TYPE_KDSA, 9, "KDSA ECDSA-Sign-P256"),
+ FEAT_INIT("kdsa-ecdsa-sign-p384", S390_FEAT_TYPE_KDSA, 10, "KDSA ECDSA-Sign-P384"),
+ FEAT_INIT("kdsa-ecdsa-sign-p521", S390_FEAT_TYPE_KDSA, 11, "KDSA ECDSA-Sign-P521"),
+ FEAT_INIT("kdsa-eecdsa-sign-p256", S390_FEAT_TYPE_KDSA, 17, "KDSA Encrypted-ECDSA-Sign-P256"),
+ FEAT_INIT("kdsa-eecdsa-sign-p384", S390_FEAT_TYPE_KDSA, 18, "KDSA Encrypted-ECDSA-Sign-P384"),
+ FEAT_INIT("kdsa-eecdsa-sign-p521", S390_FEAT_TYPE_KDSA, 19, "KDSA Encrypted-ECDSA-Sign-P521"),
+ FEAT_INIT("kdsa-eddsa-verify-ed25519", S390_FEAT_TYPE_KDSA, 32, "KDSA EdDSA-Verify-Ed25519"),
+ FEAT_INIT("kdsa-eddsa-verify-ed448", S390_FEAT_TYPE_KDSA, 36, "KDSA EdDSA-Verify-Ed448"),
+ FEAT_INIT("kdsa-eddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 40, "KDSA EdDSA-Sign-Ed25519"),
+ FEAT_INIT("kdsa-eddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 44, "KDSA EdDSA-Sign-Ed448"),
+ FEAT_INIT("kdsa-eeddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 48, "KDSA Encrypted-EdDSA-Sign-Ed25519"),
+ FEAT_INIT("kdsa-eeddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 52, "KDSA Encrypted-EdDSA-Sign-Ed448"),
};
const S390FeatDef *s390_feat_def(S390Feat feat)
@@ -371,6 +400,7 @@ void s390_fill_feat_block(const S390FeatBitmap features, S390FeatType type,
case S390_FEAT_TYPE_PCC:
case S390_FEAT_TYPE_PPNO:
case S390_FEAT_TYPE_KMA:
+ case S390_FEAT_TYPE_KDSA:
set_be_bit(0, data); /* query is always available */
break;
default:
@@ -466,6 +496,8 @@ static S390FeatGroupDef s390_feature_groups[] = {
FEAT_GROUP_INIT("msa6", MSA_EXT_6, "Message-security-assist-extension 6 facility"),
FEAT_GROUP_INIT("msa7", MSA_EXT_7, "Message-security-assist-extension 7 facility"),
FEAT_GROUP_INIT("msa8", MSA_EXT_8, "Message-security-assist-extension 8 facility"),
+ FEAT_GROUP_INIT("msa9", MSA_EXT_9, "Message-security-assist-extension 9 facility"),
+ FEAT_GROUP_INIT("msa9_pckmo", MSA_EXT_9_PCKMO, "Message-security-assist-extension 9 PCKMO subfunctions"),
FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
};
diff --git a/target/s390x/cpu_features.h b/target/s390x/cpu_features.h
index effe790271..5ffd3db083 100644
--- a/target/s390x/cpu_features.h
+++ b/target/s390x/cpu_features.h
@@ -39,6 +39,7 @@ typedef enum {
S390_FEAT_TYPE_PCC,
S390_FEAT_TYPE_PPNO,
S390_FEAT_TYPE_KMA,
+ S390_FEAT_TYPE_KDSA,
} S390FeatType;
/* Definition of a CPU feature */
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index 31dd678301..030784811b 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -96,6 +96,7 @@ typedef enum {
S390_FEAT_INSERT_REFERENCE_BITS_MULT,
S390_FEAT_MSA_EXT_8,
S390_FEAT_CMM_NT,
+ S390_FEAT_MSA_EXT_9,
S390_FEAT_ETOKEN,
/* Sclp Conf Char */
@@ -240,6 +241,11 @@ typedef enum {
S390_FEAT_PCKMO_AES_128,
S390_FEAT_PCKMO_AES_192,
S390_FEAT_PCKMO_AES_256,
+ S390_FEAT_PCKMO_ECC_P256,
+ S390_FEAT_PCKMO_ECC_P384,
+ S390_FEAT_PCKMO_ECC_P521,
+ S390_FEAT_PCKMO_ECC_ED25519,
+ S390_FEAT_PCKMO_ECC_ED448,
/* KMCTR */
S390_FEAT_KMCTR_DEA,
@@ -300,6 +306,13 @@ typedef enum {
S390_FEAT_PCC_XTS_AES_256,
S390_FEAT_PCC_XTS_EAES_128,
S390_FEAT_PCC_XTS_EAES_256,
+ S390_FEAT_PCC_SCALAR_MULT_P256,
+ S390_FEAT_PCC_SCALAR_MULT_P384,
+ S390_FEAT_PCC_SCALAR_MULT_P512,
+ S390_FEAT_PCC_SCALAR_MULT_ED25519,
+ S390_FEAT_PCC_SCALAR_MULT_ED448,
+ S390_FEAT_PCC_SCALAR_MULT_X25519,
+ S390_FEAT_PCC_SCALAR_MULT_X448,
/* PPNO/PRNO */
S390_FEAT_PPNO_SHA_512_DRNG,
@@ -313,6 +326,24 @@ typedef enum {
S390_FEAT_KMA_GCM_EAES_128,
S390_FEAT_KMA_GCM_EAES_192,
S390_FEAT_KMA_GCM_EAES_256,
+
+ /* KDSA */
+ S390_FEAT_ECDSA_VERIFY_P256,
+ S390_FEAT_ECDSA_VERIFY_P384,
+ S390_FEAT_ECDSA_VERIFY_P512,
+ S390_FEAT_ECDSA_SIGN_P256,
+ S390_FEAT_ECDSA_SIGN_P384,
+ S390_FEAT_ECDSA_SIGN_P512,
+ S390_FEAT_EECDSA_SIGN_P256,
+ S390_FEAT_EECDSA_SIGN_P384,
+ S390_FEAT_EECDSA_SIGN_P512,
+ S390_FEAT_EDDSA_VERIFY_ED25519,
+ S390_FEAT_EDDSA_VERIFY_ED448,
+ S390_FEAT_EDDSA_SIGN_ED25519,
+ S390_FEAT_EDDSA_SIGN_ED448,
+ S390_FEAT_EEDDSA_SIGN_ED25519,
+ S390_FEAT_EEDDSA_SIGN_ED448,
+
S390_FEAT_MAX,
} S390Feat;
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index b4bb5de635..d683635eb5 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -782,6 +782,8 @@ static void check_consistency(const S390CPUModel *model)
{ S390_FEAT_SIE_CMMA, S390_FEAT_SIE_GSLS },
{ S390_FEAT_SIE_PFMFI, S390_FEAT_EDAT },
{ S390_FEAT_MSA_EXT_8, S390_FEAT_MSA_EXT_3 },
+ { S390_FEAT_MSA_EXT_9, S390_FEAT_MSA_EXT_3 },
+ { S390_FEAT_MSA_EXT_9, S390_FEAT_MSA_EXT_4 },
{ S390_FEAT_MULTIPLE_EPOCH, S390_FEAT_TOD_CLOCK_STEERING },
{ S390_FEAT_VECTOR_PACKED_DECIMAL, S390_FEAT_VECTOR },
{ S390_FEAT_VECTOR_ENH, S390_FEAT_VECTOR },
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index e4739a6b9f..a2f9e2b43f 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -213,6 +213,38 @@
S390_FEAT_KMA_GCM_EAES_192, \
S390_FEAT_KMA_GCM_EAES_256
+#define S390_FEAT_GROUP_MSA_EXT_9 \
+ S390_FEAT_MSA_EXT_9, \
+ S390_FEAT_ECDSA_VERIFY_P256, \
+ S390_FEAT_ECDSA_VERIFY_P384, \
+ S390_FEAT_ECDSA_VERIFY_P512, \
+ S390_FEAT_ECDSA_SIGN_P256, \
+ S390_FEAT_ECDSA_SIGN_P384, \
+ S390_FEAT_ECDSA_SIGN_P512, \
+ S390_FEAT_EECDSA_SIGN_P256, \
+ S390_FEAT_EECDSA_SIGN_P384, \
+ S390_FEAT_EECDSA_SIGN_P512, \
+ S390_FEAT_EDDSA_VERIFY_ED25519, \
+ S390_FEAT_EDDSA_VERIFY_ED448, \
+ S390_FEAT_EDDSA_SIGN_ED25519, \
+ S390_FEAT_EDDSA_SIGN_ED448, \
+ S390_FEAT_EEDDSA_SIGN_ED25519, \
+ S390_FEAT_EEDDSA_SIGN_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_P256, \
+ S390_FEAT_PCC_SCALAR_MULT_P384, \
+ S390_FEAT_PCC_SCALAR_MULT_P512, \
+ S390_FEAT_PCC_SCALAR_MULT_ED25519, \
+ S390_FEAT_PCC_SCALAR_MULT_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_X25519, \
+ S390_FEAT_PCC_SCALAR_MULT_X448
+
+#define S390_FEAT_GROUP_MSA_EXT_9_PCKMO \
+ S390_FEAT_PCKMO_ECC_P256, \
+ S390_FEAT_PCKMO_ECC_P384, \
+ S390_FEAT_PCKMO_ECC_P521, \
+ S390_FEAT_PCKMO_ECC_ED25519, \
+ S390_FEAT_PCKMO_ECC_ED448
+
/* cpu feature groups */
static uint16_t group_PLO[] = {
S390_FEAT_GROUP_PLO,
@@ -254,6 +286,14 @@ static uint16_t group_MSA_EXT_8[] = {
S390_FEAT_GROUP_MSA_EXT_8,
};
+static uint16_t group_MSA_EXT_9[] = {
+ S390_FEAT_GROUP_MSA_EXT_9,
+};
+
+static uint16_t group_MSA_EXT_9_PCKMO[] = {
+ S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
+};
+
/* Base features (in order of release)
* Only non-hypervisor managed features belong here.
* Base feature sets are static meaning they do not change in future QEMU
@@ -709,6 +749,8 @@ static FeatGroupDefSpec FeatGroupDef[] = {
FEAT_GROUP_INITIALIZER(MSA_EXT_6),
FEAT_GROUP_INITIALIZER(MSA_EXT_7),
FEAT_GROUP_INITIALIZER(MSA_EXT_8),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_9),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_9_PCKMO),
FEAT_GROUP_INITIALIZER(MULTIPLE_EPOCH_PTFF),
};
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index 7df7be4a1b..de0b984b68 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2073,6 +2073,9 @@ static int query_cpu_subfunc(S390FeatBitmap features)
if (test_bit(S390_FEAT_MSA_EXT_8, features)) {
s390_add_from_feat_block(features, S390_FEAT_TYPE_KMA, prop.kma);
}
+ if (test_bit(S390_FEAT_MSA_EXT_9, features)) {
+ s390_add_from_feat_block(features, S390_FEAT_TYPE_KDSA, prop.kdsa);
+ }
return 0;
}
@@ -2117,6 +2120,9 @@ static int configure_cpu_subfunc(const S390FeatBitmap features)
if (test_bit(S390_FEAT_MSA_EXT_8, features)) {
s390_fill_feat_block(features, S390_FEAT_TYPE_KMA, prop.kma);
}
+ if (test_bit(S390_FEAT_MSA_EXT_9, features)) {
+ s390_fill_feat_block(features, S390_FEAT_TYPE_KDSA, prop.kdsa);
+ }
return kvm_vm_ioctl(kvm_state, KVM_SET_DEVICE_ATTR, &attr);
}
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 04/10] s390x/cpumodel: msa9 facility
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 04/10] s390x/cpumodel: msa9 facility Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
Provide the MSA9 facility (stfle.155).
This also contains pckmo functions for key wrapping. Keep them in a
separate group to disable those as a block if necessary.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/cpu_features.c | 32 +++++++++++++++++++++++++
target/s390x/cpu_features.h | 1 +
target/s390x/cpu_features_def.h | 31 ++++++++++++++++++++++++
target/s390x/cpu_models.c | 2 ++
target/s390x/gen-features.c | 42 +++++++++++++++++++++++++++++++++
target/s390x/kvm.c | 6 +++++
6 files changed, 114 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index bbd8902087..154e2bb354 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -108,6 +108,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("irbm", S390_FEAT_TYPE_STFL, 145, "Insert-reference-bits-multiple facility"),
FEAT_INIT("msa8-base", S390_FEAT_TYPE_STFL, 146, "Message-security-assist-extension-8 facility (excluding subfunctions)"),
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
+ FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
/* SCLP SCCB Byte 80 - 98 (bit numbers relative to byte-80) */
@@ -242,6 +243,11 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("pckmo-aes-128", S390_FEAT_TYPE_PCKMO, 18, "PCKMO Encrypted-AES-128-Key"),
FEAT_INIT("pckmo-aes-192", S390_FEAT_TYPE_PCKMO, 19, "PCKMO Encrypted-AES-192-Key"),
FEAT_INIT("pckmo-aes-256", S390_FEAT_TYPE_PCKMO, 20, "PCKMO Encrypted-AES-256-Key"),
+ FEAT_INIT("pckmo-ecc-p256", S390_FEAT_TYPE_PCKMO, 32, "PCKMO Encrypt-ECC-P256-Key"),
+ FEAT_INIT("pckmo-ecc-p384", S390_FEAT_TYPE_PCKMO, 33, "PCKMO Encrypt-ECC-P384-Key"),
+ FEAT_INIT("pckmo-ecc-p521", S390_FEAT_TYPE_PCKMO, 34, "PCKMO Encrypt-ECC-P521-Key"),
+ FEAT_INIT("pckmo-ecc-ed25519", S390_FEAT_TYPE_PCKMO, 40 , "PCKMO Encrypt-ECC-Ed25519-Key"),
+ FEAT_INIT("pckmo-ecc-ed448", S390_FEAT_TYPE_PCKMO, 41 , "PCKMO Encrypt-ECC-Ed448-Key"),
FEAT_INIT("kmctr-dea", S390_FEAT_TYPE_KMCTR, 1, "KMCTR DEA"),
FEAT_INIT("kmctr-tdea-128", S390_FEAT_TYPE_KMCTR, 2, "KMCTR TDEA-128"),
@@ -298,6 +304,13 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("pcc-xts-aes-256", S390_FEAT_TYPE_PCC, 52, "PCC Compute-XTS-Parameter-Using-AES-256"),
FEAT_INIT("pcc-xts-eaes-128", S390_FEAT_TYPE_PCC, 58, "PCC Compute-XTS-Parameter-Using-Encrypted-AES-128"),
FEAT_INIT("pcc-xts-eaes-256", S390_FEAT_TYPE_PCC, 60, "PCC Compute-XTS-Parameter-Using-Encrypted-AES-256"),
+ FEAT_INIT("pcc-scalar-mult-p256", S390_FEAT_TYPE_PCC, 64, "PCC Scalar-Multiply-P256"),
+ FEAT_INIT("pcc-scalar-mult-p384", S390_FEAT_TYPE_PCC, 65, "PCC Scalar-Multiply-P384"),
+ FEAT_INIT("pcc-scalar-mult-p521", S390_FEAT_TYPE_PCC, 66, "PCC Scalar-Multiply-P521"),
+ FEAT_INIT("pcc-scalar-mult-ed25519", S390_FEAT_TYPE_PCC, 72, "PCC Scalar-Multiply-Ed25519"),
+ FEAT_INIT("pcc-scalar-mult-ed448", S390_FEAT_TYPE_PCC, 73, "PCC Scalar-Multiply-Ed448"),
+ FEAT_INIT("pcc-scalar-mult-x25519", S390_FEAT_TYPE_PCC, 80, "PCC Scalar-Multiply-X25519"),
+ FEAT_INIT("pcc-scalar-mult-x448", S390_FEAT_TYPE_PCC, 81, "PCC Scalar-Multiply-X448"),
FEAT_INIT("ppno-sha-512-drng", S390_FEAT_TYPE_PPNO, 3, "PPNO SHA-512-DRNG"),
FEAT_INIT("prno-trng-qrtcr", S390_FEAT_TYPE_PPNO, 112, "PRNO TRNG-Query-Raw-to-Conditioned-Ratio"),
@@ -309,6 +322,22 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("kma-gcm-eaes-128", S390_FEAT_TYPE_KMA, 26, "KMA GCM-Encrypted-AES-128"),
FEAT_INIT("kma-gcm-eaes-192", S390_FEAT_TYPE_KMA, 27, "KMA GCM-Encrypted-AES-192"),
FEAT_INIT("kma-gcm-eaes-256", S390_FEAT_TYPE_KMA, 28, "KMA GCM-Encrypted-AES-256"),
+
+ FEAT_INIT("kdsa-ecdsa-verify-p256", S390_FEAT_TYPE_KDSA, 1, "KDSA ECDSA-Verify-P256"),
+ FEAT_INIT("kdsa-ecdsa-verify-p384", S390_FEAT_TYPE_KDSA, 2, "KDSA ECDSA-Verify-P384"),
+ FEAT_INIT("kdsa-ecdsa-verify-p521", S390_FEAT_TYPE_KDSA, 3, "KDSA ECDSA-Verify-P521"),
+ FEAT_INIT("kdsa-ecdsa-sign-p256", S390_FEAT_TYPE_KDSA, 9, "KDSA ECDSA-Sign-P256"),
+ FEAT_INIT("kdsa-ecdsa-sign-p384", S390_FEAT_TYPE_KDSA, 10, "KDSA ECDSA-Sign-P384"),
+ FEAT_INIT("kdsa-ecdsa-sign-p521", S390_FEAT_TYPE_KDSA, 11, "KDSA ECDSA-Sign-P521"),
+ FEAT_INIT("kdsa-eecdsa-sign-p256", S390_FEAT_TYPE_KDSA, 17, "KDSA Encrypted-ECDSA-Sign-P256"),
+ FEAT_INIT("kdsa-eecdsa-sign-p384", S390_FEAT_TYPE_KDSA, 18, "KDSA Encrypted-ECDSA-Sign-P384"),
+ FEAT_INIT("kdsa-eecdsa-sign-p521", S390_FEAT_TYPE_KDSA, 19, "KDSA Encrypted-ECDSA-Sign-P521"),
+ FEAT_INIT("kdsa-eddsa-verify-ed25519", S390_FEAT_TYPE_KDSA, 32, "KDSA EdDSA-Verify-Ed25519"),
+ FEAT_INIT("kdsa-eddsa-verify-ed448", S390_FEAT_TYPE_KDSA, 36, "KDSA EdDSA-Verify-Ed448"),
+ FEAT_INIT("kdsa-eddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 40, "KDSA EdDSA-Sign-Ed25519"),
+ FEAT_INIT("kdsa-eddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 44, "KDSA EdDSA-Sign-Ed448"),
+ FEAT_INIT("kdsa-eeddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 48, "KDSA Encrypted-EdDSA-Sign-Ed25519"),
+ FEAT_INIT("kdsa-eeddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 52, "KDSA Encrypted-EdDSA-Sign-Ed448"),
};
const S390FeatDef *s390_feat_def(S390Feat feat)
@@ -371,6 +400,7 @@ void s390_fill_feat_block(const S390FeatBitmap features, S390FeatType type,
case S390_FEAT_TYPE_PCC:
case S390_FEAT_TYPE_PPNO:
case S390_FEAT_TYPE_KMA:
+ case S390_FEAT_TYPE_KDSA:
set_be_bit(0, data); /* query is always available */
break;
default:
@@ -466,6 +496,8 @@ static S390FeatGroupDef s390_feature_groups[] = {
FEAT_GROUP_INIT("msa6", MSA_EXT_6, "Message-security-assist-extension 6 facility"),
FEAT_GROUP_INIT("msa7", MSA_EXT_7, "Message-security-assist-extension 7 facility"),
FEAT_GROUP_INIT("msa8", MSA_EXT_8, "Message-security-assist-extension 8 facility"),
+ FEAT_GROUP_INIT("msa9", MSA_EXT_9, "Message-security-assist-extension 9 facility"),
+ FEAT_GROUP_INIT("msa9_pckmo", MSA_EXT_9_PCKMO, "Message-security-assist-extension 9 PCKMO subfunctions"),
FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
};
diff --git a/target/s390x/cpu_features.h b/target/s390x/cpu_features.h
index effe790271..5ffd3db083 100644
--- a/target/s390x/cpu_features.h
+++ b/target/s390x/cpu_features.h
@@ -39,6 +39,7 @@ typedef enum {
S390_FEAT_TYPE_PCC,
S390_FEAT_TYPE_PPNO,
S390_FEAT_TYPE_KMA,
+ S390_FEAT_TYPE_KDSA,
} S390FeatType;
/* Definition of a CPU feature */
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index 31dd678301..030784811b 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -96,6 +96,7 @@ typedef enum {
S390_FEAT_INSERT_REFERENCE_BITS_MULT,
S390_FEAT_MSA_EXT_8,
S390_FEAT_CMM_NT,
+ S390_FEAT_MSA_EXT_9,
S390_FEAT_ETOKEN,
/* Sclp Conf Char */
@@ -240,6 +241,11 @@ typedef enum {
S390_FEAT_PCKMO_AES_128,
S390_FEAT_PCKMO_AES_192,
S390_FEAT_PCKMO_AES_256,
+ S390_FEAT_PCKMO_ECC_P256,
+ S390_FEAT_PCKMO_ECC_P384,
+ S390_FEAT_PCKMO_ECC_P521,
+ S390_FEAT_PCKMO_ECC_ED25519,
+ S390_FEAT_PCKMO_ECC_ED448,
/* KMCTR */
S390_FEAT_KMCTR_DEA,
@@ -300,6 +306,13 @@ typedef enum {
S390_FEAT_PCC_XTS_AES_256,
S390_FEAT_PCC_XTS_EAES_128,
S390_FEAT_PCC_XTS_EAES_256,
+ S390_FEAT_PCC_SCALAR_MULT_P256,
+ S390_FEAT_PCC_SCALAR_MULT_P384,
+ S390_FEAT_PCC_SCALAR_MULT_P512,
+ S390_FEAT_PCC_SCALAR_MULT_ED25519,
+ S390_FEAT_PCC_SCALAR_MULT_ED448,
+ S390_FEAT_PCC_SCALAR_MULT_X25519,
+ S390_FEAT_PCC_SCALAR_MULT_X448,
/* PPNO/PRNO */
S390_FEAT_PPNO_SHA_512_DRNG,
@@ -313,6 +326,24 @@ typedef enum {
S390_FEAT_KMA_GCM_EAES_128,
S390_FEAT_KMA_GCM_EAES_192,
S390_FEAT_KMA_GCM_EAES_256,
+
+ /* KDSA */
+ S390_FEAT_ECDSA_VERIFY_P256,
+ S390_FEAT_ECDSA_VERIFY_P384,
+ S390_FEAT_ECDSA_VERIFY_P512,
+ S390_FEAT_ECDSA_SIGN_P256,
+ S390_FEAT_ECDSA_SIGN_P384,
+ S390_FEAT_ECDSA_SIGN_P512,
+ S390_FEAT_EECDSA_SIGN_P256,
+ S390_FEAT_EECDSA_SIGN_P384,
+ S390_FEAT_EECDSA_SIGN_P512,
+ S390_FEAT_EDDSA_VERIFY_ED25519,
+ S390_FEAT_EDDSA_VERIFY_ED448,
+ S390_FEAT_EDDSA_SIGN_ED25519,
+ S390_FEAT_EDDSA_SIGN_ED448,
+ S390_FEAT_EEDDSA_SIGN_ED25519,
+ S390_FEAT_EEDDSA_SIGN_ED448,
+
S390_FEAT_MAX,
} S390Feat;
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index b4bb5de635..d683635eb5 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -782,6 +782,8 @@ static void check_consistency(const S390CPUModel *model)
{ S390_FEAT_SIE_CMMA, S390_FEAT_SIE_GSLS },
{ S390_FEAT_SIE_PFMFI, S390_FEAT_EDAT },
{ S390_FEAT_MSA_EXT_8, S390_FEAT_MSA_EXT_3 },
+ { S390_FEAT_MSA_EXT_9, S390_FEAT_MSA_EXT_3 },
+ { S390_FEAT_MSA_EXT_9, S390_FEAT_MSA_EXT_4 },
{ S390_FEAT_MULTIPLE_EPOCH, S390_FEAT_TOD_CLOCK_STEERING },
{ S390_FEAT_VECTOR_PACKED_DECIMAL, S390_FEAT_VECTOR },
{ S390_FEAT_VECTOR_ENH, S390_FEAT_VECTOR },
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index e4739a6b9f..a2f9e2b43f 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -213,6 +213,38 @@
S390_FEAT_KMA_GCM_EAES_192, \
S390_FEAT_KMA_GCM_EAES_256
+#define S390_FEAT_GROUP_MSA_EXT_9 \
+ S390_FEAT_MSA_EXT_9, \
+ S390_FEAT_ECDSA_VERIFY_P256, \
+ S390_FEAT_ECDSA_VERIFY_P384, \
+ S390_FEAT_ECDSA_VERIFY_P512, \
+ S390_FEAT_ECDSA_SIGN_P256, \
+ S390_FEAT_ECDSA_SIGN_P384, \
+ S390_FEAT_ECDSA_SIGN_P512, \
+ S390_FEAT_EECDSA_SIGN_P256, \
+ S390_FEAT_EECDSA_SIGN_P384, \
+ S390_FEAT_EECDSA_SIGN_P512, \
+ S390_FEAT_EDDSA_VERIFY_ED25519, \
+ S390_FEAT_EDDSA_VERIFY_ED448, \
+ S390_FEAT_EDDSA_SIGN_ED25519, \
+ S390_FEAT_EDDSA_SIGN_ED448, \
+ S390_FEAT_EEDDSA_SIGN_ED25519, \
+ S390_FEAT_EEDDSA_SIGN_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_P256, \
+ S390_FEAT_PCC_SCALAR_MULT_P384, \
+ S390_FEAT_PCC_SCALAR_MULT_P512, \
+ S390_FEAT_PCC_SCALAR_MULT_ED25519, \
+ S390_FEAT_PCC_SCALAR_MULT_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_X25519, \
+ S390_FEAT_PCC_SCALAR_MULT_X448
+
+#define S390_FEAT_GROUP_MSA_EXT_9_PCKMO \
+ S390_FEAT_PCKMO_ECC_P256, \
+ S390_FEAT_PCKMO_ECC_P384, \
+ S390_FEAT_PCKMO_ECC_P521, \
+ S390_FEAT_PCKMO_ECC_ED25519, \
+ S390_FEAT_PCKMO_ECC_ED448
+
/* cpu feature groups */
static uint16_t group_PLO[] = {
S390_FEAT_GROUP_PLO,
@@ -254,6 +286,14 @@ static uint16_t group_MSA_EXT_8[] = {
S390_FEAT_GROUP_MSA_EXT_8,
};
+static uint16_t group_MSA_EXT_9[] = {
+ S390_FEAT_GROUP_MSA_EXT_9,
+};
+
+static uint16_t group_MSA_EXT_9_PCKMO[] = {
+ S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
+};
+
/* Base features (in order of release)
* Only non-hypervisor managed features belong here.
* Base feature sets are static meaning they do not change in future QEMU
@@ -709,6 +749,8 @@ static FeatGroupDefSpec FeatGroupDef[] = {
FEAT_GROUP_INITIALIZER(MSA_EXT_6),
FEAT_GROUP_INITIALIZER(MSA_EXT_7),
FEAT_GROUP_INITIALIZER(MSA_EXT_8),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_9),
+ FEAT_GROUP_INITIALIZER(MSA_EXT_9_PCKMO),
FEAT_GROUP_INITIALIZER(MULTIPLE_EPOCH_PTFF),
};
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index 7df7be4a1b..de0b984b68 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2073,6 +2073,9 @@ static int query_cpu_subfunc(S390FeatBitmap features)
if (test_bit(S390_FEAT_MSA_EXT_8, features)) {
s390_add_from_feat_block(features, S390_FEAT_TYPE_KMA, prop.kma);
}
+ if (test_bit(S390_FEAT_MSA_EXT_9, features)) {
+ s390_add_from_feat_block(features, S390_FEAT_TYPE_KDSA, prop.kdsa);
+ }
return 0;
}
@@ -2117,6 +2120,9 @@ static int configure_cpu_subfunc(const S390FeatBitmap features)
if (test_bit(S390_FEAT_MSA_EXT_8, features)) {
s390_fill_feat_block(features, S390_FEAT_TYPE_KMA, prop.kma);
}
+ if (test_bit(S390_FEAT_MSA_EXT_9, features)) {
+ s390_fill_feat_block(features, S390_FEAT_TYPE_KDSA, prop.kdsa);
+ }
return kvm_vm_ioctl(kvm_state, KVM_SET_DEVICE_ATTR, &attr);
}
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 05/10] s390x/cpumodel: vector enhancements
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (4 preceding siblings ...)
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 04/10] s390x/cpumodel: msa9 facility Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 06/10] s390x/cpumodel: enhanced sort facility Christian Borntraeger
` (5 subsequent siblings)
11 siblings, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
Add vector enhancements to the cpu model.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu_features.c | 2 ++
target/s390x/cpu_features_def.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 154e2bb354..35873253be 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -108,6 +108,8 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("irbm", S390_FEAT_TYPE_STFL, 145, "Insert-reference-bits-multiple facility"),
FEAT_INIT("msa8-base", S390_FEAT_TYPE_STFL, 146, "Message-security-assist-extension-8 facility (excluding subfunctions)"),
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
+ FEAT_INIT("vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector Enhancements facility 2"),
+ FEAT_INIT("vxbeh", S390_FEAT_TYPE_STFL, 152, "Vector BCD enhancements facility 1"),
FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index 030784811b..ce2223c9d7 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -96,6 +96,8 @@ typedef enum {
S390_FEAT_INSERT_REFERENCE_BITS_MULT,
S390_FEAT_MSA_EXT_8,
S390_FEAT_CMM_NT,
+ S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_VECTOR_BCD_ENH,
S390_FEAT_MSA_EXT_9,
S390_FEAT_ETOKEN,
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 05/10] s390x/cpumodel: vector enhancements
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 05/10] s390x/cpumodel: vector enhancements Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
Add vector enhancements to the cpu model.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu_features.c | 2 ++
target/s390x/cpu_features_def.h | 2 ++
2 files changed, 4 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 154e2bb354..35873253be 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -108,6 +108,8 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("irbm", S390_FEAT_TYPE_STFL, 145, "Insert-reference-bits-multiple facility"),
FEAT_INIT("msa8-base", S390_FEAT_TYPE_STFL, 146, "Message-security-assist-extension-8 facility (excluding subfunctions)"),
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
+ FEAT_INIT("vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector Enhancements facility 2"),
+ FEAT_INIT("vxbeh", S390_FEAT_TYPE_STFL, 152, "Vector BCD enhancements facility 1"),
FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index 030784811b..ce2223c9d7 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -96,6 +96,8 @@ typedef enum {
S390_FEAT_INSERT_REFERENCE_BITS_MULT,
S390_FEAT_MSA_EXT_8,
S390_FEAT_CMM_NT,
+ S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_VECTOR_BCD_ENH,
S390_FEAT_MSA_EXT_9,
S390_FEAT_ETOKEN,
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 06/10] s390x/cpumodel: enhanced sort facility
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (5 preceding siblings ...)
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 05/10] s390x/cpumodel: vector enhancements Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:09 ` Christian Borntraeger
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 07/10] s390x/cpumodel: add Deflate-conversion facility Christian Borntraeger
` (4 subsequent siblings)
11 siblings, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
add the enhanced sort facility.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu_features.c | 10 ++++++++++
target/s390x/cpu_features.h | 1 +
target/s390x/cpu_features_def.h | 8 ++++++++
target/s390x/gen-features.c | 14 ++++++++++++++
target/s390x/kvm.c | 6 ++++++
5 files changed, 39 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 35873253be..1d19b3072e 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -109,6 +109,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("msa8-base", S390_FEAT_TYPE_STFL, 146, "Message-security-assist-extension-8 facility (excluding subfunctions)"),
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
FEAT_INIT("vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector Enhancements facility 2"),
+ FEAT_INIT("esort-base", S390_FEAT_TYPE_STFL, 150, "Enhanced-sort facility (excluding subfunctions)"),
FEAT_INIT("vxbeh", S390_FEAT_TYPE_STFL, 152, "Vector BCD enhancements facility 1"),
FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
@@ -340,6 +341,12 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("kdsa-eddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 44, "KDSA EdDSA-Sign-Ed448"),
FEAT_INIT("kdsa-eeddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 48, "KDSA Encrypted-EdDSA-Sign-Ed25519"),
FEAT_INIT("kdsa-eeddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 52, "KDSA Encrypted-EdDSA-Sign-Ed448"),
+
+ FEAT_INIT("sortl-sflr", S390_FEAT_TYPE_SORTL, 1, "SORTL SFLR"),
+ FEAT_INIT("sortl-svlr", S390_FEAT_TYPE_SORTL, 2, "SORTL SVLR"),
+ FEAT_INIT("sortl-32", S390_FEAT_TYPE_SORTL, 130, "SORTL 32 input lists"),
+ FEAT_INIT("sortl-128", S390_FEAT_TYPE_SORTL, 132, "SORTL 128 input lists"),
+ FEAT_INIT("sortl-f0", S390_FEAT_TYPE_SORTL, 192, "SORTL format 0 parameter-block"),
};
const S390FeatDef *s390_feat_def(S390Feat feat)
@@ -403,6 +410,7 @@ void s390_fill_feat_block(const S390FeatBitmap features, S390FeatType type,
case S390_FEAT_TYPE_PPNO:
case S390_FEAT_TYPE_KMA:
case S390_FEAT_TYPE_KDSA:
+ case S390_FEAT_TYPE_SORTL:
set_be_bit(0, data); /* query is always available */
break;
default:
@@ -430,6 +438,7 @@ void s390_add_from_feat_block(S390FeatBitmap features, S390FeatType type,
nr_bits = 16384;
break;
case S390_FEAT_TYPE_PLO:
+ case S390_FEAT_TYPE_SORTL:
nr_bits = 256;
break;
default:
@@ -501,6 +510,7 @@ static S390FeatGroupDef s390_feature_groups[] = {
FEAT_GROUP_INIT("msa9", MSA_EXT_9, "Message-security-assist-extension 9 facility"),
FEAT_GROUP_INIT("msa9_pckmo", MSA_EXT_9_PCKMO, "Message-security-assist-extension 9 PCKMO subfunctions"),
FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
+ FEAT_GROUP_INIT("esort", ENH_SORT, "Enhanced-sort facility"),
};
const S390FeatGroupDef *s390_feat_group_def(S390FeatGroup group)
diff --git a/target/s390x/cpu_features.h b/target/s390x/cpu_features.h
index 5ffd3db083..3b8c5b25dd 100644
--- a/target/s390x/cpu_features.h
+++ b/target/s390x/cpu_features.h
@@ -40,6 +40,7 @@ typedef enum {
S390_FEAT_TYPE_PPNO,
S390_FEAT_TYPE_KMA,
S390_FEAT_TYPE_KDSA,
+ S390_FEAT_TYPE_SORTL,
} S390FeatType;
/* Definition of a CPU feature */
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index ce2223c9d7..bb8585847f 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -97,6 +97,7 @@ typedef enum {
S390_FEAT_MSA_EXT_8,
S390_FEAT_CMM_NT,
S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_ESORT_BASE,
S390_FEAT_VECTOR_BCD_ENH,
S390_FEAT_MSA_EXT_9,
S390_FEAT_ETOKEN,
@@ -346,6 +347,13 @@ typedef enum {
S390_FEAT_EEDDSA_SIGN_ED25519,
S390_FEAT_EEDDSA_SIGN_ED448,
+ /* SORTL */
+ S390_FEAT_SORTL_SFLR,
+ S390_FEAT_SORTL_SVLR,
+ S390_FEAT_SORTL_32,
+ S390_FEAT_SORTL_128,
+ S390_FEAT_SORTL_F0,
+
S390_FEAT_MAX,
} S390Feat;
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index a2f9e2b43f..0a62cc5631 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -245,6 +245,15 @@
S390_FEAT_PCKMO_ECC_ED25519, \
S390_FEAT_PCKMO_ECC_ED448
+#define S390_FEAT_GROUP_ENH_SORT \
+ S390_FEAT_ESORT_BASE, \
+ S390_FEAT_SORTL_SFLR, \
+ S390_FEAT_SORTL_SVLR, \
+ S390_FEAT_SORTL_32, \
+ S390_FEAT_SORTL_128, \
+ S390_FEAT_SORTL_F0
+
+
/* cpu feature groups */
static uint16_t group_PLO[] = {
S390_FEAT_GROUP_PLO,
@@ -294,6 +303,10 @@ static uint16_t group_MSA_EXT_9_PCKMO[] = {
S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
};
+static uint16_t group_ENH_SORT[] = {
+ S390_FEAT_GROUP_ENH_SORT,
+};
+
/* Base features (in order of release)
* Only non-hypervisor managed features belong here.
* Base feature sets are static meaning they do not change in future QEMU
@@ -752,6 +765,7 @@ static FeatGroupDefSpec FeatGroupDef[] = {
FEAT_GROUP_INITIALIZER(MSA_EXT_9),
FEAT_GROUP_INITIALIZER(MSA_EXT_9_PCKMO),
FEAT_GROUP_INITIALIZER(MULTIPLE_EPOCH_PTFF),
+ FEAT_GROUP_INITIALIZER(ENH_SORT),
};
#define QEMU_FEAT_INITIALIZER(_name) \
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index de0b984b68..f91f436a31 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2076,6 +2076,9 @@ static int query_cpu_subfunc(S390FeatBitmap features)
if (test_bit(S390_FEAT_MSA_EXT_9, features)) {
s390_add_from_feat_block(features, S390_FEAT_TYPE_KDSA, prop.kdsa);
}
+ if (test_bit(S390_FEAT_ESORT_BASE, features)) {
+ s390_add_from_feat_block(features, S390_FEAT_TYPE_SORTL, prop.sortl);
+ }
return 0;
}
@@ -2123,6 +2126,9 @@ static int configure_cpu_subfunc(const S390FeatBitmap features)
if (test_bit(S390_FEAT_MSA_EXT_9, features)) {
s390_fill_feat_block(features, S390_FEAT_TYPE_KDSA, prop.kdsa);
}
+ if (test_bit(S390_FEAT_ESORT_BASE, features)) {
+ s390_fill_feat_block(features, S390_FEAT_TYPE_SORTL, prop.sortl);
+ }
return kvm_vm_ioctl(kvm_state, KVM_SET_DEVICE_ATTR, &attr);
}
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 06/10] s390x/cpumodel: enhanced sort facility
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 06/10] s390x/cpumodel: enhanced sort facility Christian Borntraeger
@ 2019-04-26 11:09 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:09 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
add the enhanced sort facility.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
---
target/s390x/cpu_features.c | 10 ++++++++++
target/s390x/cpu_features.h | 1 +
target/s390x/cpu_features_def.h | 8 ++++++++
target/s390x/gen-features.c | 14 ++++++++++++++
target/s390x/kvm.c | 6 ++++++
5 files changed, 39 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 35873253be..1d19b3072e 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -109,6 +109,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("msa8-base", S390_FEAT_TYPE_STFL, 146, "Message-security-assist-extension-8 facility (excluding subfunctions)"),
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
FEAT_INIT("vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector Enhancements facility 2"),
+ FEAT_INIT("esort-base", S390_FEAT_TYPE_STFL, 150, "Enhanced-sort facility (excluding subfunctions)"),
FEAT_INIT("vxbeh", S390_FEAT_TYPE_STFL, 152, "Vector BCD enhancements facility 1"),
FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
@@ -340,6 +341,12 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("kdsa-eddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 44, "KDSA EdDSA-Sign-Ed448"),
FEAT_INIT("kdsa-eeddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 48, "KDSA Encrypted-EdDSA-Sign-Ed25519"),
FEAT_INIT("kdsa-eeddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 52, "KDSA Encrypted-EdDSA-Sign-Ed448"),
+
+ FEAT_INIT("sortl-sflr", S390_FEAT_TYPE_SORTL, 1, "SORTL SFLR"),
+ FEAT_INIT("sortl-svlr", S390_FEAT_TYPE_SORTL, 2, "SORTL SVLR"),
+ FEAT_INIT("sortl-32", S390_FEAT_TYPE_SORTL, 130, "SORTL 32 input lists"),
+ FEAT_INIT("sortl-128", S390_FEAT_TYPE_SORTL, 132, "SORTL 128 input lists"),
+ FEAT_INIT("sortl-f0", S390_FEAT_TYPE_SORTL, 192, "SORTL format 0 parameter-block"),
};
const S390FeatDef *s390_feat_def(S390Feat feat)
@@ -403,6 +410,7 @@ void s390_fill_feat_block(const S390FeatBitmap features, S390FeatType type,
case S390_FEAT_TYPE_PPNO:
case S390_FEAT_TYPE_KMA:
case S390_FEAT_TYPE_KDSA:
+ case S390_FEAT_TYPE_SORTL:
set_be_bit(0, data); /* query is always available */
break;
default:
@@ -430,6 +438,7 @@ void s390_add_from_feat_block(S390FeatBitmap features, S390FeatType type,
nr_bits = 16384;
break;
case S390_FEAT_TYPE_PLO:
+ case S390_FEAT_TYPE_SORTL:
nr_bits = 256;
break;
default:
@@ -501,6 +510,7 @@ static S390FeatGroupDef s390_feature_groups[] = {
FEAT_GROUP_INIT("msa9", MSA_EXT_9, "Message-security-assist-extension 9 facility"),
FEAT_GROUP_INIT("msa9_pckmo", MSA_EXT_9_PCKMO, "Message-security-assist-extension 9 PCKMO subfunctions"),
FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
+ FEAT_GROUP_INIT("esort", ENH_SORT, "Enhanced-sort facility"),
};
const S390FeatGroupDef *s390_feat_group_def(S390FeatGroup group)
diff --git a/target/s390x/cpu_features.h b/target/s390x/cpu_features.h
index 5ffd3db083..3b8c5b25dd 100644
--- a/target/s390x/cpu_features.h
+++ b/target/s390x/cpu_features.h
@@ -40,6 +40,7 @@ typedef enum {
S390_FEAT_TYPE_PPNO,
S390_FEAT_TYPE_KMA,
S390_FEAT_TYPE_KDSA,
+ S390_FEAT_TYPE_SORTL,
} S390FeatType;
/* Definition of a CPU feature */
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index ce2223c9d7..bb8585847f 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -97,6 +97,7 @@ typedef enum {
S390_FEAT_MSA_EXT_8,
S390_FEAT_CMM_NT,
S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_ESORT_BASE,
S390_FEAT_VECTOR_BCD_ENH,
S390_FEAT_MSA_EXT_9,
S390_FEAT_ETOKEN,
@@ -346,6 +347,13 @@ typedef enum {
S390_FEAT_EEDDSA_SIGN_ED25519,
S390_FEAT_EEDDSA_SIGN_ED448,
+ /* SORTL */
+ S390_FEAT_SORTL_SFLR,
+ S390_FEAT_SORTL_SVLR,
+ S390_FEAT_SORTL_32,
+ S390_FEAT_SORTL_128,
+ S390_FEAT_SORTL_F0,
+
S390_FEAT_MAX,
} S390Feat;
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index a2f9e2b43f..0a62cc5631 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -245,6 +245,15 @@
S390_FEAT_PCKMO_ECC_ED25519, \
S390_FEAT_PCKMO_ECC_ED448
+#define S390_FEAT_GROUP_ENH_SORT \
+ S390_FEAT_ESORT_BASE, \
+ S390_FEAT_SORTL_SFLR, \
+ S390_FEAT_SORTL_SVLR, \
+ S390_FEAT_SORTL_32, \
+ S390_FEAT_SORTL_128, \
+ S390_FEAT_SORTL_F0
+
+
/* cpu feature groups */
static uint16_t group_PLO[] = {
S390_FEAT_GROUP_PLO,
@@ -294,6 +303,10 @@ static uint16_t group_MSA_EXT_9_PCKMO[] = {
S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
};
+static uint16_t group_ENH_SORT[] = {
+ S390_FEAT_GROUP_ENH_SORT,
+};
+
/* Base features (in order of release)
* Only non-hypervisor managed features belong here.
* Base feature sets are static meaning they do not change in future QEMU
@@ -752,6 +765,7 @@ static FeatGroupDefSpec FeatGroupDef[] = {
FEAT_GROUP_INITIALIZER(MSA_EXT_9),
FEAT_GROUP_INITIALIZER(MSA_EXT_9_PCKMO),
FEAT_GROUP_INITIALIZER(MULTIPLE_EPOCH_PTFF),
+ FEAT_GROUP_INITIALIZER(ENH_SORT),
};
#define QEMU_FEAT_INITIALIZER(_name) \
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index de0b984b68..f91f436a31 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2076,6 +2076,9 @@ static int query_cpu_subfunc(S390FeatBitmap features)
if (test_bit(S390_FEAT_MSA_EXT_9, features)) {
s390_add_from_feat_block(features, S390_FEAT_TYPE_KDSA, prop.kdsa);
}
+ if (test_bit(S390_FEAT_ESORT_BASE, features)) {
+ s390_add_from_feat_block(features, S390_FEAT_TYPE_SORTL, prop.sortl);
+ }
return 0;
}
@@ -2123,6 +2126,9 @@ static int configure_cpu_subfunc(const S390FeatBitmap features)
if (test_bit(S390_FEAT_MSA_EXT_9, features)) {
s390_fill_feat_block(features, S390_FEAT_TYPE_KDSA, prop.kdsa);
}
+ if (test_bit(S390_FEAT_ESORT_BASE, features)) {
+ s390_fill_feat_block(features, S390_FEAT_TYPE_SORTL, prop.sortl);
+ }
return kvm_vm_ioctl(kvm_state, KVM_SET_DEVICE_ATTR, &attr);
}
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 07/10] s390x/cpumodel: add Deflate-conversion facility
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (6 preceding siblings ...)
2019-04-26 11:09 ` [Qemu-devel] [PATCH v2 06/10] s390x/cpumodel: enhanced sort facility Christian Borntraeger
@ 2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 08/10] s390x/cpumodel: add gen15 defintions Christian Borntraeger
` (3 subsequent siblings)
11 siblings, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:10 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
add the deflate conversion facility.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/cpu_features.c | 9 +++++++++
target/s390x/cpu_features.h | 1 +
target/s390x/cpu_features_def.h | 7 +++++++
target/s390x/gen-features.c | 12 ++++++++++++
target/s390x/kvm.c | 6 ++++++
5 files changed, 35 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 1d19b3072e..f64f581c86 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -110,6 +110,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
FEAT_INIT("vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector Enhancements facility 2"),
FEAT_INIT("esort-base", S390_FEAT_TYPE_STFL, 150, "Enhanced-sort facility (excluding subfunctions)"),
+ FEAT_INIT("deflate-base", S390_FEAT_TYPE_STFL, 151, "Deflate-conversion facility (excluding subfunctions)"),
FEAT_INIT("vxbeh", S390_FEAT_TYPE_STFL, 152, "Vector BCD enhancements facility 1"),
FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
@@ -347,6 +348,11 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("sortl-32", S390_FEAT_TYPE_SORTL, 130, "SORTL 32 input lists"),
FEAT_INIT("sortl-128", S390_FEAT_TYPE_SORTL, 132, "SORTL 128 input lists"),
FEAT_INIT("sortl-f0", S390_FEAT_TYPE_SORTL, 192, "SORTL format 0 parameter-block"),
+
+ FEAT_INIT("dfltcc-gdht", S390_FEAT_TYPE_DFLTCC, 1, "DFLTCC GDHT"),
+ FEAT_INIT("dfltcc-cmpr", S390_FEAT_TYPE_DFLTCC, 2, "DFLTCC CMPR"),
+ FEAT_INIT("dfltcc-xpnd", S390_FEAT_TYPE_DFLTCC, 4, "DFLTCC XPND"),
+ FEAT_INIT("dfltcc-f0", S390_FEAT_TYPE_DFLTCC, 192, "DFLTCC format 0 parameter-block"),
};
const S390FeatDef *s390_feat_def(S390Feat feat)
@@ -411,6 +417,7 @@ void s390_fill_feat_block(const S390FeatBitmap features, S390FeatType type,
case S390_FEAT_TYPE_KMA:
case S390_FEAT_TYPE_KDSA:
case S390_FEAT_TYPE_SORTL:
+ case S390_FEAT_TYPE_DFLTCC:
set_be_bit(0, data); /* query is always available */
break;
default:
@@ -439,6 +446,7 @@ void s390_add_from_feat_block(S390FeatBitmap features, S390FeatType type,
break;
case S390_FEAT_TYPE_PLO:
case S390_FEAT_TYPE_SORTL:
+ case S390_FEAT_TYPE_DFLTCC:
nr_bits = 256;
break;
default:
@@ -511,6 +519,7 @@ static S390FeatGroupDef s390_feature_groups[] = {
FEAT_GROUP_INIT("msa9_pckmo", MSA_EXT_9_PCKMO, "Message-security-assist-extension 9 PCKMO subfunctions"),
FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
FEAT_GROUP_INIT("esort", ENH_SORT, "Enhanced-sort facility"),
+ FEAT_GROUP_INIT("deflate", DEFLATE_CONVERSION, "Deflate-conversion facility"),
};
const S390FeatGroupDef *s390_feat_group_def(S390FeatGroup group)
diff --git a/target/s390x/cpu_features.h b/target/s390x/cpu_features.h
index 3b8c5b25dd..da695a8346 100644
--- a/target/s390x/cpu_features.h
+++ b/target/s390x/cpu_features.h
@@ -41,6 +41,7 @@ typedef enum {
S390_FEAT_TYPE_KMA,
S390_FEAT_TYPE_KDSA,
S390_FEAT_TYPE_SORTL,
+ S390_FEAT_TYPE_DFLTCC,
} S390FeatType;
/* Definition of a CPU feature */
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index bb8585847f..292b17b35d 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -98,6 +98,7 @@ typedef enum {
S390_FEAT_CMM_NT,
S390_FEAT_VECTOR_ENH2,
S390_FEAT_ESORT_BASE,
+ S390_FEAT_DEFLATE_BASE,
S390_FEAT_VECTOR_BCD_ENH,
S390_FEAT_MSA_EXT_9,
S390_FEAT_ETOKEN,
@@ -354,6 +355,12 @@ typedef enum {
S390_FEAT_SORTL_128,
S390_FEAT_SORTL_F0,
+ /* DEFLATE */
+ S390_FEAT_DEFLATE_GHDT,
+ S390_FEAT_DEFLATE_CMPR,
+ S390_FEAT_DEFLATE_XPND,
+ S390_FEAT_DEFLATE_F0,
+
S390_FEAT_MAX,
} S390Feat;
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 0a62cc5631..8fc2e8e72f 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -254,6 +254,13 @@
S390_FEAT_SORTL_F0
+#define S390_FEAT_GROUP_DEFLATE_CONVERSION \
+ S390_FEAT_DEFLATE_BASE, \
+ S390_FEAT_DEFLATE_GHDT, \
+ S390_FEAT_DEFLATE_CMPR, \
+ S390_FEAT_DEFLATE_XPND, \
+ S390_FEAT_DEFLATE_F0
+
/* cpu feature groups */
static uint16_t group_PLO[] = {
S390_FEAT_GROUP_PLO,
@@ -307,6 +314,10 @@ static uint16_t group_ENH_SORT[] = {
S390_FEAT_GROUP_ENH_SORT,
};
+static uint16_t group_DEFLATE_CONVERSION[] = {
+ S390_FEAT_GROUP_DEFLATE_CONVERSION,
+};
+
/* Base features (in order of release)
* Only non-hypervisor managed features belong here.
* Base feature sets are static meaning they do not change in future QEMU
@@ -766,6 +777,7 @@ static FeatGroupDefSpec FeatGroupDef[] = {
FEAT_GROUP_INITIALIZER(MSA_EXT_9_PCKMO),
FEAT_GROUP_INITIALIZER(MULTIPLE_EPOCH_PTFF),
FEAT_GROUP_INITIALIZER(ENH_SORT),
+ FEAT_GROUP_INITIALIZER(DEFLATE_CONVERSION),
};
#define QEMU_FEAT_INITIALIZER(_name) \
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index f91f436a31..e5e2b691f2 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2079,6 +2079,9 @@ static int query_cpu_subfunc(S390FeatBitmap features)
if (test_bit(S390_FEAT_ESORT_BASE, features)) {
s390_add_from_feat_block(features, S390_FEAT_TYPE_SORTL, prop.sortl);
}
+ if (test_bit(S390_FEAT_DEFLATE_BASE, features)) {
+ s390_add_from_feat_block(features, S390_FEAT_TYPE_DFLTCC, prop.dfltcc);
+ }
return 0;
}
@@ -2129,6 +2132,9 @@ static int configure_cpu_subfunc(const S390FeatBitmap features)
if (test_bit(S390_FEAT_ESORT_BASE, features)) {
s390_fill_feat_block(features, S390_FEAT_TYPE_SORTL, prop.sortl);
}
+ if (test_bit(S390_FEAT_DEFLATE_BASE, features)) {
+ s390_fill_feat_block(features, S390_FEAT_TYPE_DFLTCC, prop.dfltcc);
+ }
return kvm_vm_ioctl(kvm_state, KVM_SET_DEVICE_ATTR, &attr);
}
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 07/10] s390x/cpumodel: add Deflate-conversion facility
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 07/10] s390x/cpumodel: add Deflate-conversion facility Christian Borntraeger
@ 2019-04-26 11:10 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:10 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
add the deflate conversion facility.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/cpu_features.c | 9 +++++++++
target/s390x/cpu_features.h | 1 +
target/s390x/cpu_features_def.h | 7 +++++++
target/s390x/gen-features.c | 12 ++++++++++++
target/s390x/kvm.c | 6 ++++++
5 files changed, 35 insertions(+)
diff --git a/target/s390x/cpu_features.c b/target/s390x/cpu_features.c
index 1d19b3072e..f64f581c86 100644
--- a/target/s390x/cpu_features.c
+++ b/target/s390x/cpu_features.c
@@ -110,6 +110,7 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("cmmnt", S390_FEAT_TYPE_STFL, 147, "CMM: ESSA-enhancement (no translate) facility"),
FEAT_INIT("vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector Enhancements facility 2"),
FEAT_INIT("esort-base", S390_FEAT_TYPE_STFL, 150, "Enhanced-sort facility (excluding subfunctions)"),
+ FEAT_INIT("deflate-base", S390_FEAT_TYPE_STFL, 151, "Deflate-conversion facility (excluding subfunctions)"),
FEAT_INIT("vxbeh", S390_FEAT_TYPE_STFL, 152, "Vector BCD enhancements facility 1"),
FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
FEAT_INIT("etoken", S390_FEAT_TYPE_STFL, 156, "Etoken facility"),
@@ -347,6 +348,11 @@ static const S390FeatDef s390_features[] = {
FEAT_INIT("sortl-32", S390_FEAT_TYPE_SORTL, 130, "SORTL 32 input lists"),
FEAT_INIT("sortl-128", S390_FEAT_TYPE_SORTL, 132, "SORTL 128 input lists"),
FEAT_INIT("sortl-f0", S390_FEAT_TYPE_SORTL, 192, "SORTL format 0 parameter-block"),
+
+ FEAT_INIT("dfltcc-gdht", S390_FEAT_TYPE_DFLTCC, 1, "DFLTCC GDHT"),
+ FEAT_INIT("dfltcc-cmpr", S390_FEAT_TYPE_DFLTCC, 2, "DFLTCC CMPR"),
+ FEAT_INIT("dfltcc-xpnd", S390_FEAT_TYPE_DFLTCC, 4, "DFLTCC XPND"),
+ FEAT_INIT("dfltcc-f0", S390_FEAT_TYPE_DFLTCC, 192, "DFLTCC format 0 parameter-block"),
};
const S390FeatDef *s390_feat_def(S390Feat feat)
@@ -411,6 +417,7 @@ void s390_fill_feat_block(const S390FeatBitmap features, S390FeatType type,
case S390_FEAT_TYPE_KMA:
case S390_FEAT_TYPE_KDSA:
case S390_FEAT_TYPE_SORTL:
+ case S390_FEAT_TYPE_DFLTCC:
set_be_bit(0, data); /* query is always available */
break;
default:
@@ -439,6 +446,7 @@ void s390_add_from_feat_block(S390FeatBitmap features, S390FeatType type,
break;
case S390_FEAT_TYPE_PLO:
case S390_FEAT_TYPE_SORTL:
+ case S390_FEAT_TYPE_DFLTCC:
nr_bits = 256;
break;
default:
@@ -511,6 +519,7 @@ static S390FeatGroupDef s390_feature_groups[] = {
FEAT_GROUP_INIT("msa9_pckmo", MSA_EXT_9_PCKMO, "Message-security-assist-extension 9 PCKMO subfunctions"),
FEAT_GROUP_INIT("mepochptff", MULTIPLE_EPOCH_PTFF, "PTFF enhancements introduced with Multiple-epoch facility"),
FEAT_GROUP_INIT("esort", ENH_SORT, "Enhanced-sort facility"),
+ FEAT_GROUP_INIT("deflate", DEFLATE_CONVERSION, "Deflate-conversion facility"),
};
const S390FeatGroupDef *s390_feat_group_def(S390FeatGroup group)
diff --git a/target/s390x/cpu_features.h b/target/s390x/cpu_features.h
index 3b8c5b25dd..da695a8346 100644
--- a/target/s390x/cpu_features.h
+++ b/target/s390x/cpu_features.h
@@ -41,6 +41,7 @@ typedef enum {
S390_FEAT_TYPE_KMA,
S390_FEAT_TYPE_KDSA,
S390_FEAT_TYPE_SORTL,
+ S390_FEAT_TYPE_DFLTCC,
} S390FeatType;
/* Definition of a CPU feature */
diff --git a/target/s390x/cpu_features_def.h b/target/s390x/cpu_features_def.h
index bb8585847f..292b17b35d 100644
--- a/target/s390x/cpu_features_def.h
+++ b/target/s390x/cpu_features_def.h
@@ -98,6 +98,7 @@ typedef enum {
S390_FEAT_CMM_NT,
S390_FEAT_VECTOR_ENH2,
S390_FEAT_ESORT_BASE,
+ S390_FEAT_DEFLATE_BASE,
S390_FEAT_VECTOR_BCD_ENH,
S390_FEAT_MSA_EXT_9,
S390_FEAT_ETOKEN,
@@ -354,6 +355,12 @@ typedef enum {
S390_FEAT_SORTL_128,
S390_FEAT_SORTL_F0,
+ /* DEFLATE */
+ S390_FEAT_DEFLATE_GHDT,
+ S390_FEAT_DEFLATE_CMPR,
+ S390_FEAT_DEFLATE_XPND,
+ S390_FEAT_DEFLATE_F0,
+
S390_FEAT_MAX,
} S390Feat;
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 0a62cc5631..8fc2e8e72f 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -254,6 +254,13 @@
S390_FEAT_SORTL_F0
+#define S390_FEAT_GROUP_DEFLATE_CONVERSION \
+ S390_FEAT_DEFLATE_BASE, \
+ S390_FEAT_DEFLATE_GHDT, \
+ S390_FEAT_DEFLATE_CMPR, \
+ S390_FEAT_DEFLATE_XPND, \
+ S390_FEAT_DEFLATE_F0
+
/* cpu feature groups */
static uint16_t group_PLO[] = {
S390_FEAT_GROUP_PLO,
@@ -307,6 +314,10 @@ static uint16_t group_ENH_SORT[] = {
S390_FEAT_GROUP_ENH_SORT,
};
+static uint16_t group_DEFLATE_CONVERSION[] = {
+ S390_FEAT_GROUP_DEFLATE_CONVERSION,
+};
+
/* Base features (in order of release)
* Only non-hypervisor managed features belong here.
* Base feature sets are static meaning they do not change in future QEMU
@@ -766,6 +777,7 @@ static FeatGroupDefSpec FeatGroupDef[] = {
FEAT_GROUP_INITIALIZER(MSA_EXT_9_PCKMO),
FEAT_GROUP_INITIALIZER(MULTIPLE_EPOCH_PTFF),
FEAT_GROUP_INITIALIZER(ENH_SORT),
+ FEAT_GROUP_INITIALIZER(DEFLATE_CONVERSION),
};
#define QEMU_FEAT_INITIALIZER(_name) \
diff --git a/target/s390x/kvm.c b/target/s390x/kvm.c
index f91f436a31..e5e2b691f2 100644
--- a/target/s390x/kvm.c
+++ b/target/s390x/kvm.c
@@ -2079,6 +2079,9 @@ static int query_cpu_subfunc(S390FeatBitmap features)
if (test_bit(S390_FEAT_ESORT_BASE, features)) {
s390_add_from_feat_block(features, S390_FEAT_TYPE_SORTL, prop.sortl);
}
+ if (test_bit(S390_FEAT_DEFLATE_BASE, features)) {
+ s390_add_from_feat_block(features, S390_FEAT_TYPE_DFLTCC, prop.dfltcc);
+ }
return 0;
}
@@ -2129,6 +2132,9 @@ static int configure_cpu_subfunc(const S390FeatBitmap features)
if (test_bit(S390_FEAT_ESORT_BASE, features)) {
s390_fill_feat_block(features, S390_FEAT_TYPE_SORTL, prop.sortl);
}
+ if (test_bit(S390_FEAT_DEFLATE_BASE, features)) {
+ s390_fill_feat_block(features, S390_FEAT_TYPE_DFLTCC, prop.dfltcc);
+ }
return kvm_vm_ioctl(kvm_state, KVM_SET_DEVICE_ATTR, &attr);
}
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 08/10] s390x/cpumodel: add gen15 defintions
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (7 preceding siblings ...)
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 07/10] s390x/cpumodel: add Deflate-conversion facility Christian Borntraeger
@ 2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards Christian Borntraeger
` (2 subsequent siblings)
11 siblings, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:10 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
add several new features (msa9, sort, deflate, additional vector
instructions, new general purpose instructions) to generation 15.
Also disable csske and bpb from the default model. This will allow
to migrate gen15 machines to future machines that do not have these
features.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/gen-features.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 8fc2e8e72f..6260f56dc1 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -419,6 +419,10 @@ static uint16_t base_GEN14_GA1[] = {
#define base_GEN14_GA2 EmptyFeat
+static uint16_t base_GEN15_GA1[] = {
+ S390_FEAT_MISC_INSTRUCTION_EXT3,
+};
+
/* Full features (in order of release)
* Automatically includes corresponding base features.
* Full features are all features this hardware supports even if kvm/QEMU do not
@@ -548,6 +552,16 @@ static uint16_t full_GEN14_GA1[] = {
#define full_GEN14_GA2 EmptyFeat
+static uint16_t full_GEN15_GA1[] = {
+ S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_GROUP_ENH_SORT,
+ S390_FEAT_GROUP_DEFLATE_CONVERSION,
+ S390_FEAT_VECTOR_BCD_ENH,
+ S390_FEAT_GROUP_MSA_EXT_9,
+ S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
+ S390_FEAT_ETOKEN,
+};
+
/* Default features (in order of release)
* Automatically includes corresponding base features.
* Default features are all features this version of QEMU supports for this
@@ -624,6 +638,16 @@ static uint16_t default_GEN14_GA1[] = {
#define default_GEN14_GA2 EmptyFeat
+static uint16_t default_GEN15_GA1[] = {
+ S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_GROUP_ENH_SORT,
+ S390_FEAT_GROUP_DEFLATE_CONVERSION,
+ S390_FEAT_VECTOR_BCD_ENH,
+ S390_FEAT_GROUP_MSA_EXT_9,
+ S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
+ S390_FEAT_ETOKEN,
+};
+
/* QEMU (CPU model) features */
static uint16_t qemu_V2_11[] = {
@@ -740,6 +764,7 @@ static CpuFeatDefSpec CpuFeatDef[] = {
CPU_FEAT_INITIALIZER(GEN13_GA2),
CPU_FEAT_INITIALIZER(GEN14_GA1),
CPU_FEAT_INITIALIZER(GEN14_GA2),
+ CPU_FEAT_INITIALIZER(GEN15_GA1),
};
#define FEAT_GROUP_INITIALIZER(_name) \
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 08/10] s390x/cpumodel: add gen15 defintions
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 08/10] s390x/cpumodel: add gen15 defintions Christian Borntraeger
@ 2019-04-26 11:10 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:10 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
add several new features (msa9, sort, deflate, additional vector
instructions, new general purpose instructions) to generation 15.
Also disable csske and bpb from the default model. This will allow
to migrate gen15 machines to future machines that do not have these
features.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/gen-features.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 8fc2e8e72f..6260f56dc1 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -419,6 +419,10 @@ static uint16_t base_GEN14_GA1[] = {
#define base_GEN14_GA2 EmptyFeat
+static uint16_t base_GEN15_GA1[] = {
+ S390_FEAT_MISC_INSTRUCTION_EXT3,
+};
+
/* Full features (in order of release)
* Automatically includes corresponding base features.
* Full features are all features this hardware supports even if kvm/QEMU do not
@@ -548,6 +552,16 @@ static uint16_t full_GEN14_GA1[] = {
#define full_GEN14_GA2 EmptyFeat
+static uint16_t full_GEN15_GA1[] = {
+ S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_GROUP_ENH_SORT,
+ S390_FEAT_GROUP_DEFLATE_CONVERSION,
+ S390_FEAT_VECTOR_BCD_ENH,
+ S390_FEAT_GROUP_MSA_EXT_9,
+ S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
+ S390_FEAT_ETOKEN,
+};
+
/* Default features (in order of release)
* Automatically includes corresponding base features.
* Default features are all features this version of QEMU supports for this
@@ -624,6 +638,16 @@ static uint16_t default_GEN14_GA1[] = {
#define default_GEN14_GA2 EmptyFeat
+static uint16_t default_GEN15_GA1[] = {
+ S390_FEAT_VECTOR_ENH2,
+ S390_FEAT_GROUP_ENH_SORT,
+ S390_FEAT_GROUP_DEFLATE_CONVERSION,
+ S390_FEAT_VECTOR_BCD_ENH,
+ S390_FEAT_GROUP_MSA_EXT_9,
+ S390_FEAT_GROUP_MSA_EXT_9_PCKMO,
+ S390_FEAT_ETOKEN,
+};
+
/* QEMU (CPU model) features */
static uint16_t qemu_V2_11[] = {
@@ -740,6 +764,7 @@ static CpuFeatDefSpec CpuFeatDef[] = {
CPU_FEAT_INITIALIZER(GEN13_GA2),
CPU_FEAT_INITIALIZER(GEN14_GA1),
CPU_FEAT_INITIALIZER(GEN14_GA2),
+ CPU_FEAT_INITIALIZER(GEN15_GA1),
};
#define FEAT_GROUP_INITIALIZER(_name) \
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (8 preceding siblings ...)
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 08/10] s390x/cpumodel: add gen15 defintions Christian Borntraeger
@ 2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:18 ` David Hildenbrand
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines Christian Borntraeger
2019-04-26 11:23 ` [Qemu-devel] [PATCH v2 00/10] s390x: new guest features no-reply
11 siblings, 2 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:10 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
These facilities are deprecated and no longer needed.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/gen-features.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 6260f56dc1..c346b76bdf 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -13,6 +13,7 @@
#include <inttypes.h>
#include <stdio.h>
+#include <string.h>
#include "cpu_features_def.h"
#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
@@ -833,6 +834,11 @@ static void set_bits(uint64_t list[], BitSpec bits)
}
}
+static inline void clear_bit(uint64_t list[], unsigned long nr)
+{
+ list[nr / 64] &= ~(1ULL << (nr % 64));
+}
+
static void print_feature_defs(void)
{
uint64_t base_feat[S390_FEAT_MAX / 64 + 1] = {};
@@ -843,6 +849,12 @@ static void print_feature_defs(void)
printf("\n/* CPU model feature list data */\n");
for (i = 0; i < ARRAY_SIZE(CpuFeatDef); i++) {
+ /* With gen15 CSSKE and BPB are deprecated */
+ if (strcmp(CpuFeatDef[i].name, "S390_FEAT_LIST_GEN15_GA1") == 0) {
+ clear_bit(base_feat, S390_FEAT_CONDITIONAL_SSKE);
+ clear_bit(default_feat, S390_FEAT_CONDITIONAL_SSKE);
+ clear_bit(default_feat, S390_FEAT_BPB);
+ }
set_bits(base_feat, CpuFeatDef[i].base_bits);
/* add the base to the default features */
set_bits(default_feat, CpuFeatDef[i].base_bits);
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards Christian Borntraeger
@ 2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:18 ` David Hildenbrand
1 sibling, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:10 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
These facilities are deprecated and no longer needed.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/gen-features.c | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 6260f56dc1..c346b76bdf 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -13,6 +13,7 @@
#include <inttypes.h>
#include <stdio.h>
+#include <string.h>
#include "cpu_features_def.h"
#define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
@@ -833,6 +834,11 @@ static void set_bits(uint64_t list[], BitSpec bits)
}
}
+static inline void clear_bit(uint64_t list[], unsigned long nr)
+{
+ list[nr / 64] &= ~(1ULL << (nr % 64));
+}
+
static void print_feature_defs(void)
{
uint64_t base_feat[S390_FEAT_MAX / 64 + 1] = {};
@@ -843,6 +849,12 @@ static void print_feature_defs(void)
printf("\n/* CPU model feature list data */\n");
for (i = 0; i < ARRAY_SIZE(CpuFeatDef); i++) {
+ /* With gen15 CSSKE and BPB are deprecated */
+ if (strcmp(CpuFeatDef[i].name, "S390_FEAT_LIST_GEN15_GA1") == 0) {
+ clear_bit(base_feat, S390_FEAT_CONDITIONAL_SSKE);
+ clear_bit(default_feat, S390_FEAT_CONDITIONAL_SSKE);
+ clear_bit(default_feat, S390_FEAT_BPB);
+ }
set_bits(base_feat, CpuFeatDef[i].base_bits);
/* add the base to the default features */
set_bits(default_feat, CpuFeatDef[i].base_bits);
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards Christian Borntraeger
2019-04-26 11:10 ` Christian Borntraeger
@ 2019-04-26 11:18 ` David Hildenbrand
2019-04-26 11:18 ` David Hildenbrand
2019-04-26 11:18 ` Christian Borntraeger
1 sibling, 2 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:18 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:10, Christian Borntraeger wrote:
> These facilities are deprecated and no longer needed.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/gen-features.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
> index 6260f56dc1..c346b76bdf 100644
> --- a/target/s390x/gen-features.c
> +++ b/target/s390x/gen-features.c
> @@ -13,6 +13,7 @@
>
> #include <inttypes.h>
> #include <stdio.h>
> +#include <string.h>
> #include "cpu_features_def.h"
>
> #define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
> @@ -833,6 +834,11 @@ static void set_bits(uint64_t list[], BitSpec bits)
> }
> }
>
> +static inline void clear_bit(uint64_t list[], unsigned long nr)
> +{
> + list[nr / 64] &= ~(1ULL << (nr % 64));
> +}
> +
> static void print_feature_defs(void)
> {
> uint64_t base_feat[S390_FEAT_MAX / 64 + 1] = {};
> @@ -843,6 +849,12 @@ static void print_feature_defs(void)
> printf("\n/* CPU model feature list data */\n");
>
> for (i = 0; i < ARRAY_SIZE(CpuFeatDef); i++) {
> + /* With gen15 CSSKE and BPB are deprecated */
> + if (strcmp(CpuFeatDef[i].name, "S390_FEAT_LIST_GEN15_GA1") == 0) {
> + clear_bit(base_feat, S390_FEAT_CONDITIONAL_SSKE);
> + clear_bit(default_feat, S390_FEAT_CONDITIONAL_SSKE);
> + clear_bit(default_feat, S390_FEAT_BPB);
> + }
> set_bits(base_feat, CpuFeatDef[i].base_bits);
> /* add the base to the default features */
> set_bits(default_feat, CpuFeatDef[i].base_bits);
>
Can you squash that into the previous patch, so it doesn't look like the
case model is suddenly changed?
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
2019-04-26 11:18 ` David Hildenbrand
@ 2019-04-26 11:18 ` David Hildenbrand
2019-04-26 11:18 ` Christian Borntraeger
1 sibling, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:18 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:10, Christian Borntraeger wrote:
> These facilities are deprecated and no longer needed.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/gen-features.c | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
> index 6260f56dc1..c346b76bdf 100644
> --- a/target/s390x/gen-features.c
> +++ b/target/s390x/gen-features.c
> @@ -13,6 +13,7 @@
>
> #include <inttypes.h>
> #include <stdio.h>
> +#include <string.h>
> #include "cpu_features_def.h"
>
> #define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
> @@ -833,6 +834,11 @@ static void set_bits(uint64_t list[], BitSpec bits)
> }
> }
>
> +static inline void clear_bit(uint64_t list[], unsigned long nr)
> +{
> + list[nr / 64] &= ~(1ULL << (nr % 64));
> +}
> +
> static void print_feature_defs(void)
> {
> uint64_t base_feat[S390_FEAT_MAX / 64 + 1] = {};
> @@ -843,6 +849,12 @@ static void print_feature_defs(void)
> printf("\n/* CPU model feature list data */\n");
>
> for (i = 0; i < ARRAY_SIZE(CpuFeatDef); i++) {
> + /* With gen15 CSSKE and BPB are deprecated */
> + if (strcmp(CpuFeatDef[i].name, "S390_FEAT_LIST_GEN15_GA1") == 0) {
> + clear_bit(base_feat, S390_FEAT_CONDITIONAL_SSKE);
> + clear_bit(default_feat, S390_FEAT_CONDITIONAL_SSKE);
> + clear_bit(default_feat, S390_FEAT_BPB);
> + }
> set_bits(base_feat, CpuFeatDef[i].base_bits);
> /* add the base to the default features */
> set_bits(default_feat, CpuFeatDef[i].base_bits);
>
Can you squash that into the previous patch, so it doesn't look like the
case model is suddenly changed?
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
2019-04-26 11:18 ` David Hildenbrand
2019-04-26 11:18 ` David Hildenbrand
@ 2019-04-26 11:18 ` Christian Borntraeger
2019-04-26 11:18 ` Christian Borntraeger
2019-04-26 11:20 ` David Hildenbrand
1 sibling, 2 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:18 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:18, David Hildenbrand wrote:
> On 26.04.19 13:10, Christian Borntraeger wrote:
>> These facilities are deprecated and no longer needed.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/gen-features.c | 12 ++++++++++++
>> 1 file changed, 12 insertions(+)
>>
>> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
>> index 6260f56dc1..c346b76bdf 100644
>> --- a/target/s390x/gen-features.c
>> +++ b/target/s390x/gen-features.c
>> @@ -13,6 +13,7 @@
>>
>> #include <inttypes.h>
>> #include <stdio.h>
>> +#include <string.h>
>> #include "cpu_features_def.h"
>>
>> #define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
>> @@ -833,6 +834,11 @@ static void set_bits(uint64_t list[], BitSpec bits)
>> }
>> }
>>
>> +static inline void clear_bit(uint64_t list[], unsigned long nr)
>> +{
>> + list[nr / 64] &= ~(1ULL << (nr % 64));
>> +}
>> +
>> static void print_feature_defs(void)
>> {
>> uint64_t base_feat[S390_FEAT_MAX / 64 + 1] = {};
>> @@ -843,6 +849,12 @@ static void print_feature_defs(void)
>> printf("\n/* CPU model feature list data */\n");
>>
>> for (i = 0; i < ARRAY_SIZE(CpuFeatDef); i++) {
>> + /* With gen15 CSSKE and BPB are deprecated */
>> + if (strcmp(CpuFeatDef[i].name, "S390_FEAT_LIST_GEN15_GA1") == 0) {
>> + clear_bit(base_feat, S390_FEAT_CONDITIONAL_SSKE);
>> + clear_bit(default_feat, S390_FEAT_CONDITIONAL_SSKE);
>> + clear_bit(default_feat, S390_FEAT_BPB);
>> + }
>> set_bits(base_feat, CpuFeatDef[i].base_bits);
>> /* add the base to the default features */
>> set_bits(default_feat, CpuFeatDef[i].base_bits);
>>
>
> Can you squash that into the previous patch, so it doesn't look like the
> case model is suddenly changed?
can do. I wanted it to be separate for better review.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
2019-04-26 11:18 ` Christian Borntraeger
@ 2019-04-26 11:18 ` Christian Borntraeger
2019-04-26 11:20 ` David Hildenbrand
1 sibling, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:18 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:18, David Hildenbrand wrote:
> On 26.04.19 13:10, Christian Borntraeger wrote:
>> These facilities are deprecated and no longer needed.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/gen-features.c | 12 ++++++++++++
>> 1 file changed, 12 insertions(+)
>>
>> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
>> index 6260f56dc1..c346b76bdf 100644
>> --- a/target/s390x/gen-features.c
>> +++ b/target/s390x/gen-features.c
>> @@ -13,6 +13,7 @@
>>
>> #include <inttypes.h>
>> #include <stdio.h>
>> +#include <string.h>
>> #include "cpu_features_def.h"
>>
>> #define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
>> @@ -833,6 +834,11 @@ static void set_bits(uint64_t list[], BitSpec bits)
>> }
>> }
>>
>> +static inline void clear_bit(uint64_t list[], unsigned long nr)
>> +{
>> + list[nr / 64] &= ~(1ULL << (nr % 64));
>> +}
>> +
>> static void print_feature_defs(void)
>> {
>> uint64_t base_feat[S390_FEAT_MAX / 64 + 1] = {};
>> @@ -843,6 +849,12 @@ static void print_feature_defs(void)
>> printf("\n/* CPU model feature list data */\n");
>>
>> for (i = 0; i < ARRAY_SIZE(CpuFeatDef); i++) {
>> + /* With gen15 CSSKE and BPB are deprecated */
>> + if (strcmp(CpuFeatDef[i].name, "S390_FEAT_LIST_GEN15_GA1") == 0) {
>> + clear_bit(base_feat, S390_FEAT_CONDITIONAL_SSKE);
>> + clear_bit(default_feat, S390_FEAT_CONDITIONAL_SSKE);
>> + clear_bit(default_feat, S390_FEAT_BPB);
>> + }
>> set_bits(base_feat, CpuFeatDef[i].base_bits);
>> /* add the base to the default features */
>> set_bits(default_feat, CpuFeatDef[i].base_bits);
>>
>
> Can you squash that into the previous patch, so it doesn't look like the
> case model is suddenly changed?
can do. I wanted it to be separate for better review.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
2019-04-26 11:18 ` Christian Borntraeger
2019-04-26 11:18 ` Christian Borntraeger
@ 2019-04-26 11:20 ` David Hildenbrand
2019-04-26 11:20 ` David Hildenbrand
1 sibling, 1 reply; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:20 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:18, Christian Borntraeger wrote:
>
>
> On 26.04.19 13:18, David Hildenbrand wrote:
>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>> These facilities are deprecated and no longer needed.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> ---
>>> target/s390x/gen-features.c | 12 ++++++++++++
>>> 1 file changed, 12 insertions(+)
>>>
>>> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
>>> index 6260f56dc1..c346b76bdf 100644
>>> --- a/target/s390x/gen-features.c
>>> +++ b/target/s390x/gen-features.c
>>> @@ -13,6 +13,7 @@
>>>
>>> #include <inttypes.h>
>>> #include <stdio.h>
>>> +#include <string.h>
>>> #include "cpu_features_def.h"
>>>
>>> #define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
>>> @@ -833,6 +834,11 @@ static void set_bits(uint64_t list[], BitSpec bits)
>>> }
>>> }
>>>
>>> +static inline void clear_bit(uint64_t list[], unsigned long nr)
>>> +{
>>> + list[nr / 64] &= ~(1ULL << (nr % 64));
>>> +}
>>> +
>>> static void print_feature_defs(void)
>>> {
>>> uint64_t base_feat[S390_FEAT_MAX / 64 + 1] = {};
>>> @@ -843,6 +849,12 @@ static void print_feature_defs(void)
>>> printf("\n/* CPU model feature list data */\n");
>>>
>>> for (i = 0; i < ARRAY_SIZE(CpuFeatDef); i++) {
>>> + /* With gen15 CSSKE and BPB are deprecated */
>>> + if (strcmp(CpuFeatDef[i].name, "S390_FEAT_LIST_GEN15_GA1") == 0) {
>>> + clear_bit(base_feat, S390_FEAT_CONDITIONAL_SSKE);
>>> + clear_bit(default_feat, S390_FEAT_CONDITIONAL_SSKE);
>>> + clear_bit(default_feat, S390_FEAT_BPB);
>>> + }
>>> set_bits(base_feat, CpuFeatDef[i].base_bits);
>>> /* add the base to the default features */
>>> set_bits(default_feat, CpuFeatDef[i].base_bits);
>>>
>>
>> Can you squash that into the previous patch, so it doesn't look like the
>> case model is suddenly changed?
>
> can do. I wanted it to be separate for better review.
>
Makes perfect sense.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
2019-04-26 11:20 ` David Hildenbrand
@ 2019-04-26 11:20 ` David Hildenbrand
0 siblings, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:20 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:18, Christian Borntraeger wrote:
>
>
> On 26.04.19 13:18, David Hildenbrand wrote:
>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>> These facilities are deprecated and no longer needed.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> ---
>>> target/s390x/gen-features.c | 12 ++++++++++++
>>> 1 file changed, 12 insertions(+)
>>>
>>> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
>>> index 6260f56dc1..c346b76bdf 100644
>>> --- a/target/s390x/gen-features.c
>>> +++ b/target/s390x/gen-features.c
>>> @@ -13,6 +13,7 @@
>>>
>>> #include <inttypes.h>
>>> #include <stdio.h>
>>> +#include <string.h>
>>> #include "cpu_features_def.h"
>>>
>>> #define ARRAY_SIZE(array) (sizeof(array) / sizeof(array[0]))
>>> @@ -833,6 +834,11 @@ static void set_bits(uint64_t list[], BitSpec bits)
>>> }
>>> }
>>>
>>> +static inline void clear_bit(uint64_t list[], unsigned long nr)
>>> +{
>>> + list[nr / 64] &= ~(1ULL << (nr % 64));
>>> +}
>>> +
>>> static void print_feature_defs(void)
>>> {
>>> uint64_t base_feat[S390_FEAT_MAX / 64 + 1] = {};
>>> @@ -843,6 +849,12 @@ static void print_feature_defs(void)
>>> printf("\n/* CPU model feature list data */\n");
>>>
>>> for (i = 0; i < ARRAY_SIZE(CpuFeatDef); i++) {
>>> + /* With gen15 CSSKE and BPB are deprecated */
>>> + if (strcmp(CpuFeatDef[i].name, "S390_FEAT_LIST_GEN15_GA1") == 0) {
>>> + clear_bit(base_feat, S390_FEAT_CONDITIONAL_SSKE);
>>> + clear_bit(default_feat, S390_FEAT_CONDITIONAL_SSKE);
>>> + clear_bit(default_feat, S390_FEAT_BPB);
>>> + }
>>> set_bits(base_feat, CpuFeatDef[i].base_bits);
>>> /* add the base to the default features */
>>> set_bits(default_feat, CpuFeatDef[i].base_bits);
>>>
>>
>> Can you squash that into the previous patch, so it doesn't look like the
>> case model is suddenly changed?
>
> can do. I wanted it to be separate for better review.
>
Makes perfect sense.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (9 preceding siblings ...)
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 09/10] s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards Christian Borntraeger
@ 2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:10 ` Christian Borntraeger
` (2 more replies)
2019-04-26 11:23 ` [Qemu-devel] [PATCH v2 00/10] s390x: new guest features no-reply
11 siblings, 3 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:10 UTC (permalink / raw)
To: Cornelia Huck
Cc: qemu-devel, qemu-s390x, David Hildenbrand, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
8561 and 8562 will be gen15 machines. There is no name yet, lets us use
the cpu id as base name. Later on we can provide aliases with the proper
name.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/cpu_models.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index d683635eb5..dd6415103f 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
+ CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
+ CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
};
#define QEMU_MAX_CPU_TYPE 0x2827
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines Christian Borntraeger
@ 2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:21 ` David Hildenbrand
2019-04-26 11:32 ` David Hildenbrand
2 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:10 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
8561 and 8562 will be gen15 machines. There is no name yet, lets us use
the cpu id as base name. Later on we can provide aliases with the proper
name.
Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
target/s390x/cpu_models.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index d683635eb5..dd6415103f 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
+ CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
+ CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
};
#define QEMU_MAX_CPU_TYPE 0x2827
--
2.17.1
^ permalink raw reply related [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines Christian Borntraeger
2019-04-26 11:10 ` Christian Borntraeger
@ 2019-04-26 11:21 ` David Hildenbrand
2019-04-26 11:21 ` David Hildenbrand
` (2 more replies)
2019-04-26 11:32 ` David Hildenbrand
2 siblings, 3 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:21 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:10, Christian Borntraeger wrote:
> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
> the cpu id as base name. Later on we can provide aliases with the proper
> name.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/cpu_models.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index d683635eb5..dd6415103f 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
> };
>
> #define QEMU_MAX_CPU_TYPE 0x2827
>
Can you fixup the comment at the beginning of the definitions, stating
that base features of new HW are no longer a superset?
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:21 ` David Hildenbrand
@ 2019-04-26 11:21 ` David Hildenbrand
2019-04-26 11:22 ` Christian Borntraeger
2019-04-26 11:24 ` Christian Borntraeger
2 siblings, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:21 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:10, Christian Borntraeger wrote:
> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
> the cpu id as base name. Later on we can provide aliases with the proper
> name.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/cpu_models.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index d683635eb5..dd6415103f 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
> };
>
> #define QEMU_MAX_CPU_TYPE 0x2827
>
Can you fixup the comment at the beginning of the definitions, stating
that base features of new HW are no longer a superset?
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:21 ` David Hildenbrand
2019-04-26 11:21 ` David Hildenbrand
@ 2019-04-26 11:22 ` Christian Borntraeger
2019-04-26 11:22 ` Christian Borntraeger
2019-04-26 11:24 ` Christian Borntraeger
2 siblings, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:22 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:21, David Hildenbrand wrote:
> On 26.04.19 13:10, Christian Borntraeger wrote:
>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>> the cpu id as base name. Later on we can provide aliases with the proper
>> name.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/cpu_models.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>> index d683635eb5..dd6415103f 100644
>> --- a/target/s390x/cpu_models.c
>> +++ b/target/s390x/cpu_models.c
>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>> };
>>
>> #define QEMU_MAX_CPU_TYPE 0x2827
>>
>
> Can you fixup the comment at the beginning of the definitions, stating
> that base features of new HW are no longer a superset?
Will do.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:22 ` Christian Borntraeger
@ 2019-04-26 11:22 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:22 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:21, David Hildenbrand wrote:
> On 26.04.19 13:10, Christian Borntraeger wrote:
>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>> the cpu id as base name. Later on we can provide aliases with the proper
>> name.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/cpu_models.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>> index d683635eb5..dd6415103f 100644
>> --- a/target/s390x/cpu_models.c
>> +++ b/target/s390x/cpu_models.c
>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>> };
>>
>> #define QEMU_MAX_CPU_TYPE 0x2827
>>
>
> Can you fixup the comment at the beginning of the definitions, stating
> that base features of new HW are no longer a superset?
Will do.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:21 ` David Hildenbrand
2019-04-26 11:21 ` David Hildenbrand
2019-04-26 11:22 ` Christian Borntraeger
@ 2019-04-26 11:24 ` Christian Borntraeger
2019-04-26 11:24 ` Christian Borntraeger
2019-04-26 11:34 ` David Hildenbrand
2 siblings, 2 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:24 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:21, David Hildenbrand wrote:
> On 26.04.19 13:10, Christian Borntraeger wrote:
>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>> the cpu id as base name. Later on we can provide aliases with the proper
>> name.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/cpu_models.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>> index d683635eb5..dd6415103f 100644
>> --- a/target/s390x/cpu_models.c
>> +++ b/target/s390x/cpu_models.c
>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>> };
>>
>> #define QEMU_MAX_CPU_TYPE 0x2827
>>
>
> Can you fixup the comment at the beginning of the definitions, stating
> that base features of new HW are no longer a superset?
>
Something like
/*
* CPU definition list in order of release. Up to generation 14 base features
* of a following release have been a superset of the previous release. With
* generation 15 two features have been deprecated.
*/
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:24 ` Christian Borntraeger
@ 2019-04-26 11:24 ` Christian Borntraeger
2019-04-26 11:34 ` David Hildenbrand
1 sibling, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:24 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:21, David Hildenbrand wrote:
> On 26.04.19 13:10, Christian Borntraeger wrote:
>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>> the cpu id as base name. Later on we can provide aliases with the proper
>> name.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/cpu_models.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>> index d683635eb5..dd6415103f 100644
>> --- a/target/s390x/cpu_models.c
>> +++ b/target/s390x/cpu_models.c
>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>> };
>>
>> #define QEMU_MAX_CPU_TYPE 0x2827
>>
>
> Can you fixup the comment at the beginning of the definitions, stating
> that base features of new HW are no longer a superset?
>
Something like
/*
* CPU definition list in order of release. Up to generation 14 base features
* of a following release have been a superset of the previous release. With
* generation 15 two features have been deprecated.
*/
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:24 ` Christian Borntraeger
2019-04-26 11:24 ` Christian Borntraeger
@ 2019-04-26 11:34 ` David Hildenbrand
2019-04-26 11:34 ` David Hildenbrand
1 sibling, 1 reply; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:34 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:24, Christian Borntraeger wrote:
>
>
> On 26.04.19 13:21, David Hildenbrand wrote:
>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>> the cpu id as base name. Later on we can provide aliases with the proper
>>> name.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> ---
>>> target/s390x/cpu_models.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>> index d683635eb5..dd6415103f 100644
>>> --- a/target/s390x/cpu_models.c
>>> +++ b/target/s390x/cpu_models.c
>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>> };
>>>
>>> #define QEMU_MAX_CPU_TYPE 0x2827
>>>
>>
>> Can you fixup the comment at the beginning of the definitions, stating
>> that base features of new HW are no longer a superset?
>>
>
> Something like
>
> /*
> * CPU definition list in order of release. Up to generation 14 base features> * of a following release have been a superset of the previous
release. With
> * generation 15 two features have been deprecated.
> */
>
"one base feature and one optional feature" ?
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:34 ` David Hildenbrand
@ 2019-04-26 11:34 ` David Hildenbrand
0 siblings, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:34 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:24, Christian Borntraeger wrote:
>
>
> On 26.04.19 13:21, David Hildenbrand wrote:
>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>> the cpu id as base name. Later on we can provide aliases with the proper
>>> name.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> ---
>>> target/s390x/cpu_models.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>> index d683635eb5..dd6415103f 100644
>>> --- a/target/s390x/cpu_models.c
>>> +++ b/target/s390x/cpu_models.c
>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>> };
>>>
>>> #define QEMU_MAX_CPU_TYPE 0x2827
>>>
>>
>> Can you fixup the comment at the beginning of the definitions, stating
>> that base features of new HW are no longer a superset?
>>
>
> Something like
>
> /*
> * CPU definition list in order of release. Up to generation 14 base features> * of a following release have been a superset of the previous
release. With
> * generation 15 two features have been deprecated.
> */
>
"one base feature and one optional feature" ?
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines Christian Borntraeger
2019-04-26 11:10 ` Christian Borntraeger
2019-04-26 11:21 ` David Hildenbrand
@ 2019-04-26 11:32 ` David Hildenbrand
2019-04-26 11:32 ` David Hildenbrand
2019-04-26 11:36 ` Christian Borntraeger
2 siblings, 2 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:32 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:10, Christian Borntraeger wrote:
> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
> the cpu id as base name. Later on we can provide aliases with the proper
> name.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/cpu_models.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index d683635eb5..dd6415103f 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
> };
Thinking out loud, I know that official names are not published yet.
Looking at the recent history (z13, z14), my educated guess would be
z15. I guess pretty much everybody would guess that.
So I wonder if using "z15" and e.g. "z15ZR1" or "z15s" would be easier
to have, although in the end maybe not correct (whatever names smart
people are able to come up with, history told us that consistent naming
does not seem to be one of the core strengths of CPU marketing people in
general).
So if we need aliases either way, and z15 is easier to understand than
"8561" for any user, what about going forward with that and introducing
actual alias later on? We can tag the names to be inofficial.
CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "z15", "Inofficial name for
gen15 model 1 GA1 (8561)"),
CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "z15ZR1", "Inofficial name
for gen15 model 2 GA1 (8562)"),
(please don't eat me alive)
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:32 ` David Hildenbrand
@ 2019-04-26 11:32 ` David Hildenbrand
2019-04-26 11:36 ` Christian Borntraeger
1 sibling, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:32 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:10, Christian Borntraeger wrote:
> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
> the cpu id as base name. Later on we can provide aliases with the proper
> name.
>
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
> target/s390x/cpu_models.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> index d683635eb5..dd6415103f 100644
> --- a/target/s390x/cpu_models.c
> +++ b/target/s390x/cpu_models.c
> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
> };
Thinking out loud, I know that official names are not published yet.
Looking at the recent history (z13, z14), my educated guess would be
z15. I guess pretty much everybody would guess that.
So I wonder if using "z15" and e.g. "z15ZR1" or "z15s" would be easier
to have, although in the end maybe not correct (whatever names smart
people are able to come up with, history told us that consistent naming
does not seem to be one of the core strengths of CPU marketing people in
general).
So if we need aliases either way, and z15 is easier to understand than
"8561" for any user, what about going forward with that and introducing
actual alias later on? We can tag the names to be inofficial.
CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "z15", "Inofficial name for
gen15 model 1 GA1 (8561)"),
CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "z15ZR1", "Inofficial name
for gen15 model 2 GA1 (8562)"),
(please don't eat me alive)
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:32 ` David Hildenbrand
2019-04-26 11:32 ` David Hildenbrand
@ 2019-04-26 11:36 ` Christian Borntraeger
2019-04-26 11:36 ` Christian Borntraeger
2019-04-26 11:52 ` David Hildenbrand
1 sibling, 2 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:36 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:32, David Hildenbrand wrote:
> On 26.04.19 13:10, Christian Borntraeger wrote:
>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>> the cpu id as base name. Later on we can provide aliases with the proper
>> name.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/cpu_models.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>> index d683635eb5..dd6415103f 100644
>> --- a/target/s390x/cpu_models.c
>> +++ b/target/s390x/cpu_models.c
>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>> };
>
> Thinking out loud, I know that official names are not published yet.
> Looking at the recent history (z13, z14), my educated guess would be
> z15. I guess pretty much everybody would guess that.
Not sure about trademark aspects - especially if this really becomes z15. The smaller
machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
number than a partially correct name.
>
> So I wonder if using "z15" and e.g. "z15ZR1" or "z15s" would be easier
> to have, although in the end maybe not correct (whatever names smart
> people are able to come up with, history told us that consistent naming
> does not seem to be one of the core strengths of CPU marketing people in
> general).
>
> So if we need aliases either way, and z15 is easier to understand than
> "8561" for any user, what about going forward with that and introducing
> actual alias later on? We can tag the names to be inofficial.
>
> CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "z15", "Inofficial name for
> gen15 model 1 GA1 (8561)"),
> CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "z15ZR1", "Inofficial name
> for gen15 model 2 GA1 (8562)"),
>
> (please don't eat me alive)
>
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:36 ` Christian Borntraeger
@ 2019-04-26 11:36 ` Christian Borntraeger
2019-04-26 11:52 ` David Hildenbrand
1 sibling, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 11:36 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:32, David Hildenbrand wrote:
> On 26.04.19 13:10, Christian Borntraeger wrote:
>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>> the cpu id as base name. Later on we can provide aliases with the proper
>> name.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>> target/s390x/cpu_models.c | 2 ++
>> 1 file changed, 2 insertions(+)
>>
>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>> index d683635eb5..dd6415103f 100644
>> --- a/target/s390x/cpu_models.c
>> +++ b/target/s390x/cpu_models.c
>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>> };
>
> Thinking out loud, I know that official names are not published yet.
> Looking at the recent history (z13, z14), my educated guess would be
> z15. I guess pretty much everybody would guess that.
Not sure about trademark aspects - especially if this really becomes z15. The smaller
machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
number than a partially correct name.
>
> So I wonder if using "z15" and e.g. "z15ZR1" or "z15s" would be easier
> to have, although in the end maybe not correct (whatever names smart
> people are able to come up with, history told us that consistent naming
> does not seem to be one of the core strengths of CPU marketing people in
> general).
>
> So if we need aliases either way, and z15 is easier to understand than
> "8561" for any user, what about going forward with that and introducing
> actual alias later on? We can tag the names to be inofficial.
>
> CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "z15", "Inofficial name for
> gen15 model 1 GA1 (8561)"),
> CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "z15ZR1", "Inofficial name
> for gen15 model 2 GA1 (8562)"),
>
> (please don't eat me alive)
>
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:36 ` Christian Borntraeger
2019-04-26 11:36 ` Christian Borntraeger
@ 2019-04-26 11:52 ` David Hildenbrand
2019-04-26 11:52 ` David Hildenbrand
2019-04-26 12:01 ` Christian Borntraeger
1 sibling, 2 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:52 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:36, Christian Borntraeger wrote:
>
>
> On 26.04.19 13:32, David Hildenbrand wrote:
>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>> the cpu id as base name. Later on we can provide aliases with the proper
>>> name.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> ---
>>> target/s390x/cpu_models.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>> index d683635eb5..dd6415103f 100644
>>> --- a/target/s390x/cpu_models.c
>>> +++ b/target/s390x/cpu_models.c
>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>> };
>>
>> Thinking out loud, I know that official names are not published yet.
>> Looking at the recent history (z13, z14), my educated guess would be
>> z15. I guess pretty much everybody would guess that.
>
> Not sure about trademark aspects - especially if this really becomes z15. The smaller
> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
> number than a partially correct name.
We could also use "gen15a" and "gen15b", still better to get than magic
numbers. (yeah well, they are not magic)
If you want to stick with numbers, be aware that cpu numbers are not
injective, so at some point we will need e.g. "8561.2", just so you're
aware of the implications.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:52 ` David Hildenbrand
@ 2019-04-26 11:52 ` David Hildenbrand
2019-04-26 12:01 ` Christian Borntraeger
1 sibling, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 11:52 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:36, Christian Borntraeger wrote:
>
>
> On 26.04.19 13:32, David Hildenbrand wrote:
>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>> the cpu id as base name. Later on we can provide aliases with the proper
>>> name.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> ---
>>> target/s390x/cpu_models.c | 2 ++
>>> 1 file changed, 2 insertions(+)
>>>
>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>> index d683635eb5..dd6415103f 100644
>>> --- a/target/s390x/cpu_models.c
>>> +++ b/target/s390x/cpu_models.c
>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>> };
>>
>> Thinking out loud, I know that official names are not published yet.
>> Looking at the recent history (z13, z14), my educated guess would be
>> z15. I guess pretty much everybody would guess that.
>
> Not sure about trademark aspects - especially if this really becomes z15. The smaller
> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
> number than a partially correct name.
We could also use "gen15a" and "gen15b", still better to get than magic
numbers. (yeah well, they are not magic)
If you want to stick with numbers, be aware that cpu numbers are not
injective, so at some point we will need e.g. "8561.2", just so you're
aware of the implications.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 11:52 ` David Hildenbrand
2019-04-26 11:52 ` David Hildenbrand
@ 2019-04-26 12:01 ` Christian Borntraeger
2019-04-26 12:01 ` Christian Borntraeger
2019-04-26 12:05 ` David Hildenbrand
1 sibling, 2 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 12:01 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 13:52, David Hildenbrand wrote:
> On 26.04.19 13:36, Christian Borntraeger wrote:
>>
>>
>> On 26.04.19 13:32, David Hildenbrand wrote:
>>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>>> the cpu id as base name. Later on we can provide aliases with the proper
>>>> name.
>>>>
>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>> ---
>>>> target/s390x/cpu_models.c | 2 ++
>>>> 1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>>> index d683635eb5..dd6415103f 100644
>>>> --- a/target/s390x/cpu_models.c
>>>> +++ b/target/s390x/cpu_models.c
>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>>> };
>>>
>>> Thinking out loud, I know that official names are not published yet.
>>> Looking at the recent history (z13, z14), my educated guess would be
>>> z15. I guess pretty much everybody would guess that.
>>
>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
>> number than a partially correct name.
>
> We could also use "gen15a" and "gen15b", still better to get than magic
> numbers. (yeah well, they are not magic)
>
> If you want to stick with numbers, be aware that cpu numbers are not
> injective, so at some point we will need e.g. "8561.2", just so you're
> aware of the implications.
I think whatever we have here is only used internally for expansion (host-model)
and the user will use later the real name when available. (custom). So probably this
does not matter for a long time. But I might be wrong.
I tend to prefer gen15 over z15 but 856x has also its charm.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 12:01 ` Christian Borntraeger
@ 2019-04-26 12:01 ` Christian Borntraeger
2019-04-26 12:05 ` David Hildenbrand
1 sibling, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-26 12:01 UTC (permalink / raw)
To: David Hildenbrand, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 13:52, David Hildenbrand wrote:
> On 26.04.19 13:36, Christian Borntraeger wrote:
>>
>>
>> On 26.04.19 13:32, David Hildenbrand wrote:
>>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>>> the cpu id as base name. Later on we can provide aliases with the proper
>>>> name.
>>>>
>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>> ---
>>>> target/s390x/cpu_models.c | 2 ++
>>>> 1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>>> index d683635eb5..dd6415103f 100644
>>>> --- a/target/s390x/cpu_models.c
>>>> +++ b/target/s390x/cpu_models.c
>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>>> };
>>>
>>> Thinking out loud, I know that official names are not published yet.
>>> Looking at the recent history (z13, z14), my educated guess would be
>>> z15. I guess pretty much everybody would guess that.
>>
>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
>> number than a partially correct name.
>
> We could also use "gen15a" and "gen15b", still better to get than magic
> numbers. (yeah well, they are not magic)
>
> If you want to stick with numbers, be aware that cpu numbers are not
> injective, so at some point we will need e.g. "8561.2", just so you're
> aware of the implications.
I think whatever we have here is only used internally for expansion (host-model)
and the user will use later the real name when available. (custom). So probably this
does not matter for a long time. But I might be wrong.
I tend to prefer gen15 over z15 but 856x has also its charm.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 12:01 ` Christian Borntraeger
2019-04-26 12:01 ` Christian Borntraeger
@ 2019-04-26 12:05 ` David Hildenbrand
2019-04-26 12:05 ` David Hildenbrand
2019-04-26 12:55 ` Cornelia Huck
1 sibling, 2 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 12:05 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: qemu-devel, qemu-s390x, Halil Pasic, Richard Henderson,
Collin Walling, Jason J . Herne
On 26.04.19 14:01, Christian Borntraeger wrote:
>
>
> On 26.04.19 13:52, David Hildenbrand wrote:
>> On 26.04.19 13:36, Christian Borntraeger wrote:
>>>
>>>
>>> On 26.04.19 13:32, David Hildenbrand wrote:
>>>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>>>> the cpu id as base name. Later on we can provide aliases with the proper
>>>>> name.
>>>>>
>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>> ---
>>>>> target/s390x/cpu_models.c | 2 ++
>>>>> 1 file changed, 2 insertions(+)
>>>>>
>>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>>>> index d683635eb5..dd6415103f 100644
>>>>> --- a/target/s390x/cpu_models.c
>>>>> +++ b/target/s390x/cpu_models.c
>>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>>>> };
>>>>
>>>> Thinking out loud, I know that official names are not published yet.
>>>> Looking at the recent history (z13, z14), my educated guess would be
>>>> z15. I guess pretty much everybody would guess that.
>>>
>>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
>>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
>>> number than a partially correct name.
>>
>> We could also use "gen15a" and "gen15b", still better to get than magic
>> numbers. (yeah well, they are not magic)
>>
>> If you want to stick with numbers, be aware that cpu numbers are not
>> injective, so at some point we will need e.g. "8561.2", just so you're
>> aware of the implications.
>
> I think whatever we have here is only used internally for expansion (host-model)
> and the user will use later the real name when available. (custom). So probably this
> does not matter for a long time. But I might be wrong.
> I tend to prefer gen15 over z15 but 856x has also its charm.
>
Another question would be, can we rename before the next QEMU release,
so it will never be officially part of QEMU? Then we don't need aliases
after all. Of course, distros have to take care of that as well, but
that shouldn't be upstream QEMUs business.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 12:05 ` David Hildenbrand
@ 2019-04-26 12:05 ` David Hildenbrand
2019-04-26 12:55 ` Cornelia Huck
1 sibling, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-26 12:05 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 14:01, Christian Borntraeger wrote:
>
>
> On 26.04.19 13:52, David Hildenbrand wrote:
>> On 26.04.19 13:36, Christian Borntraeger wrote:
>>>
>>>
>>> On 26.04.19 13:32, David Hildenbrand wrote:
>>>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>>>> the cpu id as base name. Later on we can provide aliases with the proper
>>>>> name.
>>>>>
>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>> ---
>>>>> target/s390x/cpu_models.c | 2 ++
>>>>> 1 file changed, 2 insertions(+)
>>>>>
>>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>>>> index d683635eb5..dd6415103f 100644
>>>>> --- a/target/s390x/cpu_models.c
>>>>> +++ b/target/s390x/cpu_models.c
>>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>>>> };
>>>>
>>>> Thinking out loud, I know that official names are not published yet.
>>>> Looking at the recent history (z13, z14), my educated guess would be
>>>> z15. I guess pretty much everybody would guess that.
>>>
>>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
>>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
>>> number than a partially correct name.
>>
>> We could also use "gen15a" and "gen15b", still better to get than magic
>> numbers. (yeah well, they are not magic)
>>
>> If you want to stick with numbers, be aware that cpu numbers are not
>> injective, so at some point we will need e.g. "8561.2", just so you're
>> aware of the implications.
>
> I think whatever we have here is only used internally for expansion (host-model)
> and the user will use later the real name when available. (custom). So probably this
> does not matter for a long time. But I might be wrong.
> I tend to prefer gen15 over z15 but 856x has also its charm.
>
Another question would be, can we rename before the next QEMU release,
so it will never be officially part of QEMU? Then we don't need aliases
after all. Of course, distros have to take care of that as well, but
that shouldn't be upstream QEMUs business.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 12:05 ` David Hildenbrand
2019-04-26 12:05 ` David Hildenbrand
@ 2019-04-26 12:55 ` Cornelia Huck
2019-04-26 12:55 ` Cornelia Huck
2019-04-29 7:51 ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
1 sibling, 2 replies; 60+ messages in thread
From: Cornelia Huck @ 2019-04-26 12:55 UTC (permalink / raw)
To: David Hildenbrand
Cc: Christian Borntraeger, qemu-devel, qemu-s390x, Halil Pasic,
Richard Henderson, Collin Walling, Jason J . Herne
On Fri, 26 Apr 2019 14:05:30 +0200
David Hildenbrand <david@redhat.com> wrote:
> On 26.04.19 14:01, Christian Borntraeger wrote:
> >
> >
> > On 26.04.19 13:52, David Hildenbrand wrote:
> >> On 26.04.19 13:36, Christian Borntraeger wrote:
> >>>
> >>>
> >>> On 26.04.19 13:32, David Hildenbrand wrote:
> >>>> On 26.04.19 13:10, Christian Borntraeger wrote:
> >>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
> >>>>> the cpu id as base name. Later on we can provide aliases with the proper
> >>>>> name.
> >>>>>
> >>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> >>>>> ---
> >>>>> target/s390x/cpu_models.c | 2 ++
> >>>>> 1 file changed, 2 insertions(+)
> >>>>>
> >>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> >>>>> index d683635eb5..dd6415103f 100644
> >>>>> --- a/target/s390x/cpu_models.c
> >>>>> +++ b/target/s390x/cpu_models.c
> >>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
> >>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> >>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
> >>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> >>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
> >>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
> >>>>> };
> >>>>
> >>>> Thinking out loud, I know that official names are not published yet.
> >>>> Looking at the recent history (z13, z14), my educated guess would be
> >>>> z15. I guess pretty much everybody would guess that.
> >>>
> >>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
> >>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
> >>> number than a partially correct name.
> >>
> >> We could also use "gen15a" and "gen15b", still better to get than magic
> >> numbers. (yeah well, they are not magic)
> >>
> >> If you want to stick with numbers, be aware that cpu numbers are not
> >> injective, so at some point we will need e.g. "8561.2", just so you're
> >> aware of the implications.
> >
> > I think whatever we have here is only used internally for expansion (host-model)
> > and the user will use later the real name when available. (custom). So probably this
> > does not matter for a long time. But I might be wrong.
> > I tend to prefer gen15 over z15 but 856x has also its charm.
FWIW, I'd prefer gen15 over 856x, but...
> >
>
> Another question would be, can we rename before the next QEMU release,
> so it will never be officially part of QEMU? Then we don't need aliases
> after all. Of course, distros have to take care of that as well, but
> that shouldn't be upstream QEMUs business.
...if we could do that, I'd like that even better.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 12:55 ` Cornelia Huck
@ 2019-04-26 12:55 ` Cornelia Huck
2019-04-29 7:51 ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
1 sibling, 0 replies; 60+ messages in thread
From: Cornelia Huck @ 2019-04-26 12:55 UTC (permalink / raw)
To: David Hildenbrand
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
Christian Borntraeger, qemu-s390x, Richard Henderson
On Fri, 26 Apr 2019 14:05:30 +0200
David Hildenbrand <david@redhat.com> wrote:
> On 26.04.19 14:01, Christian Borntraeger wrote:
> >
> >
> > On 26.04.19 13:52, David Hildenbrand wrote:
> >> On 26.04.19 13:36, Christian Borntraeger wrote:
> >>>
> >>>
> >>> On 26.04.19 13:32, David Hildenbrand wrote:
> >>>> On 26.04.19 13:10, Christian Borntraeger wrote:
> >>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
> >>>>> the cpu id as base name. Later on we can provide aliases with the proper
> >>>>> name.
> >>>>>
> >>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> >>>>> ---
> >>>>> target/s390x/cpu_models.c | 2 ++
> >>>>> 1 file changed, 2 insertions(+)
> >>>>>
> >>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> >>>>> index d683635eb5..dd6415103f 100644
> >>>>> --- a/target/s390x/cpu_models.c
> >>>>> +++ b/target/s390x/cpu_models.c
> >>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
> >>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> >>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
> >>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> >>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
> >>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
> >>>>> };
> >>>>
> >>>> Thinking out loud, I know that official names are not published yet.
> >>>> Looking at the recent history (z13, z14), my educated guess would be
> >>>> z15. I guess pretty much everybody would guess that.
> >>>
> >>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
> >>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
> >>> number than a partially correct name.
> >>
> >> We could also use "gen15a" and "gen15b", still better to get than magic
> >> numbers. (yeah well, they are not magic)
> >>
> >> If you want to stick with numbers, be aware that cpu numbers are not
> >> injective, so at some point we will need e.g. "8561.2", just so you're
> >> aware of the implications.
> >
> > I think whatever we have here is only used internally for expansion (host-model)
> > and the user will use later the real name when available. (custom). So probably this
> > does not matter for a long time. But I might be wrong.
> > I tend to prefer gen15 over z15 but 856x has also its charm.
FWIW, I'd prefer gen15 over 856x, but...
> >
>
> Another question would be, can we rename before the next QEMU release,
> so it will never be officially part of QEMU? Then we don't need aliases
> after all. Of course, distros have to take care of that as well, but
> that shouldn't be upstream QEMUs business.
...if we could do that, I'd like that even better.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [qemu-s390x] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-26 12:55 ` Cornelia Huck
2019-04-26 12:55 ` Cornelia Huck
@ 2019-04-29 7:51 ` Christian Borntraeger
2019-04-29 7:51 ` Christian Borntraeger
` (2 more replies)
1 sibling, 3 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-29 7:51 UTC (permalink / raw)
To: Cornelia Huck, David Hildenbrand
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 14:55, Cornelia Huck wrote:
> On Fri, 26 Apr 2019 14:05:30 +0200
> David Hildenbrand <david@redhat.com> wrote:
>
>> On 26.04.19 14:01, Christian Borntraeger wrote:
>>>
>>>
>>> On 26.04.19 13:52, David Hildenbrand wrote:
>>>> On 26.04.19 13:36, Christian Borntraeger wrote:
>>>>>
>>>>>
>>>>> On 26.04.19 13:32, David Hildenbrand wrote:
>>>>>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>>>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>>>>>> the cpu id as base name. Later on we can provide aliases with the proper
>>>>>>> name.
>>>>>>>
>>>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>>>> ---
>>>>>>> target/s390x/cpu_models.c | 2 ++
>>>>>>> 1 file changed, 2 insertions(+)
>>>>>>>
>>>>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>>>>>> index d683635eb5..dd6415103f 100644
>>>>>>> --- a/target/s390x/cpu_models.c
>>>>>>> +++ b/target/s390x/cpu_models.c
>>>>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>>>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>>>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>>>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>>>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>>>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>>>>>> };
>>>>>>
>>>>>> Thinking out loud, I know that official names are not published yet.
>>>>>> Looking at the recent history (z13, z14), my educated guess would be
>>>>>> z15. I guess pretty much everybody would guess that.
>>>>>
>>>>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
>>>>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
>>>>> number than a partially correct name.
>>>>
>>>> We could also use "gen15a" and "gen15b", still better to get than magic
>>>> numbers. (yeah well, they are not magic)
>>>>
>>>> If you want to stick with numbers, be aware that cpu numbers are not
>>>> injective, so at some point we will need e.g. "8561.2", just so you're
>>>> aware of the implications.
>>>
>>> I think whatever we have here is only used internally for expansion (host-model)
>>> and the user will use later the real name when available. (custom). So probably this
>>> does not matter for a long time. But I might be wrong.
>>> I tend to prefer gen15 over z15 but 856x has also its charm.
>
> FWIW, I'd prefer gen15 over 856x, but...
I actually think that the cpu id would be a nice name for expansion because it is
guarenteed to stay and it is unique and it allows to have a different content (if
that would be necessary) for 2 gen15 machines.
>
>>>
>>
>> Another question would be, can we rename before the next QEMU release,
>> so it will never be officially part of QEMU? Then we don't need aliases
>> after all. Of course, distros have to take care of that as well, but
>> that shouldn't be upstream QEMUs business.
>
> ...if we could do that, I'd like that even better.
I dont think that I know the name in time before the next release.
So lets go with gen15a/gen15b or 8561/8562?
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [qemu-s390x] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-29 7:51 ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
@ 2019-04-29 7:51 ` Christian Borntraeger
2019-04-29 8:53 ` Cornelia Huck
2019-04-29 10:16 ` David Hildenbrand
2 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-29 7:51 UTC (permalink / raw)
To: Cornelia Huck, David Hildenbrand
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
On 26.04.19 14:55, Cornelia Huck wrote:
> On Fri, 26 Apr 2019 14:05:30 +0200
> David Hildenbrand <david@redhat.com> wrote:
>
>> On 26.04.19 14:01, Christian Borntraeger wrote:
>>>
>>>
>>> On 26.04.19 13:52, David Hildenbrand wrote:
>>>> On 26.04.19 13:36, Christian Borntraeger wrote:
>>>>>
>>>>>
>>>>> On 26.04.19 13:32, David Hildenbrand wrote:
>>>>>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>>>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>>>>>> the cpu id as base name. Later on we can provide aliases with the proper
>>>>>>> name.
>>>>>>>
>>>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>>>> ---
>>>>>>> target/s390x/cpu_models.c | 2 ++
>>>>>>> 1 file changed, 2 insertions(+)
>>>>>>>
>>>>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>>>>>> index d683635eb5..dd6415103f 100644
>>>>>>> --- a/target/s390x/cpu_models.c
>>>>>>> +++ b/target/s390x/cpu_models.c
>>>>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>>>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>>>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>>>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>>>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>>>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>>>>>> };
>>>>>>
>>>>>> Thinking out loud, I know that official names are not published yet.
>>>>>> Looking at the recent history (z13, z14), my educated guess would be
>>>>>> z15. I guess pretty much everybody would guess that.
>>>>>
>>>>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
>>>>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
>>>>> number than a partially correct name.
>>>>
>>>> We could also use "gen15a" and "gen15b", still better to get than magic
>>>> numbers. (yeah well, they are not magic)
>>>>
>>>> If you want to stick with numbers, be aware that cpu numbers are not
>>>> injective, so at some point we will need e.g. "8561.2", just so you're
>>>> aware of the implications.
>>>
>>> I think whatever we have here is only used internally for expansion (host-model)
>>> and the user will use later the real name when available. (custom). So probably this
>>> does not matter for a long time. But I might be wrong.
>>> I tend to prefer gen15 over z15 but 856x has also its charm.
>
> FWIW, I'd prefer gen15 over 856x, but...
I actually think that the cpu id would be a nice name for expansion because it is
guarenteed to stay and it is unique and it allows to have a different content (if
that would be necessary) for 2 gen15 machines.
>
>>>
>>
>> Another question would be, can we rename before the next QEMU release,
>> so it will never be officially part of QEMU? Then we don't need aliases
>> after all. Of course, distros have to take care of that as well, but
>> that shouldn't be upstream QEMUs business.
>
> ...if we could do that, I'd like that even better.
I dont think that I know the name in time before the next release.
So lets go with gen15a/gen15b or 8561/8562?
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [qemu-s390x] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-29 7:51 ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
2019-04-29 7:51 ` Christian Borntraeger
@ 2019-04-29 8:53 ` Cornelia Huck
2019-04-29 8:53 ` Cornelia Huck
2019-04-29 8:55 ` Christian Borntraeger
2019-04-29 10:16 ` David Hildenbrand
2 siblings, 2 replies; 60+ messages in thread
From: Cornelia Huck @ 2019-04-29 8:53 UTC (permalink / raw)
To: Christian Borntraeger
Cc: David Hildenbrand, Jason J . Herne, Collin Walling, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
On Mon, 29 Apr 2019 09:51:39 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> On 26.04.19 14:55, Cornelia Huck wrote:
> > On Fri, 26 Apr 2019 14:05:30 +0200
> > David Hildenbrand <david@redhat.com> wrote:
> >
> >> On 26.04.19 14:01, Christian Borntraeger wrote:
> >>>
> >>>
> >>> On 26.04.19 13:52, David Hildenbrand wrote:
> >>>> On 26.04.19 13:36, Christian Borntraeger wrote:
> >>>>>
> >>>>>
> >>>>> On 26.04.19 13:32, David Hildenbrand wrote:
> >>>>>> On 26.04.19 13:10, Christian Borntraeger wrote:
> >>>>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
> >>>>>>> the cpu id as base name. Later on we can provide aliases with the proper
> >>>>>>> name.
> >>>>>>>
> >>>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> >>>>>>> ---
> >>>>>>> target/s390x/cpu_models.c | 2 ++
> >>>>>>> 1 file changed, 2 insertions(+)
> >>>>>>>
> >>>>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> >>>>>>> index d683635eb5..dd6415103f 100644
> >>>>>>> --- a/target/s390x/cpu_models.c
> >>>>>>> +++ b/target/s390x/cpu_models.c
> >>>>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
> >>>>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> >>>>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
> >>>>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> >>>>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
> >>>>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
> >>>>>>> };
> >>>>>>
> >>>>>> Thinking out loud, I know that official names are not published yet.
> >>>>>> Looking at the recent history (z13, z14), my educated guess would be
> >>>>>> z15. I guess pretty much everybody would guess that.
> >>>>>
> >>>>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
> >>>>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
> >>>>> number than a partially correct name.
> >>>>
> >>>> We could also use "gen15a" and "gen15b", still better to get than magic
> >>>> numbers. (yeah well, they are not magic)
> >>>>
> >>>> If you want to stick with numbers, be aware that cpu numbers are not
> >>>> injective, so at some point we will need e.g. "8561.2", just so you're
> >>>> aware of the implications.
> >>>
> >>> I think whatever we have here is only used internally for expansion (host-model)
> >>> and the user will use later the real name when available. (custom). So probably this
> >>> does not matter for a long time. But I might be wrong.
> >>> I tend to prefer gen15 over z15 but 856x has also its charm.
> >
> > FWIW, I'd prefer gen15 over 856x, but...
>
> I actually think that the cpu id would be a nice name for expansion because it is
> guarenteed to stay and it is unique and it allows to have a different content (if
> that would be necessary) for 2 gen15 machines.
> >
> >>>
> >>
> >> Another question would be, can we rename before the next QEMU release,
> >> so it will never be officially part of QEMU? Then we don't need aliases
> >> after all. Of course, distros have to take care of that as well, but
> >> that shouldn't be upstream QEMUs business.
> >
> > ...if we could do that, I'd like that even better.
>
> I dont think that I know the name in time before the next release.
> So lets go with gen15a/gen15b or 8561/8562?
I always have trouble remembering number combinations, so I'd vote for
gen15a/gen15b if the official names are not an option.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [qemu-s390x] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-29 8:53 ` Cornelia Huck
@ 2019-04-29 8:53 ` Cornelia Huck
2019-04-29 8:55 ` Christian Borntraeger
1 sibling, 0 replies; 60+ messages in thread
From: Cornelia Huck @ 2019-04-29 8:53 UTC (permalink / raw)
To: Christian Borntraeger
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
On Mon, 29 Apr 2019 09:51:39 +0200
Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> On 26.04.19 14:55, Cornelia Huck wrote:
> > On Fri, 26 Apr 2019 14:05:30 +0200
> > David Hildenbrand <david@redhat.com> wrote:
> >
> >> On 26.04.19 14:01, Christian Borntraeger wrote:
> >>>
> >>>
> >>> On 26.04.19 13:52, David Hildenbrand wrote:
> >>>> On 26.04.19 13:36, Christian Borntraeger wrote:
> >>>>>
> >>>>>
> >>>>> On 26.04.19 13:32, David Hildenbrand wrote:
> >>>>>> On 26.04.19 13:10, Christian Borntraeger wrote:
> >>>>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
> >>>>>>> the cpu id as base name. Later on we can provide aliases with the proper
> >>>>>>> name.
> >>>>>>>
> >>>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> >>>>>>> ---
> >>>>>>> target/s390x/cpu_models.c | 2 ++
> >>>>>>> 1 file changed, 2 insertions(+)
> >>>>>>>
> >>>>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
> >>>>>>> index d683635eb5..dd6415103f 100644
> >>>>>>> --- a/target/s390x/cpu_models.c
> >>>>>>> +++ b/target/s390x/cpu_models.c
> >>>>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
> >>>>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
> >>>>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
> >>>>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
> >>>>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
> >>>>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
> >>>>>>> };
> >>>>>>
> >>>>>> Thinking out loud, I know that official names are not published yet.
> >>>>>> Looking at the recent history (z13, z14), my educated guess would be
> >>>>>> z15. I guess pretty much everybody would guess that.
> >>>>>
> >>>>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
> >>>>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
> >>>>> number than a partially correct name.
> >>>>
> >>>> We could also use "gen15a" and "gen15b", still better to get than magic
> >>>> numbers. (yeah well, they are not magic)
> >>>>
> >>>> If you want to stick with numbers, be aware that cpu numbers are not
> >>>> injective, so at some point we will need e.g. "8561.2", just so you're
> >>>> aware of the implications.
> >>>
> >>> I think whatever we have here is only used internally for expansion (host-model)
> >>> and the user will use later the real name when available. (custom). So probably this
> >>> does not matter for a long time. But I might be wrong.
> >>> I tend to prefer gen15 over z15 but 856x has also its charm.
> >
> > FWIW, I'd prefer gen15 over 856x, but...
>
> I actually think that the cpu id would be a nice name for expansion because it is
> guarenteed to stay and it is unique and it allows to have a different content (if
> that would be necessary) for 2 gen15 machines.
> >
> >>>
> >>
> >> Another question would be, can we rename before the next QEMU release,
> >> so it will never be officially part of QEMU? Then we don't need aliases
> >> after all. Of course, distros have to take care of that as well, but
> >> that shouldn't be upstream QEMUs business.
> >
> > ...if we could do that, I'd like that even better.
>
> I dont think that I know the name in time before the next release.
> So lets go with gen15a/gen15b or 8561/8562?
I always have trouble remembering number combinations, so I'd vote for
gen15a/gen15b if the official names are not an option.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [qemu-s390x] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-29 8:53 ` Cornelia Huck
2019-04-29 8:53 ` Cornelia Huck
@ 2019-04-29 8:55 ` Christian Borntraeger
2019-04-29 8:55 ` Christian Borntraeger
1 sibling, 1 reply; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-29 8:55 UTC (permalink / raw)
To: Cornelia Huck
Cc: David Hildenbrand, Jason J . Herne, Collin Walling, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
On 29.04.19 10:53, Cornelia Huck wrote:
> On Mon, 29 Apr 2019 09:51:39 +0200
> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
>
>> On 26.04.19 14:55, Cornelia Huck wrote:
>>> On Fri, 26 Apr 2019 14:05:30 +0200
>>> David Hildenbrand <david@redhat.com> wrote:
>>>
>>>> On 26.04.19 14:01, Christian Borntraeger wrote:
>>>>>
>>>>>
>>>>> On 26.04.19 13:52, David Hildenbrand wrote:
>>>>>> On 26.04.19 13:36, Christian Borntraeger wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 26.04.19 13:32, David Hildenbrand wrote:
>>>>>>>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>>>>>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>>>>>>>> the cpu id as base name. Later on we can provide aliases with the proper
>>>>>>>>> name.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>>>>>> ---
>>>>>>>>> target/s390x/cpu_models.c | 2 ++
>>>>>>>>> 1 file changed, 2 insertions(+)
>>>>>>>>>
>>>>>>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>>>>>>>> index d683635eb5..dd6415103f 100644
>>>>>>>>> --- a/target/s390x/cpu_models.c
>>>>>>>>> +++ b/target/s390x/cpu_models.c
>>>>>>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>>>>>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>>>>>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>>>>>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>>>>>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>>>>>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>>>>>>>> };
>>>>>>>>
>>>>>>>> Thinking out loud, I know that official names are not published yet.
>>>>>>>> Looking at the recent history (z13, z14), my educated guess would be
>>>>>>>> z15. I guess pretty much everybody would guess that.
>>>>>>>
>>>>>>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
>>>>>>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
>>>>>>> number than a partially correct name.
>>>>>>
>>>>>> We could also use "gen15a" and "gen15b", still better to get than magic
>>>>>> numbers. (yeah well, they are not magic)
>>>>>>
>>>>>> If you want to stick with numbers, be aware that cpu numbers are not
>>>>>> injective, so at some point we will need e.g. "8561.2", just so you're
>>>>>> aware of the implications.
>>>>>
>>>>> I think whatever we have here is only used internally for expansion (host-model)
>>>>> and the user will use later the real name when available. (custom). So probably this
>>>>> does not matter for a long time. But I might be wrong.
>>>>> I tend to prefer gen15 over z15 but 856x has also its charm.
>>>
>>> FWIW, I'd prefer gen15 over 856x, but...
>>
>> I actually think that the cpu id would be a nice name for expansion because it is
>> guarenteed to stay and it is unique and it allows to have a different content (if
>> that would be necessary) for 2 gen15 machines.
>>>
>>>>>
>>>>
>>>> Another question would be, can we rename before the next QEMU release,
>>>> so it will never be officially part of QEMU? Then we don't need aliases
>>>> after all. Of course, distros have to take care of that as well, but
>>>> that shouldn't be upstream QEMUs business.
>>>
>>> ...if we could do that, I'd like that even better.
>>
>> I dont think that I know the name in time before the next release.
>> So lets go with gen15a/gen15b or 8561/8562?
>
> I always have trouble remembering number combinations, so I'd vote for
> gen15a/gen15b if the official names are not an option.
OK, I will respin with gen15a/gen15b.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [qemu-s390x] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-29 8:55 ` Christian Borntraeger
@ 2019-04-29 8:55 ` Christian Borntraeger
0 siblings, 0 replies; 60+ messages in thread
From: Christian Borntraeger @ 2019-04-29 8:55 UTC (permalink / raw)
To: Cornelia Huck
Cc: Jason J . Herne, Collin Walling, David Hildenbrand, qemu-devel,
Halil Pasic, qemu-s390x, Richard Henderson
On 29.04.19 10:53, Cornelia Huck wrote:
> On Mon, 29 Apr 2019 09:51:39 +0200
> Christian Borntraeger <borntraeger@de.ibm.com> wrote:
>
>> On 26.04.19 14:55, Cornelia Huck wrote:
>>> On Fri, 26 Apr 2019 14:05:30 +0200
>>> David Hildenbrand <david@redhat.com> wrote:
>>>
>>>> On 26.04.19 14:01, Christian Borntraeger wrote:
>>>>>
>>>>>
>>>>> On 26.04.19 13:52, David Hildenbrand wrote:
>>>>>> On 26.04.19 13:36, Christian Borntraeger wrote:
>>>>>>>
>>>>>>>
>>>>>>> On 26.04.19 13:32, David Hildenbrand wrote:
>>>>>>>> On 26.04.19 13:10, Christian Borntraeger wrote:
>>>>>>>>> 8561 and 8562 will be gen15 machines. There is no name yet, lets us use
>>>>>>>>> the cpu id as base name. Later on we can provide aliases with the proper
>>>>>>>>> name.
>>>>>>>>>
>>>>>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>>>>>> ---
>>>>>>>>> target/s390x/cpu_models.c | 2 ++
>>>>>>>>> 1 file changed, 2 insertions(+)
>>>>>>>>>
>>>>>>>>> diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
>>>>>>>>> index d683635eb5..dd6415103f 100644
>>>>>>>>> --- a/target/s390x/cpu_models.c
>>>>>>>>> +++ b/target/s390x/cpu_models.c
>>>>>>>>> @@ -83,6 +83,8 @@ static S390CPUDef s390_cpu_defs[] = {
>>>>>>>>> CPUDEF_INIT(0x3906, 14, 1, 47, 0x08000000U, "z14", "IBM z14 GA1"),
>>>>>>>>> CPUDEF_INIT(0x3906, 14, 2, 47, 0x08000000U, "z14.2", "IBM z14 GA2"),
>>>>>>>>> CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
>>>>>>>>> + CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "8561", "IBM 8561 GA1"),
>>>>>>>>> + CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "8562", "IBM 8562 GA1"),
>>>>>>>>> };
>>>>>>>>
>>>>>>>> Thinking out loud, I know that official names are not published yet.
>>>>>>>> Looking at the recent history (z13, z14), my educated guess would be
>>>>>>>> z15. I guess pretty much everybody would guess that.
>>>>>>>
>>>>>>> Not sure about trademark aspects - especially if this really becomes z15. The smaller
>>>>>>> machine has no real history (ZR1 vs. s vs BC). So I think I would rather have a correct
>>>>>>> number than a partially correct name.
>>>>>>
>>>>>> We could also use "gen15a" and "gen15b", still better to get than magic
>>>>>> numbers. (yeah well, they are not magic)
>>>>>>
>>>>>> If you want to stick with numbers, be aware that cpu numbers are not
>>>>>> injective, so at some point we will need e.g. "8561.2", just so you're
>>>>>> aware of the implications.
>>>>>
>>>>> I think whatever we have here is only used internally for expansion (host-model)
>>>>> and the user will use later the real name when available. (custom). So probably this
>>>>> does not matter for a long time. But I might be wrong.
>>>>> I tend to prefer gen15 over z15 but 856x has also its charm.
>>>
>>> FWIW, I'd prefer gen15 over 856x, but...
>>
>> I actually think that the cpu id would be a nice name for expansion because it is
>> guarenteed to stay and it is unique and it allows to have a different content (if
>> that would be necessary) for 2 gen15 machines.
>>>
>>>>>
>>>>
>>>> Another question would be, can we rename before the next QEMU release,
>>>> so it will never be officially part of QEMU? Then we don't need aliases
>>>> after all. Of course, distros have to take care of that as well, but
>>>> that shouldn't be upstream QEMUs business.
>>>
>>> ...if we could do that, I'd like that even better.
>>
>> I dont think that I know the name in time before the next release.
>> So lets go with gen15a/gen15b or 8561/8562?
>
> I always have trouble remembering number combinations, so I'd vote for
> gen15a/gen15b if the official names are not an option.
OK, I will respin with gen15a/gen15b.
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [qemu-s390x] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-29 7:51 ` [Qemu-devel] [qemu-s390x] " Christian Borntraeger
2019-04-29 7:51 ` Christian Borntraeger
2019-04-29 8:53 ` Cornelia Huck
@ 2019-04-29 10:16 ` David Hildenbrand
2019-04-29 10:16 ` David Hildenbrand
2 siblings, 1 reply; 60+ messages in thread
From: David Hildenbrand @ 2019-04-29 10:16 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
> I dont think that I know the name in time before the next release.
> So lets go with gen15a/gen15b or 8561/8562?
>
We can still fixup if the names happen to be known earlier.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [qemu-s390x] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
2019-04-29 10:16 ` David Hildenbrand
@ 2019-04-29 10:16 ` David Hildenbrand
0 siblings, 0 replies; 60+ messages in thread
From: David Hildenbrand @ 2019-04-29 10:16 UTC (permalink / raw)
To: Christian Borntraeger, Cornelia Huck
Cc: Jason J . Herne, Collin Walling, qemu-devel, Halil Pasic,
qemu-s390x, Richard Henderson
> I dont think that I know the name in time before the next release.
> So lets go with gen15a/gen15b or 8561/8562?
>
We can still fixup if the names happen to be known earlier.
--
Thanks,
David / dhildenb
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 00/10] s390x: new guest features
2019-04-26 11:09 [Qemu-devel] [PATCH v2 00/10] s390x: new guest features Christian Borntraeger
` (10 preceding siblings ...)
2019-04-26 11:10 ` [Qemu-devel] [PATCH v2 10/10] s390x/cpumodel: wire up 8561 and 8562 as gen15 machines Christian Borntraeger
@ 2019-04-26 11:23 ` no-reply
2019-04-26 11:23 ` no-reply
11 siblings, 1 reply; 60+ messages in thread
From: no-reply @ 2019-04-26 11:23 UTC (permalink / raw)
To: borntraeger
Cc: fam, cohuck, jjherne, walling, david, qemu-devel, pasic,
qemu-s390x, rth
Patchew URL: https://patchew.org/QEMU/20190426111003.21246-1-borntraeger@de.ibm.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20190426111003.21246-1-borntraeger@de.ibm.com
Subject: [Qemu-devel] [PATCH v2 00/10] s390x: new guest features
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20190426111003.21246-1-borntraeger@de.ibm.com -> patchew/20190426111003.21246-1-borntraeger@de.ibm.com
Switched to a new branch 'test'
18f54345e8 s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
163a238ad5 s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
dbe4f8f72f s390x/cpumodel: add gen15 defintions
c9369bbdf2 s390x/cpumodel: add Deflate-conversion facility
659a7911c6 s390x/cpumodel: enhanced sort facility
57ff8285dc s390x/cpumodel: vector enhancements
7d6b294b58 s390x/cpumodel: msa9 facility
686cd4656b s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3
477fabcbc3 s390x/cpumodel: ignore csske for expansion
964a0a1164 linux header sync
=== OUTPUT BEGIN ===
1/10 Checking commit 964a0a1164ff (linux header sync)
2/10 Checking commit 477fabcbc36d (s390x/cpumodel: ignore csske for expansion)
3/10 Checking commit 686cd4656b1a (s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3)
ERROR: line over 90 characters
#22: FILE: target/s390x/cpu_features.c:86:
+ FEAT_INIT("minste3", S390_FEAT_TYPE_STFL, 61, "Miscellaneous-Instruction-Extensions Facility 3"),
total: 1 errors, 0 warnings, 14 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 7d6b294b5845 (s390x/cpumodel: msa9 facility)
ERROR: line over 90 characters
#22: FILE: target/s390x/cpu_features.c:111:
+ FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
WARNING: line over 80 characters
#30: FILE: target/s390x/cpu_features.c:246:
+ FEAT_INIT("pckmo-ecc-p256", S390_FEAT_TYPE_PCKMO, 32, "PCKMO Encrypt-ECC-P256-Key"),
WARNING: line over 80 characters
#31: FILE: target/s390x/cpu_features.c:247:
+ FEAT_INIT("pckmo-ecc-p384", S390_FEAT_TYPE_PCKMO, 33, "PCKMO Encrypt-ECC-P384-Key"),
WARNING: line over 80 characters
#32: FILE: target/s390x/cpu_features.c:248:
+ FEAT_INIT("pckmo-ecc-p521", S390_FEAT_TYPE_PCKMO, 34, "PCKMO Encrypt-ECC-P521-Key"),
ERROR: line over 90 characters
#33: FILE: target/s390x/cpu_features.c:249:
+ FEAT_INIT("pckmo-ecc-ed25519", S390_FEAT_TYPE_PCKMO, 40 , "PCKMO Encrypt-ECC-Ed25519-Key"),
ERROR: line over 90 characters
#34: FILE: target/s390x/cpu_features.c:250:
+ FEAT_INIT("pckmo-ecc-ed448", S390_FEAT_TYPE_PCKMO, 41 , "PCKMO Encrypt-ECC-Ed448-Key"),
WARNING: line over 80 characters
#42: FILE: target/s390x/cpu_features.c:307:
+ FEAT_INIT("pcc-scalar-mult-p256", S390_FEAT_TYPE_PCC, 64, "PCC Scalar-Multiply-P256"),
WARNING: line over 80 characters
#43: FILE: target/s390x/cpu_features.c:308:
+ FEAT_INIT("pcc-scalar-mult-p384", S390_FEAT_TYPE_PCC, 65, "PCC Scalar-Multiply-P384"),
WARNING: line over 80 characters
#44: FILE: target/s390x/cpu_features.c:309:
+ FEAT_INIT("pcc-scalar-mult-p521", S390_FEAT_TYPE_PCC, 66, "PCC Scalar-Multiply-P521"),
ERROR: line over 90 characters
#45: FILE: target/s390x/cpu_features.c:310:
+ FEAT_INIT("pcc-scalar-mult-ed25519", S390_FEAT_TYPE_PCC, 72, "PCC Scalar-Multiply-Ed25519"),
ERROR: line over 90 characters
#46: FILE: target/s390x/cpu_features.c:311:
+ FEAT_INIT("pcc-scalar-mult-ed448", S390_FEAT_TYPE_PCC, 73, "PCC Scalar-Multiply-Ed448"),
ERROR: line over 90 characters
#47: FILE: target/s390x/cpu_features.c:312:
+ FEAT_INIT("pcc-scalar-mult-x25519", S390_FEAT_TYPE_PCC, 80, "PCC Scalar-Multiply-X25519"),
WARNING: line over 80 characters
#48: FILE: target/s390x/cpu_features.c:313:
+ FEAT_INIT("pcc-scalar-mult-x448", S390_FEAT_TYPE_PCC, 81, "PCC Scalar-Multiply-X448"),
WARNING: line over 80 characters
#57: FILE: target/s390x/cpu_features.c:326:
+ FEAT_INIT("kdsa-ecdsa-verify-p256", S390_FEAT_TYPE_KDSA, 1, "KDSA ECDSA-Verify-P256"),
WARNING: line over 80 characters
#58: FILE: target/s390x/cpu_features.c:327:
+ FEAT_INIT("kdsa-ecdsa-verify-p384", S390_FEAT_TYPE_KDSA, 2, "KDSA ECDSA-Verify-P384"),
WARNING: line over 80 characters
#59: FILE: target/s390x/cpu_features.c:328:
+ FEAT_INIT("kdsa-ecdsa-verify-p521", S390_FEAT_TYPE_KDSA, 3, "KDSA ECDSA-Verify-P521"),
WARNING: line over 80 characters
#60: FILE: target/s390x/cpu_features.c:329:
+ FEAT_INIT("kdsa-ecdsa-sign-p256", S390_FEAT_TYPE_KDSA, 9, "KDSA ECDSA-Sign-P256"),
WARNING: line over 80 characters
#61: FILE: target/s390x/cpu_features.c:330:
+ FEAT_INIT("kdsa-ecdsa-sign-p384", S390_FEAT_TYPE_KDSA, 10, "KDSA ECDSA-Sign-P384"),
WARNING: line over 80 characters
#62: FILE: target/s390x/cpu_features.c:331:
+ FEAT_INIT("kdsa-ecdsa-sign-p521", S390_FEAT_TYPE_KDSA, 11, "KDSA ECDSA-Sign-P521"),
ERROR: line over 90 characters
#63: FILE: target/s390x/cpu_features.c:332:
+ FEAT_INIT("kdsa-eecdsa-sign-p256", S390_FEAT_TYPE_KDSA, 17, "KDSA Encrypted-ECDSA-Sign-P256"),
ERROR: line over 90 characters
#64: FILE: target/s390x/cpu_features.c:333:
+ FEAT_INIT("kdsa-eecdsa-sign-p384", S390_FEAT_TYPE_KDSA, 18, "KDSA Encrypted-ECDSA-Sign-P384"),
ERROR: line over 90 characters
#65: FILE: target/s390x/cpu_features.c:334:
+ FEAT_INIT("kdsa-eecdsa-sign-p521", S390_FEAT_TYPE_KDSA, 19, "KDSA Encrypted-ECDSA-Sign-P521"),
ERROR: line over 90 characters
#66: FILE: target/s390x/cpu_features.c:335:
+ FEAT_INIT("kdsa-eddsa-verify-ed25519", S390_FEAT_TYPE_KDSA, 32, "KDSA EdDSA-Verify-Ed25519"),
ERROR: line over 90 characters
#67: FILE: target/s390x/cpu_features.c:336:
+ FEAT_INIT("kdsa-eddsa-verify-ed448", S390_FEAT_TYPE_KDSA, 36, "KDSA EdDSA-Verify-Ed448"),
ERROR: line over 90 characters
#68: FILE: target/s390x/cpu_features.c:337:
+ FEAT_INIT("kdsa-eddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 40, "KDSA EdDSA-Sign-Ed25519"),
WARNING: line over 80 characters
#69: FILE: target/s390x/cpu_features.c:338:
+ FEAT_INIT("kdsa-eddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 44, "KDSA EdDSA-Sign-Ed448"),
ERROR: line over 90 characters
#70: FILE: target/s390x/cpu_features.c:339:
+ FEAT_INIT("kdsa-eeddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 48, "KDSA Encrypted-EdDSA-Sign-Ed25519"),
ERROR: line over 90 characters
#71: FILE: target/s390x/cpu_features.c:340:
+ FEAT_INIT("kdsa-eeddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 52, "KDSA Encrypted-EdDSA-Sign-Ed448"),
WARNING: line over 80 characters
#87: FILE: target/s390x/cpu_features.c:499:
+ FEAT_GROUP_INIT("msa9", MSA_EXT_9, "Message-security-assist-extension 9 facility"),
ERROR: line over 90 characters
#88: FILE: target/s390x/cpu_features.c:500:
+ FEAT_GROUP_INIT("msa9_pckmo", MSA_EXT_9_PCKMO, "Message-security-assist-extension 9 PCKMO subfunctions"),
ERROR: Macros with complex values should be enclosed in parenthesis
#188: FILE: target/s390x/gen-features.c:216:
+#define S390_FEAT_GROUP_MSA_EXT_9 \
+ S390_FEAT_MSA_EXT_9, \
+ S390_FEAT_ECDSA_VERIFY_P256, \
+ S390_FEAT_ECDSA_VERIFY_P384, \
+ S390_FEAT_ECDSA_VERIFY_P512, \
+ S390_FEAT_ECDSA_SIGN_P256, \
+ S390_FEAT_ECDSA_SIGN_P384, \
+ S390_FEAT_ECDSA_SIGN_P512, \
+ S390_FEAT_EECDSA_SIGN_P256, \
+ S390_FEAT_EECDSA_SIGN_P384, \
+ S390_FEAT_EECDSA_SIGN_P512, \
+ S390_FEAT_EDDSA_VERIFY_ED25519, \
+ S390_FEAT_EDDSA_VERIFY_ED448, \
+ S390_FEAT_EDDSA_SIGN_ED25519, \
+ S390_FEAT_EDDSA_SIGN_ED448, \
+ S390_FEAT_EEDDSA_SIGN_ED25519, \
+ S390_FEAT_EEDDSA_SIGN_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_P256, \
+ S390_FEAT_PCC_SCALAR_MULT_P384, \
+ S390_FEAT_PCC_SCALAR_MULT_P512, \
+ S390_FEAT_PCC_SCALAR_MULT_ED25519, \
+ S390_FEAT_PCC_SCALAR_MULT_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_X25519, \
+ S390_FEAT_PCC_SCALAR_MULT_X448
ERROR: Macros with complex values should be enclosed in parenthesis
#213: FILE: target/s390x/gen-features.c:241:
+#define S390_FEAT_GROUP_MSA_EXT_9_PCKMO \
+ S390_FEAT_PCKMO_ECC_P256, \
+ S390_FEAT_PCKMO_ECC_P384, \
+ S390_FEAT_PCKMO_ECC_P521, \
+ S390_FEAT_PCKMO_ECC_ED25519, \
+ S390_FEAT_PCKMO_ECC_ED448
total: 17 errors, 15 warnings, 216 lines checked
Patch 4/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
5/10 Checking commit 57ff8285dc02 (s390x/cpumodel: vector enhancements)
WARNING: line over 80 characters
#21: FILE: target/s390x/cpu_features.c:111:
+ FEAT_INIT("vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector Enhancements facility 2"),
WARNING: line over 80 characters
#22: FILE: target/s390x/cpu_features.c:112:
+ FEAT_INIT("vxbeh", S390_FEAT_TYPE_STFL, 152, "Vector BCD enhancements facility 1"),
total: 0 errors, 2 warnings, 16 lines checked
Patch 5/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/10 Checking commit 659a7911c6ad (s390x/cpumodel: enhanced sort facility)
ERROR: line over 90 characters
#21: FILE: target/s390x/cpu_features.c:112:
+ FEAT_INIT("esort-base", S390_FEAT_TYPE_STFL, 150, "Enhanced-sort facility (excluding subfunctions)"),
WARNING: line over 80 characters
#34: FILE: target/s390x/cpu_features.c:349:
+ FEAT_INIT("sortl-f0", S390_FEAT_TYPE_SORTL, 192, "SORTL format 0 parameter-block"),
ERROR: Macros with complex values should be enclosed in parenthesis
#108: FILE: target/s390x/gen-features.c:248:
+#define S390_FEAT_GROUP_ENH_SORT \
+ S390_FEAT_ESORT_BASE, \
+ S390_FEAT_SORTL_SFLR, \
+ S390_FEAT_SORTL_SVLR, \
+ S390_FEAT_SORTL_32, \
+ S390_FEAT_SORTL_128, \
+ S390_FEAT_SORTL_F0
total: 2 errors, 1 warnings, 117 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit c9369bbdf287 (s390x/cpumodel: add Deflate-conversion facility)
ERROR: line over 90 characters
#20: FILE: target/s390x/cpu_features.c:113:
+ FEAT_INIT("deflate-base", S390_FEAT_TYPE_STFL, 151, "Deflate-conversion facility (excluding subfunctions)"),
WARNING: line over 80 characters
#32: FILE: target/s390x/cpu_features.c:355:
+ FEAT_INIT("dfltcc-f0", S390_FEAT_TYPE_DFLTCC, 192, "DFLTCC format 0 parameter-block"),
WARNING: line over 80 characters
#56: FILE: target/s390x/cpu_features.c:522:
+ FEAT_GROUP_INIT("deflate", DEFLATE_CONVERSION, "Deflate-conversion facility"),
ERROR: Macros with complex values should be enclosed in parenthesis
#105: FILE: target/s390x/gen-features.c:257:
+#define S390_FEAT_GROUP_DEFLATE_CONVERSION \
+ S390_FEAT_DEFLATE_BASE, \
+ S390_FEAT_DEFLATE_GHDT, \
+ S390_FEAT_DEFLATE_CMPR, \
+ S390_FEAT_DEFLATE_XPND, \
+ S390_FEAT_DEFLATE_F0
total: 2 errors, 2 warnings, 113 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit dbe4f8f72fe1 (s390x/cpumodel: add gen15 defintions)
9/10 Checking commit 163a238ad56e (s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards)
10/10 Checking commit 18f54345e8e3 (s390x/cpumodel: wire up 8561 and 8562 as gen15 machines)
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190426111003.21246-1-borntraeger@de.ibm.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 60+ messages in thread
* Re: [Qemu-devel] [PATCH v2 00/10] s390x: new guest features
2019-04-26 11:23 ` [Qemu-devel] [PATCH v2 00/10] s390x: new guest features no-reply
@ 2019-04-26 11:23 ` no-reply
0 siblings, 0 replies; 60+ messages in thread
From: no-reply @ 2019-04-26 11:23 UTC (permalink / raw)
To: borntraeger
Cc: fam, jjherne, walling, david, cohuck, qemu-devel, pasic,
qemu-s390x, rth
Patchew URL: https://patchew.org/QEMU/20190426111003.21246-1-borntraeger@de.ibm.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20190426111003.21246-1-borntraeger@de.ibm.com
Subject: [Qemu-devel] [PATCH v2 00/10] s390x: new guest features
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
* [new tag] patchew/20190426111003.21246-1-borntraeger@de.ibm.com -> patchew/20190426111003.21246-1-borntraeger@de.ibm.com
Switched to a new branch 'test'
18f54345e8 s390x/cpumodel: wire up 8561 and 8562 as gen15 machines
163a238ad5 s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards
dbe4f8f72f s390x/cpumodel: add gen15 defintions
c9369bbdf2 s390x/cpumodel: add Deflate-conversion facility
659a7911c6 s390x/cpumodel: enhanced sort facility
57ff8285dc s390x/cpumodel: vector enhancements
7d6b294b58 s390x/cpumodel: msa9 facility
686cd4656b s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3
477fabcbc3 s390x/cpumodel: ignore csske for expansion
964a0a1164 linux header sync
=== OUTPUT BEGIN ===
1/10 Checking commit 964a0a1164ff (linux header sync)
2/10 Checking commit 477fabcbc36d (s390x/cpumodel: ignore csske for expansion)
3/10 Checking commit 686cd4656b1a (s390x/cpumodel: Miscellaneous-Instruction-Extensions Facility 3)
ERROR: line over 90 characters
#22: FILE: target/s390x/cpu_features.c:86:
+ FEAT_INIT("minste3", S390_FEAT_TYPE_STFL, 61, "Miscellaneous-Instruction-Extensions Facility 3"),
total: 1 errors, 0 warnings, 14 lines checked
Patch 3/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/10 Checking commit 7d6b294b5845 (s390x/cpumodel: msa9 facility)
ERROR: line over 90 characters
#22: FILE: target/s390x/cpu_features.c:111:
+ FEAT_INIT("msa9-base", S390_FEAT_TYPE_STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)"),
WARNING: line over 80 characters
#30: FILE: target/s390x/cpu_features.c:246:
+ FEAT_INIT("pckmo-ecc-p256", S390_FEAT_TYPE_PCKMO, 32, "PCKMO Encrypt-ECC-P256-Key"),
WARNING: line over 80 characters
#31: FILE: target/s390x/cpu_features.c:247:
+ FEAT_INIT("pckmo-ecc-p384", S390_FEAT_TYPE_PCKMO, 33, "PCKMO Encrypt-ECC-P384-Key"),
WARNING: line over 80 characters
#32: FILE: target/s390x/cpu_features.c:248:
+ FEAT_INIT("pckmo-ecc-p521", S390_FEAT_TYPE_PCKMO, 34, "PCKMO Encrypt-ECC-P521-Key"),
ERROR: line over 90 characters
#33: FILE: target/s390x/cpu_features.c:249:
+ FEAT_INIT("pckmo-ecc-ed25519", S390_FEAT_TYPE_PCKMO, 40 , "PCKMO Encrypt-ECC-Ed25519-Key"),
ERROR: line over 90 characters
#34: FILE: target/s390x/cpu_features.c:250:
+ FEAT_INIT("pckmo-ecc-ed448", S390_FEAT_TYPE_PCKMO, 41 , "PCKMO Encrypt-ECC-Ed448-Key"),
WARNING: line over 80 characters
#42: FILE: target/s390x/cpu_features.c:307:
+ FEAT_INIT("pcc-scalar-mult-p256", S390_FEAT_TYPE_PCC, 64, "PCC Scalar-Multiply-P256"),
WARNING: line over 80 characters
#43: FILE: target/s390x/cpu_features.c:308:
+ FEAT_INIT("pcc-scalar-mult-p384", S390_FEAT_TYPE_PCC, 65, "PCC Scalar-Multiply-P384"),
WARNING: line over 80 characters
#44: FILE: target/s390x/cpu_features.c:309:
+ FEAT_INIT("pcc-scalar-mult-p521", S390_FEAT_TYPE_PCC, 66, "PCC Scalar-Multiply-P521"),
ERROR: line over 90 characters
#45: FILE: target/s390x/cpu_features.c:310:
+ FEAT_INIT("pcc-scalar-mult-ed25519", S390_FEAT_TYPE_PCC, 72, "PCC Scalar-Multiply-Ed25519"),
ERROR: line over 90 characters
#46: FILE: target/s390x/cpu_features.c:311:
+ FEAT_INIT("pcc-scalar-mult-ed448", S390_FEAT_TYPE_PCC, 73, "PCC Scalar-Multiply-Ed448"),
ERROR: line over 90 characters
#47: FILE: target/s390x/cpu_features.c:312:
+ FEAT_INIT("pcc-scalar-mult-x25519", S390_FEAT_TYPE_PCC, 80, "PCC Scalar-Multiply-X25519"),
WARNING: line over 80 characters
#48: FILE: target/s390x/cpu_features.c:313:
+ FEAT_INIT("pcc-scalar-mult-x448", S390_FEAT_TYPE_PCC, 81, "PCC Scalar-Multiply-X448"),
WARNING: line over 80 characters
#57: FILE: target/s390x/cpu_features.c:326:
+ FEAT_INIT("kdsa-ecdsa-verify-p256", S390_FEAT_TYPE_KDSA, 1, "KDSA ECDSA-Verify-P256"),
WARNING: line over 80 characters
#58: FILE: target/s390x/cpu_features.c:327:
+ FEAT_INIT("kdsa-ecdsa-verify-p384", S390_FEAT_TYPE_KDSA, 2, "KDSA ECDSA-Verify-P384"),
WARNING: line over 80 characters
#59: FILE: target/s390x/cpu_features.c:328:
+ FEAT_INIT("kdsa-ecdsa-verify-p521", S390_FEAT_TYPE_KDSA, 3, "KDSA ECDSA-Verify-P521"),
WARNING: line over 80 characters
#60: FILE: target/s390x/cpu_features.c:329:
+ FEAT_INIT("kdsa-ecdsa-sign-p256", S390_FEAT_TYPE_KDSA, 9, "KDSA ECDSA-Sign-P256"),
WARNING: line over 80 characters
#61: FILE: target/s390x/cpu_features.c:330:
+ FEAT_INIT("kdsa-ecdsa-sign-p384", S390_FEAT_TYPE_KDSA, 10, "KDSA ECDSA-Sign-P384"),
WARNING: line over 80 characters
#62: FILE: target/s390x/cpu_features.c:331:
+ FEAT_INIT("kdsa-ecdsa-sign-p521", S390_FEAT_TYPE_KDSA, 11, "KDSA ECDSA-Sign-P521"),
ERROR: line over 90 characters
#63: FILE: target/s390x/cpu_features.c:332:
+ FEAT_INIT("kdsa-eecdsa-sign-p256", S390_FEAT_TYPE_KDSA, 17, "KDSA Encrypted-ECDSA-Sign-P256"),
ERROR: line over 90 characters
#64: FILE: target/s390x/cpu_features.c:333:
+ FEAT_INIT("kdsa-eecdsa-sign-p384", S390_FEAT_TYPE_KDSA, 18, "KDSA Encrypted-ECDSA-Sign-P384"),
ERROR: line over 90 characters
#65: FILE: target/s390x/cpu_features.c:334:
+ FEAT_INIT("kdsa-eecdsa-sign-p521", S390_FEAT_TYPE_KDSA, 19, "KDSA Encrypted-ECDSA-Sign-P521"),
ERROR: line over 90 characters
#66: FILE: target/s390x/cpu_features.c:335:
+ FEAT_INIT("kdsa-eddsa-verify-ed25519", S390_FEAT_TYPE_KDSA, 32, "KDSA EdDSA-Verify-Ed25519"),
ERROR: line over 90 characters
#67: FILE: target/s390x/cpu_features.c:336:
+ FEAT_INIT("kdsa-eddsa-verify-ed448", S390_FEAT_TYPE_KDSA, 36, "KDSA EdDSA-Verify-Ed448"),
ERROR: line over 90 characters
#68: FILE: target/s390x/cpu_features.c:337:
+ FEAT_INIT("kdsa-eddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 40, "KDSA EdDSA-Sign-Ed25519"),
WARNING: line over 80 characters
#69: FILE: target/s390x/cpu_features.c:338:
+ FEAT_INIT("kdsa-eddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 44, "KDSA EdDSA-Sign-Ed448"),
ERROR: line over 90 characters
#70: FILE: target/s390x/cpu_features.c:339:
+ FEAT_INIT("kdsa-eeddsa-sign-ed25519", S390_FEAT_TYPE_KDSA, 48, "KDSA Encrypted-EdDSA-Sign-Ed25519"),
ERROR: line over 90 characters
#71: FILE: target/s390x/cpu_features.c:340:
+ FEAT_INIT("kdsa-eeddsa-sign-ed448", S390_FEAT_TYPE_KDSA, 52, "KDSA Encrypted-EdDSA-Sign-Ed448"),
WARNING: line over 80 characters
#87: FILE: target/s390x/cpu_features.c:499:
+ FEAT_GROUP_INIT("msa9", MSA_EXT_9, "Message-security-assist-extension 9 facility"),
ERROR: line over 90 characters
#88: FILE: target/s390x/cpu_features.c:500:
+ FEAT_GROUP_INIT("msa9_pckmo", MSA_EXT_9_PCKMO, "Message-security-assist-extension 9 PCKMO subfunctions"),
ERROR: Macros with complex values should be enclosed in parenthesis
#188: FILE: target/s390x/gen-features.c:216:
+#define S390_FEAT_GROUP_MSA_EXT_9 \
+ S390_FEAT_MSA_EXT_9, \
+ S390_FEAT_ECDSA_VERIFY_P256, \
+ S390_FEAT_ECDSA_VERIFY_P384, \
+ S390_FEAT_ECDSA_VERIFY_P512, \
+ S390_FEAT_ECDSA_SIGN_P256, \
+ S390_FEAT_ECDSA_SIGN_P384, \
+ S390_FEAT_ECDSA_SIGN_P512, \
+ S390_FEAT_EECDSA_SIGN_P256, \
+ S390_FEAT_EECDSA_SIGN_P384, \
+ S390_FEAT_EECDSA_SIGN_P512, \
+ S390_FEAT_EDDSA_VERIFY_ED25519, \
+ S390_FEAT_EDDSA_VERIFY_ED448, \
+ S390_FEAT_EDDSA_SIGN_ED25519, \
+ S390_FEAT_EDDSA_SIGN_ED448, \
+ S390_FEAT_EEDDSA_SIGN_ED25519, \
+ S390_FEAT_EEDDSA_SIGN_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_P256, \
+ S390_FEAT_PCC_SCALAR_MULT_P384, \
+ S390_FEAT_PCC_SCALAR_MULT_P512, \
+ S390_FEAT_PCC_SCALAR_MULT_ED25519, \
+ S390_FEAT_PCC_SCALAR_MULT_ED448, \
+ S390_FEAT_PCC_SCALAR_MULT_X25519, \
+ S390_FEAT_PCC_SCALAR_MULT_X448
ERROR: Macros with complex values should be enclosed in parenthesis
#213: FILE: target/s390x/gen-features.c:241:
+#define S390_FEAT_GROUP_MSA_EXT_9_PCKMO \
+ S390_FEAT_PCKMO_ECC_P256, \
+ S390_FEAT_PCKMO_ECC_P384, \
+ S390_FEAT_PCKMO_ECC_P521, \
+ S390_FEAT_PCKMO_ECC_ED25519, \
+ S390_FEAT_PCKMO_ECC_ED448
total: 17 errors, 15 warnings, 216 lines checked
Patch 4/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
5/10 Checking commit 57ff8285dc02 (s390x/cpumodel: vector enhancements)
WARNING: line over 80 characters
#21: FILE: target/s390x/cpu_features.c:111:
+ FEAT_INIT("vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector Enhancements facility 2"),
WARNING: line over 80 characters
#22: FILE: target/s390x/cpu_features.c:112:
+ FEAT_INIT("vxbeh", S390_FEAT_TYPE_STFL, 152, "Vector BCD enhancements facility 1"),
total: 0 errors, 2 warnings, 16 lines checked
Patch 5/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
6/10 Checking commit 659a7911c6ad (s390x/cpumodel: enhanced sort facility)
ERROR: line over 90 characters
#21: FILE: target/s390x/cpu_features.c:112:
+ FEAT_INIT("esort-base", S390_FEAT_TYPE_STFL, 150, "Enhanced-sort facility (excluding subfunctions)"),
WARNING: line over 80 characters
#34: FILE: target/s390x/cpu_features.c:349:
+ FEAT_INIT("sortl-f0", S390_FEAT_TYPE_SORTL, 192, "SORTL format 0 parameter-block"),
ERROR: Macros with complex values should be enclosed in parenthesis
#108: FILE: target/s390x/gen-features.c:248:
+#define S390_FEAT_GROUP_ENH_SORT \
+ S390_FEAT_ESORT_BASE, \
+ S390_FEAT_SORTL_SFLR, \
+ S390_FEAT_SORTL_SVLR, \
+ S390_FEAT_SORTL_32, \
+ S390_FEAT_SORTL_128, \
+ S390_FEAT_SORTL_F0
total: 2 errors, 1 warnings, 117 lines checked
Patch 6/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/10 Checking commit c9369bbdf287 (s390x/cpumodel: add Deflate-conversion facility)
ERROR: line over 90 characters
#20: FILE: target/s390x/cpu_features.c:113:
+ FEAT_INIT("deflate-base", S390_FEAT_TYPE_STFL, 151, "Deflate-conversion facility (excluding subfunctions)"),
WARNING: line over 80 characters
#32: FILE: target/s390x/cpu_features.c:355:
+ FEAT_INIT("dfltcc-f0", S390_FEAT_TYPE_DFLTCC, 192, "DFLTCC format 0 parameter-block"),
WARNING: line over 80 characters
#56: FILE: target/s390x/cpu_features.c:522:
+ FEAT_GROUP_INIT("deflate", DEFLATE_CONVERSION, "Deflate-conversion facility"),
ERROR: Macros with complex values should be enclosed in parenthesis
#105: FILE: target/s390x/gen-features.c:257:
+#define S390_FEAT_GROUP_DEFLATE_CONVERSION \
+ S390_FEAT_DEFLATE_BASE, \
+ S390_FEAT_DEFLATE_GHDT, \
+ S390_FEAT_DEFLATE_CMPR, \
+ S390_FEAT_DEFLATE_XPND, \
+ S390_FEAT_DEFLATE_F0
total: 2 errors, 2 warnings, 113 lines checked
Patch 7/10 has style problems, please review. If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
8/10 Checking commit dbe4f8f72fe1 (s390x/cpumodel: add gen15 defintions)
9/10 Checking commit 163a238ad56e (s390x/cpumodel: disable csske and bpb from gen15 cpu models onwards)
10/10 Checking commit 18f54345e8e3 (s390x/cpumodel: wire up 8561 and 8562 as gen15 machines)
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20190426111003.21246-1-borntraeger@de.ibm.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply [flat|nested] 60+ messages in thread