diff mbox series

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

Message ID 20210907101017.27126-1-borntraeger@de.ibm.com
State New
Headers show
Series [v2] s390x/cpumodel: Add more feature to gen16 default model | expand

Commit Message

Christian Borntraeger Sept. 7, 2021, 10:10 a.m. UTC
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(-)

Comments

David Hildenbrand Sept. 7, 2021, 10:13 a.m. UTC | #1
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>
Thomas Huth Sept. 7, 2021, 11:38 a.m. UTC | #2
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
diff mbox series

Patch

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 */