[PATCH] 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/20210907091128.25051-1-borntraeger@de.ibm.com
Maintainers: Richard Henderson <richard.henderson@linaro.org>, Thomas Huth <thuth@redhat.com>, David Hildenbrand <david@redhat.com>, Halil Pasic <pasic@linux.ibm.com>, Cornelia Huck <cohuck@redhat.com>, Christian Borntraeger <borntraeger@de.ibm.com>
There is a newer version of this series
hw/s390x/s390-virtio-ccw.c  | 5 +++++
target/s390x/gen-features.c | 8 +++++++-
2 files changed, 12 insertions(+), 1 deletion(-)
[PATCH] 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..72573ec66e84 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(12, 1, S390_FEAT_NNPA);
+    s390_cpudef_featoff_greater(12, 1, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2);
+    s390_cpudef_featoff_greater(12, 1, S390_FEAT_BEAR_ENH);
+    s390_cpudef_featoff_greater(12, 1, S390_FEAT_RDP);
+    s390_cpudef_featoff_greater(12, 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] s390x/cpumodel: Add more feature to gen16 default model
Posted by Christian Borntraeger 2 years, 7 months ago

On 07.09.21 11:11, 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..72573ec66e84 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(12, 1, S390_FEAT_NNPA);
> +    s390_cpudef_featoff_greater(12, 1, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2);
> +    s390_cpudef_featoff_greater(12, 1, S390_FEAT_BEAR_ENH);
> +    s390_cpudef_featoff_greater(12, 1, S390_FEAT_RDP);
> +    s390_cpudef_featoff_greater(12, 1, S390_FEAT_PAI);

It does not hurt, but the 12 should be 16 of course.
Will fix.

Re: [PATCH] s390x/cpumodel: Add more feature to gen16 default model
Posted by David Hildenbrand 2 years, 7 months ago
On 07.09.21 11:22, Christian Borntraeger wrote:
> 
> 
> On 07.09.21 11:11, 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..72573ec66e84 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(12, 1, S390_FEAT_NNPA);
>> +    s390_cpudef_featoff_greater(12, 1, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2);
>> +    s390_cpudef_featoff_greater(12, 1, S390_FEAT_BEAR_ENH);
>> +    s390_cpudef_featoff_greater(12, 1, S390_FEAT_RDP);
>> +    s390_cpudef_featoff_greater(12, 1, S390_FEAT_PAI);
> 
> It does not hurt, but the 12 should be 16 of course.
> Will fix.
> 

... I was just about to reply this very second :D

LGTM otherwise

-- 
Thanks,

David / dhildenb