[OE-core] [PATCH v3 1/5] arch-armv8a.inc: add tune include for armv8

ayaka ayaka at soulik.info
Fri Jun 15 16:00:19 UTC 2018



On 06/15/2018 05:57 PM, Nicolas Dechesne wrote:
> On Fri, Jun 15, 2018 at 5:22 AM, Randy Li <ayaka at soulik.info> wrote:
>> There are some addtional instructions apart from bare armv8,
>> also there is armv8.1, armv8.2.
>>
>> Most the processor would support crc, except X-gene 1.
>>
>> Signed-off-by: Randy Li <ayaka at soulik.info>
>> ---
>>   meta/conf/machine/include/arm/arch-armv8.inc  |  1 -
>>   meta/conf/machine/include/arm/arch-armv8a.inc | 28 +++++++++++++++++++++++++++
>>   2 files changed, 28 insertions(+), 1 deletion(-)
>>   delete mode 100644 meta/conf/machine/include/arm/arch-armv8.inc
> My previous comment still applies here. You can't just delete this
> file. It's used by many BSP. and it's even used in oe-core itself:
>
> layers/openembedded-core/meta/conf/machine/include/tune-thunderx.inc:require
> conf/machine/include/arm/arch-armv8.inc
> layers/openembedded-core/meta/conf/machine/qemuarm64.conf:require
> conf/machine/include/arm/arch-armv8.inc
I am very sorry about, should I modify those files the same time?
Since some cortex-m processors also support armv8 instructions, it would 
be used to run Linux in the
future.
Also there would be armv81a, armv82a for the optimization of the 
armv8.1, armv8.2.
That is why I want to rename it.

Apart from that ,would you pleased with the contents below?
>
>>   create mode 100644 meta/conf/machine/include/arm/arch-armv8a.inc
>>
>> diff --git a/meta/conf/machine/include/arm/arch-armv8.inc b/meta/conf/machine/include/arm/arch-armv8.inc
>> deleted file mode 100644
>> index 5e832fae6d..0000000000
>> --- a/meta/conf/machine/include/arm/arch-armv8.inc
>> +++ /dev/null
>> @@ -1 +0,0 @@
>> -require conf/machine/include/arm/arch-arm64.inc
>> diff --git a/meta/conf/machine/include/arm/arch-armv8a.inc b/meta/conf/machine/include/arm/arch-armv8a.inc
>> new file mode 100644
>> index 0000000000..323d0d7f0f
>> --- /dev/null
>> +++ b/meta/conf/machine/include/arm/arch-armv8a.inc
>> @@ -0,0 +1,28 @@
>> +DEFAULTTUNE ?= "armv8a-crc"
>> +
>> +TUNEVALID[armv8a] = "Enable instructions for ARMv8-a"
>> +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', ' -march=armv8-a', '', d)}"
>> +TUNEVALID[simd] = "Enable instructions for ARMv8-a Advanced SIMD and floating-point"
>> +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'simd', '+simd', '', d)}"
>> +TUNEVALID[crc] = "Enable instructions for ARMv8-a Cyclic Redundancy Check (CRC)"
>> +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crc', '+crc', '', d)}"
>> +TUNEVALID[crypto] = "Enable instructions for ARMv8-a cryptographic"
>> +TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'crypto', '+crypto', '', d)}"
>> +MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8a', 'armv8a:', '' ,d)}"
>> +
>> +require conf/machine/include/arm/arch-arm64.inc
>> +
>> +# Little Endian base configs
>> +AVAILTUNES += "armv8a armv8a-crc armv8a-crc-crypto armv8a-crypto"
>> +ARMPKGARCH_tune-armv8a                    ?= "armv8a"
>> +ARMPKGARCH_tune-armv8a-crc                ?= "armv8a"
>> +ARMPKGARCH_tune-armv8a-crypto             ?= "armv8a"
>> +ARMPKGARCH_tune-armv8a-crc-crypto         ?= "armv8a"
>> +TUNE_FEATURES_tune-armv8a                  = "aarch64 armv8a simd"
>> +TUNE_FEATURES_tune-armv8a-crc              = "${TUNE_FEATURES_tune-armv8a} crc"
>> +TUNE_FEATURES_tune-armv8a-crypto           = "${TUNE_FEATURES_tune-armv8a} crypto"
>> +TUNE_FEATURES_tune-armv8a-crc-crypto       = "${TUNE_FEATURES_tune-armv8a-crc} crypto"
>> +PACKAGE_EXTRA_ARCHS_tune-armv8a            = "aarch64 armv8a simd"
>> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc        = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} crc"
>> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crypto     = "${PACKAGE_EXTRA_ARCHS_tune-armv8a} crypto"
>> +PACKAGE_EXTRA_ARCHS_tune-armv8a-crc-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8a-crc} crypto"
>> --
>> 2.14.4
>>
>> --
>> _______________________________________________
>> Openembedded-core mailing list
>> Openembedded-core at lists.openembedded.org
>> http://lists.openembedded.org/mailman/listinfo/openembedded-core




More information about the Openembedded-core mailing list