[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [qemu-s390x] [PATCH v1] linux-user: elf: ELF_HWCAP for s390x
From: |
Richard Henderson |
Subject: |
Re: [qemu-s390x] [PATCH v1] linux-user: elf: ELF_HWCAP for s390x |
Date: |
Tue, 4 Jun 2019 08:00:20 -0500 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.0 |
On 6/4/19 4:36 AM, David Hildenbrand wrote:
> + if (s390_has_feat(S390_FEAT_ESAN3)) {
> + hwcap |= HWCAP_S390_ESAN3;
> + }
> + if (s390_has_feat(S390_FEAT_ZARCH)) {
> + hwcap |= HWCAP_S390_ZARCH;
> + }
While it's nice and symetrical testing these two features, I don't think they
can ever be false.
> + if (s390_has_feat(S390_FEAT_STFLE)) {
> + hwcap |= HWCAP_S390_STFLE;
> + }
> + if (s390_has_feat(S390_FEAT_MSA)) {
> + hwcap |= HWCAP_S390_MSA;
> + }
> + if (s390_has_feat(S390_FEAT_LONG_DISPLACEMENT)) {
> + hwcap |= HWCAP_S390_LDISP;
> + }
> + if (s390_has_feat(S390_FEAT_EXTENDED_IMMEDIATE)) {
> + hwcap |= HWCAP_S390_EIMM;
> + }
> + if (s390_has_feat(S390_FEAT_EXTENDED_TRANSLATION_3) &&
> + s390_has_feat(S390_FEAT_ETF3_ENH)) {
> + hwcap |= HWCAP_S390_ETF3EH;
> + }
> + /* 31-bit processes can use 64-bit registers */
> + hwcap |= HWCAP_S390_HIGH_GPRS;
And certainly this could never be set unless ZARCH, otherwise you have no
64-bit registers. ;-)
So maybe clearer to just start with
hwcap = HWCAP_S390_ESAN3 | HWCAP_S390_ZARCH | HWCAP_S390_HIGH_GPRS;
and continue from there.
Otherwise,
Reviewed-by: Richard Henderson <address@hidden>
r~