On 18.04.19 13:31, Christian Borntraeger wrote:
> Add vector enhancements to the cpu model.
>
> Signed-off-by: Christian Borntraeger <[email protected]>
> ---
> 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 4d624b2256..ed3f6aa969 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"),
BTW, to make this less error prone I thought about converting this into
something like
FEAT_INIT(VECTOR_ENH2, "vxeh2", S390_FEAT_TYPE_STFL, 148, "Vector
Enhancements facility 2"),
and internally use
.[S390_FEAT_##FEAT] = { ...
Or similar. But don't have time for that right now.
>
> 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,
>
>
Reviewed-by: David Hildenbrand <[email protected]>
--
Thanks,
David / dhildenb