diff mbox series

[1/1] s390x/cpumodel: add 3931 and 3932

Message ID 20210622201923.150205-2-borntraeger@de.ibm.com
State New
Headers show
Series Add features and cpu models | expand

Commit Message

Christian Borntraeger June 22, 2021, 8:19 p.m. UTC
This defines 5 new facilities and the new 3931 and 3932 machines.
As before the name is not yet known and we do use gen16a and gen16b.
The new features are part of the full model.

The default model is still empty (same as z15) and will be added
in a separate patch at a later point in time.

Also add the dependencies of new facilities and as a fix for z15 add
a dependency from S390_FEAT_VECTOR_PACKED_DECIMAL_ENH to
S390_VECTOR_PACKED_DECIMAL.

Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
---
 target/s390x/cpu_features_def.h.inc |  5 +++++
 target/s390x/cpu_models.c           |  6 ++++++
 target/s390x/gen-features.c         | 14 ++++++++++++++
 3 files changed, 25 insertions(+)

Comments

David Hildenbrand June 30, 2021, 1:32 p.m. UTC | #1
On 22.06.21 22:19, Christian Borntraeger wrote:
> This defines 5 new facilities and the new 3931 and 3932 machines.
> As before the name is not yet known and we do use gen16a and gen16b.
> The new features are part of the full model.
> 
> The default model is still empty (same as z15) and will be added
> in a separate patch at a later point in time.
> 
> Also add the dependencies of new facilities and as a fix for z15 add
> a dependency from S390_FEAT_VECTOR_PACKED_DECIMAL_ENH to
> S390_VECTOR_PACKED_DECIMAL.
> 
> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
> ---
>   target/s390x/cpu_features_def.h.inc |  5 +++++
>   target/s390x/cpu_models.c           |  6 ++++++
>   target/s390x/gen-features.c         | 14 ++++++++++++++
>   3 files changed, 25 insertions(+)
> 
> diff --git a/target/s390x/cpu_features_def.h.inc b/target/s390x/cpu_features_def.h.inc
> index 7db3449e0434..c71caee74411 100644
> --- a/target/s390x/cpu_features_def.h.inc
> +++ b/target/s390x/cpu_features_def.h.inc
> @@ -109,6 +109,11 @@ DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH, "vxpdeh", STFL, 152, "Vector-Packed-Decimal-
>   DEF_FEAT(MSA_EXT_9, "msa9-base", STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)")
>   DEF_FEAT(ETOKEN, "etoken", STFL, 156, "Etoken facility")
>   DEF_FEAT(UNPACK, "unpack", STFL, 161, "Unpack facility")
> +DEF_FEAT(NNPA, "nnpa", STFL, 165, "NNPA facility")
> +DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH2, "vxpdeh2", STFL, 192, "Vector-Packed-Decimal-Enhancement facility 2")
> +DEF_FEAT(BEAR, "bear", STFL, 193, "BEAR-enhancement facility")

Usually we use "eh" for enhancement. Which would result in "beareh" or 
alternatively "beh". But maybe the "enhancement" part is not actually an 
enhancement, but instead this facility is more like the etoken or unpack 
facility ...

> +DEF_FEAT(RDP, "rdp", STFL, 194, "Reset-DAT-protection facility")
> +DEF_FEAT(ACTIVITY, "activity", STFL, 196, "Processor-Activity-Instrumentation facility")

Would "pai" be a more appropriate feature name?
Christian Borntraeger June 30, 2021, 1:53 p.m. UTC | #2
On 30.06.21 15:32, David Hildenbrand wrote:
> On 22.06.21 22:19, Christian Borntraeger wrote:
>> This defines 5 new facilities and the new 3931 and 3932 machines.
>> As before the name is not yet known and we do use gen16a and gen16b.
>> The new features are part of the full model.
>>
>> The default model is still empty (same as z15) and will be added
>> in a separate patch at a later point in time.
>>
>> Also add the dependencies of new facilities and as a fix for z15 add
>> a dependency from S390_FEAT_VECTOR_PACKED_DECIMAL_ENH to
>> S390_VECTOR_PACKED_DECIMAL.
>>
>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>> ---
>>   target/s390x/cpu_features_def.h.inc |  5 +++++
>>   target/s390x/cpu_models.c           |  6 ++++++
>>   target/s390x/gen-features.c         | 14 ++++++++++++++
>>   3 files changed, 25 insertions(+)
>>
>> diff --git a/target/s390x/cpu_features_def.h.inc b/target/s390x/cpu_features_def.h.inc
>> index 7db3449e0434..c71caee74411 100644
>> --- a/target/s390x/cpu_features_def.h.inc
>> +++ b/target/s390x/cpu_features_def.h.inc
>> @@ -109,6 +109,11 @@ DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH, "vxpdeh", STFL, 152, "Vector-Packed-Decimal-
>>   DEF_FEAT(MSA_EXT_9, "msa9-base", STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)")
>>   DEF_FEAT(ETOKEN, "etoken", STFL, 156, "Etoken facility")
>>   DEF_FEAT(UNPACK, "unpack", STFL, 161, "Unpack facility")
>> +DEF_FEAT(NNPA, "nnpa", STFL, 165, "NNPA facility")
>> +DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH2, "vxpdeh2", STFL, 192, "Vector-Packed-Decimal-Enhancement facility 2")
>> +DEF_FEAT(BEAR, "bear", STFL, 193, "BEAR-enhancement facility")
> 
> Usually we use "eh" for enhancement. Which would result in "beareh" or alternatively "beh". But maybe the "enhancement" part is not actually an enhancement, but instead this facility is more like the etoken or unpack facility ...

There was no bear facility (I think it was part of PER3).
beareh or beh would be fine with me.

> 
>> +DEF_FEAT(RDP, "rdp", STFL, 194, "Reset-DAT-protection facility")
>> +DEF_FEAT(ACTIVITY, "activity", STFL, 196, "Processor-Activity-Instrumentation facility")
> 
> Would "pai" be a more appropriate feature name?

pai would be ok for me as well.

Conny, do you want to replace "activity" with "pai" and "bear" with "beareh" in your tree?
Cornelia Huck June 30, 2021, 3:32 p.m. UTC | #3
On Wed, Jun 30 2021, Christian Borntraeger <borntraeger@de.ibm.com> wrote:

> On 30.06.21 15:32, David Hildenbrand wrote:
>> On 22.06.21 22:19, Christian Borntraeger wrote:
>>> This defines 5 new facilities and the new 3931 and 3932 machines.
>>> As before the name is not yet known and we do use gen16a and gen16b.
>>> The new features are part of the full model.
>>>
>>> The default model is still empty (same as z15) and will be added
>>> in a separate patch at a later point in time.
>>>
>>> Also add the dependencies of new facilities and as a fix for z15 add
>>> a dependency from S390_FEAT_VECTOR_PACKED_DECIMAL_ENH to
>>> S390_VECTOR_PACKED_DECIMAL.
>>>
>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>> ---
>>>   target/s390x/cpu_features_def.h.inc |  5 +++++
>>>   target/s390x/cpu_models.c           |  6 ++++++
>>>   target/s390x/gen-features.c         | 14 ++++++++++++++
>>>   3 files changed, 25 insertions(+)
>>>
>>> diff --git a/target/s390x/cpu_features_def.h.inc b/target/s390x/cpu_features_def.h.inc
>>> index 7db3449e0434..c71caee74411 100644
>>> --- a/target/s390x/cpu_features_def.h.inc
>>> +++ b/target/s390x/cpu_features_def.h.inc
>>> @@ -109,6 +109,11 @@ DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH, "vxpdeh", STFL, 152, "Vector-Packed-Decimal-
>>>   DEF_FEAT(MSA_EXT_9, "msa9-base", STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)")
>>>   DEF_FEAT(ETOKEN, "etoken", STFL, 156, "Etoken facility")
>>>   DEF_FEAT(UNPACK, "unpack", STFL, 161, "Unpack facility")
>>> +DEF_FEAT(NNPA, "nnpa", STFL, 165, "NNPA facility")
>>> +DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH2, "vxpdeh2", STFL, 192, "Vector-Packed-Decimal-Enhancement facility 2")
>>> +DEF_FEAT(BEAR, "bear", STFL, 193, "BEAR-enhancement facility")
>> 
>> Usually we use "eh" for enhancement. Which would result in "beareh" or alternatively "beh". But maybe the "enhancement" part is not actually an enhancement, but instead this facility is more like the etoken or unpack facility ...
>
> There was no bear facility (I think it was part of PER3).
> beareh or beh would be fine with me.
>
>> 
>>> +DEF_FEAT(RDP, "rdp", STFL, 194, "Reset-DAT-protection facility")
>>> +DEF_FEAT(ACTIVITY, "activity", STFL, 196, "Processor-Activity-Instrumentation facility")
>> 
>> Would "pai" be a more appropriate feature name?
>
> pai would be ok for me as well.
>
> Conny, do you want to replace "activity" with "pai" and "bear" with "beareh" in your tree?

I can certainly edit this to a naming everyone agrees with (no strong
opinions from my side).

[Although I rather like large animals in cpu facilities 8)]
Christian Borntraeger June 30, 2021, 3:56 p.m. UTC | #4
On 30.06.21 17:32, Cornelia Huck wrote:
> On Wed, Jun 30 2021, Christian Borntraeger <borntraeger@de.ibm.com> wrote:
> 
>> On 30.06.21 15:32, David Hildenbrand wrote:
>>> On 22.06.21 22:19, Christian Borntraeger wrote:
>>>> This defines 5 new facilities and the new 3931 and 3932 machines.
>>>> As before the name is not yet known and we do use gen16a and gen16b.
>>>> The new features are part of the full model.
>>>>
>>>> The default model is still empty (same as z15) and will be added
>>>> in a separate patch at a later point in time.
>>>>
>>>> Also add the dependencies of new facilities and as a fix for z15 add
>>>> a dependency from S390_FEAT_VECTOR_PACKED_DECIMAL_ENH to
>>>> S390_VECTOR_PACKED_DECIMAL.
>>>>
>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>> ---
>>>>    target/s390x/cpu_features_def.h.inc |  5 +++++
>>>>    target/s390x/cpu_models.c           |  6 ++++++
>>>>    target/s390x/gen-features.c         | 14 ++++++++++++++
>>>>    3 files changed, 25 insertions(+)
>>>>
>>>> diff --git a/target/s390x/cpu_features_def.h.inc b/target/s390x/cpu_features_def.h.inc
>>>> index 7db3449e0434..c71caee74411 100644
>>>> --- a/target/s390x/cpu_features_def.h.inc
>>>> +++ b/target/s390x/cpu_features_def.h.inc
>>>> @@ -109,6 +109,11 @@ DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH, "vxpdeh", STFL, 152, "Vector-Packed-Decimal-
>>>>    DEF_FEAT(MSA_EXT_9, "msa9-base", STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)")
>>>>    DEF_FEAT(ETOKEN, "etoken", STFL, 156, "Etoken facility")
>>>>    DEF_FEAT(UNPACK, "unpack", STFL, 161, "Unpack facility")
>>>> +DEF_FEAT(NNPA, "nnpa", STFL, 165, "NNPA facility")
>>>> +DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH2, "vxpdeh2", STFL, 192, "Vector-Packed-Decimal-Enhancement facility 2")
>>>> +DEF_FEAT(BEAR, "bear", STFL, 193, "BEAR-enhancement facility")
>>>
>>> Usually we use "eh" for enhancement. Which would result in "beareh" or alternatively "beh". But maybe the "enhancement" part is not actually an enhancement, but instead this facility is more like the etoken or unpack facility ...
>>
>> There was no bear facility (I think it was part of PER3).
>> beareh or beh would be fine with me.
>>
>>>
>>>> +DEF_FEAT(RDP, "rdp", STFL, 194, "Reset-DAT-protection facility")
>>>> +DEF_FEAT(ACTIVITY, "activity", STFL, 196, "Processor-Activity-Instrumentation facility")
>>>
>>> Would "pai" be a more appropriate feature name?
>>
>> pai would be ok for me as well.
>>
>> Conny, do you want to replace "activity" with "pai" and "bear" with "beareh" in your tree?
> 
> I can certainly edit this to a naming everyone agrees with (no strong
> opinions from my side).

Lets pick "pai" and the choose among "beareh" and "beh"
David Hildenbrand July 1, 2021, 7:45 a.m. UTC | #5
On 30.06.21 17:56, Christian Borntraeger wrote:
> 
> 
> On 30.06.21 17:32, Cornelia Huck wrote:
>> On Wed, Jun 30 2021, Christian Borntraeger <borntraeger@de.ibm.com> wrote:
>>
>>> On 30.06.21 15:32, David Hildenbrand wrote:
>>>> On 22.06.21 22:19, Christian Borntraeger wrote:
>>>>> This defines 5 new facilities and the new 3931 and 3932 machines.
>>>>> As before the name is not yet known and we do use gen16a and gen16b.
>>>>> The new features are part of the full model.
>>>>>
>>>>> The default model is still empty (same as z15) and will be added
>>>>> in a separate patch at a later point in time.
>>>>>
>>>>> Also add the dependencies of new facilities and as a fix for z15 add
>>>>> a dependency from S390_FEAT_VECTOR_PACKED_DECIMAL_ENH to
>>>>> S390_VECTOR_PACKED_DECIMAL.
>>>>>
>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>> ---
>>>>>     target/s390x/cpu_features_def.h.inc |  5 +++++
>>>>>     target/s390x/cpu_models.c           |  6 ++++++
>>>>>     target/s390x/gen-features.c         | 14 ++++++++++++++
>>>>>     3 files changed, 25 insertions(+)
>>>>>
>>>>> diff --git a/target/s390x/cpu_features_def.h.inc b/target/s390x/cpu_features_def.h.inc
>>>>> index 7db3449e0434..c71caee74411 100644
>>>>> --- a/target/s390x/cpu_features_def.h.inc
>>>>> +++ b/target/s390x/cpu_features_def.h.inc
>>>>> @@ -109,6 +109,11 @@ DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH, "vxpdeh", STFL, 152, "Vector-Packed-Decimal-
>>>>>     DEF_FEAT(MSA_EXT_9, "msa9-base", STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)")
>>>>>     DEF_FEAT(ETOKEN, "etoken", STFL, 156, "Etoken facility")
>>>>>     DEF_FEAT(UNPACK, "unpack", STFL, 161, "Unpack facility")
>>>>> +DEF_FEAT(NNPA, "nnpa", STFL, 165, "NNPA facility")
>>>>> +DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH2, "vxpdeh2", STFL, 192, "Vector-Packed-Decimal-Enhancement facility 2")
>>>>> +DEF_FEAT(BEAR, "bear", STFL, 193, "BEAR-enhancement facility")
>>>>
>>>> Usually we use "eh" for enhancement. Which would result in "beareh" or alternatively "beh". But maybe the "enhancement" part is not actually an enhancement, but instead this facility is more like the etoken or unpack facility ...
>>>
>>> There was no bear facility (I think it was part of PER3).
>>> beareh or beh would be fine with me.
>>>
>>>>
>>>>> +DEF_FEAT(RDP, "rdp", STFL, 194, "Reset-DAT-protection facility")
>>>>> +DEF_FEAT(ACTIVITY, "activity", STFL, 196, "Processor-Activity-Instrumentation facility")
>>>>
>>>> Would "pai" be a more appropriate feature name?
>>>
>>> pai would be ok for me as well.
>>>
>>> Conny, do you want to replace "activity" with "pai" and "bear" with "beareh" in your tree?
>>
>> I can certainly edit this to a naming everyone agrees with (no strong
>> opinions from my side).
> 
> Lets pick "pai" and the choose among "beareh" and "beh"
> 

I'd just go for "beareh" in case we ever have another b...enhancement 
feature. But no strong opinion.
Thomas Huth July 1, 2021, 8:42 a.m. UTC | #6
On 01/07/2021 09.45, David Hildenbrand wrote:
> On 30.06.21 17:56, Christian Borntraeger wrote:
>>
>>
>> On 30.06.21 17:32, Cornelia Huck wrote:
>>> On Wed, Jun 30 2021, Christian Borntraeger <borntraeger@de.ibm.com> wrote:
>>>
>>>> On 30.06.21 15:32, David Hildenbrand wrote:
>>>>> On 22.06.21 22:19, Christian Borntraeger wrote:
>>>>>> This defines 5 new facilities and the new 3931 and 3932 machines.
>>>>>> As before the name is not yet known and we do use gen16a and gen16b.
>>>>>> The new features are part of the full model.
>>>>>>
>>>>>> The default model is still empty (same as z15) and will be added
>>>>>> in a separate patch at a later point in time.
>>>>>>
>>>>>> Also add the dependencies of new facilities and as a fix for z15 add
>>>>>> a dependency from S390_FEAT_VECTOR_PACKED_DECIMAL_ENH to
>>>>>> S390_VECTOR_PACKED_DECIMAL.
>>>>>>
>>>>>> Signed-off-by: Christian Borntraeger <borntraeger@de.ibm.com>
>>>>>> ---
>>>>>>     target/s390x/cpu_features_def.h.inc |  5 +++++
>>>>>>     target/s390x/cpu_models.c           |  6 ++++++
>>>>>>     target/s390x/gen-features.c         | 14 ++++++++++++++
>>>>>>     3 files changed, 25 insertions(+)
>>>>>>
>>>>>> diff --git a/target/s390x/cpu_features_def.h.inc 
>>>>>> b/target/s390x/cpu_features_def.h.inc
>>>>>> index 7db3449e0434..c71caee74411 100644
>>>>>> --- a/target/s390x/cpu_features_def.h.inc
>>>>>> +++ b/target/s390x/cpu_features_def.h.inc
>>>>>> @@ -109,6 +109,11 @@ DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH, "vxpdeh", 
>>>>>> STFL, 152, "Vector-Packed-Decimal-
>>>>>>     DEF_FEAT(MSA_EXT_9, "msa9-base", STFL, 155, 
>>>>>> "Message-security-assist-extension-9 facility (excluding subfunctions)")
>>>>>>     DEF_FEAT(ETOKEN, "etoken", STFL, 156, "Etoken facility")
>>>>>>     DEF_FEAT(UNPACK, "unpack", STFL, 161, "Unpack facility")
>>>>>> +DEF_FEAT(NNPA, "nnpa", STFL, 165, "NNPA facility")
>>>>>> +DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH2, "vxpdeh2", STFL, 192, 
>>>>>> "Vector-Packed-Decimal-Enhancement facility 2")
>>>>>> +DEF_FEAT(BEAR, "bear", STFL, 193, "BEAR-enhancement facility")
>>>>>
>>>>> Usually we use "eh" for enhancement. Which would result in "beareh" or 
>>>>> alternatively "beh". But maybe the "enhancement" part is not actually 
>>>>> an enhancement, but instead this facility is more like the etoken or 
>>>>> unpack facility ...
>>>>
>>>> There was no bear facility (I think it was part of PER3).
>>>> beareh or beh would be fine with me.
>>>>
>>>>>
>>>>>> +DEF_FEAT(RDP, "rdp", STFL, 194, "Reset-DAT-protection facility")
>>>>>> +DEF_FEAT(ACTIVITY, "activity", STFL, 196, 
>>>>>> "Processor-Activity-Instrumentation facility")
>>>>>
>>>>> Would "pai" be a more appropriate feature name?
>>>>
>>>> pai would be ok for me as well.
>>>>
>>>> Conny, do you want to replace "activity" with "pai" and "bear" with 
>>>> "beareh" in your tree?
>>>
>>> I can certainly edit this to a naming everyone agrees with (no strong
>>> opinions from my side).
>>
>> Lets pick "pai" and the choose among "beareh" and "beh"
>>
> 
> I'd just go for "beareh" in case we ever have another b...enhancement 
> feature. But no strong opinion.

+1 for beareh
... the chance for confusion with other TLAs is to big otherwise.

  Thomas
diff mbox series

Patch

diff --git a/target/s390x/cpu_features_def.h.inc b/target/s390x/cpu_features_def.h.inc
index 7db3449e0434..c71caee74411 100644
--- a/target/s390x/cpu_features_def.h.inc
+++ b/target/s390x/cpu_features_def.h.inc
@@ -109,6 +109,11 @@  DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH, "vxpdeh", STFL, 152, "Vector-Packed-Decimal-
 DEF_FEAT(MSA_EXT_9, "msa9-base", STFL, 155, "Message-security-assist-extension-9 facility (excluding subfunctions)")
 DEF_FEAT(ETOKEN, "etoken", STFL, 156, "Etoken facility")
 DEF_FEAT(UNPACK, "unpack", STFL, 161, "Unpack facility")
+DEF_FEAT(NNPA, "nnpa", STFL, 165, "NNPA facility")
+DEF_FEAT(VECTOR_PACKED_DECIMAL_ENH2, "vxpdeh2", STFL, 192, "Vector-Packed-Decimal-Enhancement facility 2")
+DEF_FEAT(BEAR, "bear", STFL, 193, "BEAR-enhancement facility")
+DEF_FEAT(RDP, "rdp", STFL, 194, "Reset-DAT-protection facility")
+DEF_FEAT(ACTIVITY, "activity", STFL, 196, "Processor-Activity-Instrumentation facility")
 
 /* Features exposed via SCLP SCCB Byte 80 - 98  (bit numbers relative to byte-80) */
 DEF_FEAT(SIE_GSLS, "gsls", SCLP_CONF_CHAR, 40, "SIE: Guest-storage-limit-suppression facility")
diff --git a/target/s390x/cpu_models.c b/target/s390x/cpu_models.c
index 94090a6e223d..9699823b2074 100644
--- a/target/s390x/cpu_models.c
+++ b/target/s390x/cpu_models.c
@@ -88,6 +88,8 @@  static S390CPUDef s390_cpu_defs[] = {
     CPUDEF_INIT(0x3907, 14, 1, 47, 0x08000000U, "z14ZR1", "IBM z14 Model ZR1 GA1"),
     CPUDEF_INIT(0x8561, 15, 1, 47, 0x08000000U, "gen15a", "IBM z15 T01 GA1"),
     CPUDEF_INIT(0x8562, 15, 1, 47, 0x08000000U, "gen15b", "IBM z15 T02 GA1"),
+    CPUDEF_INIT(0x3931, 16, 1, 47, 0x08000000U, "gen16a", "IBM 3931 GA1"),
+    CPUDEF_INIT(0x3932, 16, 1, 47, 0x08000000U, "gen16b", "IBM 3932 GA1"),
 };
 
 #define QEMU_MAX_CPU_TYPE 0x3906
@@ -812,6 +814,8 @@  static void check_consistency(const S390CPUModel *model)
         { 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_PACKED_DECIMAL_ENH, S390_FEAT_VECTOR_PACKED_DECIMAL },
+        { S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2, S390_FEAT_VECTOR_PACKED_DECIMAL_ENH },
         { S390_FEAT_VECTOR_ENH, S390_FEAT_VECTOR },
         { S390_FEAT_INSTRUCTION_EXEC_PROT, S390_FEAT_SIDE_EFFECT_ACCESS_ESOP2 },
         { S390_FEAT_SIDE_EFFECT_ACCESS_ESOP2, S390_FEAT_ESOP },
@@ -843,6 +847,8 @@  static void check_consistency(const S390CPUModel *model)
         { S390_FEAT_PTFF_STOUE, S390_FEAT_MULTIPLE_EPOCH },
         { S390_FEAT_AP_QUEUE_INTERRUPT_CONTROL, S390_FEAT_AP },
         { S390_FEAT_DIAG_318, S390_FEAT_EXTENDED_LENGTH_SCCB },
+        { S390_FEAT_NNPA, S390_FEAT_VECTOR },
+        { S390_FEAT_RDP, S390_FEAT_LOCAL_TLB_CLEARING },
     };
     int i;
 
diff --git a/target/s390x/gen-features.c b/target/s390x/gen-features.c
index 242c95ede48a..a7396d3d5f30 100644
--- a/target/s390x/gen-features.c
+++ b/target/s390x/gen-features.c
@@ -424,6 +424,8 @@  static uint16_t base_GEN15_GA1[] = {
     S390_FEAT_MISC_INSTRUCTION_EXT3,
 };
 
+#define base_GEN16_GA1 EmptyFeat
+
 /* 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
@@ -567,6 +569,15 @@  static uint16_t full_GEN15_GA1[] = {
     S390_FEAT_UNPACK,
 };
 
+static uint16_t full_GEN16_GA1[] = {
+    S390_FEAT_NNPA,
+    S390_FEAT_VECTOR_PACKED_DECIMAL_ENH2,
+    S390_FEAT_BEAR,
+    S390_FEAT_RDP,
+    S390_FEAT_ACTIVITY,
+};
+
+
 /* Default features (in order of release)
  * Automatically includes corresponding base features.
  * Default features are all features this version of QEMU supports for this
@@ -652,6 +663,8 @@  static uint16_t default_GEN15_GA1[] = {
     S390_FEAT_ETOKEN,
 };
 
+#define default_GEN16_GA1 EmptyFeat
+
 /* QEMU (CPU model) features */
 
 static uint16_t qemu_V2_11[] = {
@@ -785,6 +798,7 @@  static CpuFeatDefSpec CpuFeatDef[] = {
     CPU_FEAT_INITIALIZER(GEN14_GA1),
     CPU_FEAT_INITIALIZER(GEN14_GA2),
     CPU_FEAT_INITIALIZER(GEN15_GA1),
+    CPU_FEAT_INITIALIZER(GEN16_GA1),
 };
 
 #define FEAT_GROUP_INITIALIZER(_name)                  \