[PATCH v2] s390x/cpumodel: Add more feature to gen16 default model

Christian Borntraeger posted 1 patch 2 years, 7 months ago
Test checkpatch passed
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20210907101017.27126-1-borntraeger@de.ibm.com
Maintainers: Thomas Huth <thuth@redhat.com>, David Hildenbrand <david@redhat.com>, Christian Borntraeger <borntraeger@de.ibm.com>, Richard Henderson <richard.henderson@linaro.org>, Cornelia Huck <cohuck@redhat.com>, Halil Pasic <pasic@linux.ibm.com>
hw/s390x/s390-virtio-ccw.c  | 5 +++++
target/s390x/gen-features.c | 8 +++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
[PATCH v2] s390x/cpumodel: Add more feature to gen16 default model
Posted by Christian Borntraeger 2 years, 7 months ago
Add the new gen16 features to the default model and fence them for
machine version 6.1 and earlier.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
 hw/s390x/s390-virtio-ccw.c  | 5 +++++
 target/s390x/gen-features.c | 8 +++++++-
 2 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
index 4d25278cf20e..61aeccb163f7 100644
--- a/hw/s390x/s390-virtio-ccw.c
+++ b/hw/s390x/s390-virtio-ccw.c
@@ -803,6 +803,11 @@ DEFINE_CCW_MACHINE(6_2, "6.2", true);
 static void ccw_machine_6_1_instance_options(MachineState *machine)
 {
     ccw_machine_6_2_instance_options(machine);
+    s390_cpudef_featoff_greater(16, 1, S390_FEAT_NNPA);
+    s390_cpudef_featoff_greater(16, 1, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2);
+    s390_cpudef_featoff_greater(16, 1, S390_FEAT_BEAR_ENH);
+    s390_cpudef_featoff_greater(16, 1, S390_FEAT_RDP);
+    s390_cpudef_featoff_greater(16, 1, S390_FEAT_PAI);
 }
 
 static void ccw_machine_6_1_class_options(MachineClass *mc)
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 7d85322d6814..7cb1a6ec10be 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -663,7 +663,13 @@ static uint16_t default_GEN15_GA1[] = {
     S390_FEAT_ETOKEN,
 };
 
-#define default_GEN16_GA1 EmptyFeat
+static uint16_t default_GEN16_GA1[] = {
+    S390_FEAT_NNPA,
+    S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2,
+    S390_FEAT_BEAR_ENH,
+    S390_FEAT_RDP,
+    S390_FEAT_PAI,
+};
 
 /* QEMU (CPU model) features */
 
-- 
2.32.0


Re: [PATCH v2] s390x/cpumodel: Add more feature to gen16 default model
Posted by David Hildenbrand 2 years, 7 months ago
On 07.09.21 12:10, Christian Borntraeger wrote:
> Add the new gen16 features to the default model and fence them for
> machine version 6.1 and earlier.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
>   hw/s390x/s390-virtio-ccw.c  | 5 +++++
>   target/s390x/gen-features.c | 8 +++++++-
>   2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 4d25278cf20e..61aeccb163f7 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -803,6 +803,11 @@ DEFINE_CCW_MACHINE(6_2, "6.2", true);
>   static void ccw_machine_6_1_instance_options(MachineState *machine)
>   {
>       ccw_machine_6_2_instance_options(machine);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_NNPA);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_BEAR_ENH);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_RDP);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_PAI);
>   }
>   
>   static void ccw_machine_6_1_class_options(MachineClass *mc)
> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
> index 7d85322d6814..7cb1a6ec10be 100644
> --- a/target/s390x/gen-features.c
> +++ b/target/s390x/gen-features.c
> @@ -663,7 +663,13 @@ static uint16_t default_GEN15_GA1[] = {
>       S390_FEAT_ETOKEN,
>   };
>   
> -#define default_GEN16_GA1 EmptyFeat
> +static uint16_t default_GEN16_GA1[] = {
> +    S390_FEAT_NNPA,
> +    S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2,
> +    S390_FEAT_BEAR_ENH,
> +    S390_FEAT_RDP,
> +    S390_FEAT_PAI,
> +};
>   
>   /* QEMU (CPU model) features */
>   
> 

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

-- 
Thanks,

David / dhildenb


Re: [PATCH v2] s390x/cpumodel: Add more feature to gen16 default model
Posted by Thomas Huth 2 years, 7 months ago
On 07/09/2021 12.10, Christian Borntraeger wrote:
> Add the new gen16 features to the default model and fence them for
> machine version 6.1 and earlier.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
>   hw/s390x/s390-virtio-ccw.c  | 5 +++++
>   target/s390x/gen-features.c | 8 +++++++-
>   2 files changed, 12 insertions(+), 1 deletion(-)
> 
> diff --git a/hw/s390x/s390-virtio-ccw.c b/hw/s390x/s390-virtio-ccw.c
> index 4d25278cf20e..61aeccb163f7 100644
> --- a/hw/s390x/s390-virtio-ccw.c
> +++ b/hw/s390x/s390-virtio-ccw.c
> @@ -803,6 +803,11 @@ DEFINE_CCW_MACHINE(6_2, "6.2", true);
>   static void ccw_machine_6_1_instance_options(MachineState *machine)
>   {
>       ccw_machine_6_2_instance_options(machine);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_NNPA);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_BEAR_ENH);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_RDP);
> +    s390_cpudef_featoff_greater(16, 1, S390_FEAT_PAI);
>   }
>   
>   static void ccw_machine_6_1_class_options(MachineClass *mc)
> diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
> index 7d85322d6814..7cb1a6ec10be 100644
> --- a/target/s390x/gen-features.c
> +++ b/target/s390x/gen-features.c
> @@ -663,7 +663,13 @@ static uint16_t default_GEN15_GA1[] = {
>       S390_FEAT_ETOKEN,
>   };
>   
> -#define default_GEN16_GA1 EmptyFeat
> +static uint16_t default_GEN16_GA1[] = {
> +    S390_FEAT_NNPA,
> +    S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2,
> +    S390_FEAT_BEAR_ENH,
> +    S390_FEAT_RDP,
> +    S390_FEAT_PAI,
> +};
>   
>   /* QEMU (CPU model) features */
>   
> 

Thanks, queued to my s390x-next branch:

  https://gitlab.com/thuth/qemu/-/commits/s390x-next/

  Thomas