diff options
author | Jon Mason <jdmason@kudzu.us> | 2020-10-08 10:34:51 -0400 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2020-10-09 12:01:24 +0100 |
commit | 16bbaba389db0cfc6acc1bd6827e6bc87a4e9f0f (patch) | |
tree | d796a0d30b3387db2f40bc6d3be66908dbf9a8cb | |
parent | 92b96222b9448c91849ea529fbdd5841780f9a3a (diff) | |
download | poky-16bbaba389db0cfc6acc1bd6827e6bc87a4e9f0f.tar.gz |
armv8/tunes: Add tunes for supported ARMv8.2a cores
Add tunes for all the ARMv8.2a cores currently supported in GCC. This
is: Cortex-A65, Cortex-A65AE, Cortex-A75, Cortex-A76, Cortex-A76AE,
Cortex-A77, Neoverse-E1, Neoverse-N1, Cortex-A75-Cortex-A55, and
Cortex-A76-Cortex-A55.
(From OE-Core rev: f15e83df1d4ed4172b43d5b353cf42640862a28e)
Signed-off-by: Jon Mason <jon.mason@arm.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
10 files changed, 169 insertions, 0 deletions
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc new file mode 100644 index 0000000000..ecf17fbbe7 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-A65 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexa65" | ||
5 | |||
6 | TUNEVALID[cortexa65] = "Enable Cortex-A65 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa65', ' -mcpu=cortex-a65', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "cortexa65" | ||
13 | ARMPKGARCH_tune-cortexa65 = "cortexa65" | ||
14 | TUNE_FEATURES_tune-cortexa65 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa55" | ||
15 | PACKAGE_EXTRA_ARCHS_tune-cortexa65 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa65" | ||
16 | BASE_LIB_tune-cortexa65 = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc new file mode 100644 index 0000000000..aea47d0778 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa65ae.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-A65AE | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexa65ae" | ||
5 | |||
6 | TUNEVALID[cortexa65ae] = "Enable Cortex-A65AE specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa65ae', ' -mcpu=cortex-a65ae', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "cortexa65ae" | ||
13 | ARMPKGARCH_tune-cortexa65ae = "cortexa65ae" | ||
14 | TUNE_FEATURES_tune-cortexa65ae = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa65ae" | ||
15 | PACKAGE_EXTRA_ARCHS_tune-cortexa65ae = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa65ae" | ||
16 | BASE_LIB_tune-cortexa65ae = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc new file mode 100644 index 0000000000..9c45fe9c96 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75-cortexa55.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | # | ||
2 | # Tune Settings for big.LITTLE Cortex-A75 - Cortex-A55 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexa75-cortexa55" | ||
5 | |||
6 | TUNEVALID[cortexa75-cortexa55] = "Enable big.LITTLE Cortex-A75.Cortex-A55 specific processor optimizations" | ||
7 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", "cortexa75-cortexa55:", "", d)}" | ||
8 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa75-cortexa55", " -mcpu=cortex-a75.cortex-a55", "", d)}" | ||
9 | |||
10 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
11 | |||
12 | AVAILTUNES += "cortexa75-cortexa55 cortexa75-cortexa55-crypto" | ||
13 | ARMPKGARCH_tune-cortexa75-cortexa55 = "cortexa75-cortexa55" | ||
14 | ARMPKGARCH_tune-cortexa75-cortexa55-crypto = "cortexa75-cortexa55-crypto" | ||
15 | TUNE_FEATURES_tune-cortexa75-cortexa55 = "${TUNE_FEATURES_tune-armv8-2a} cortexa75-cortexa55" | ||
16 | TUNE_FEATURES_tune-cortexa75-cortexa55-crypto = "${TUNE_FEATURES_tune-cortexa75-cortexa55} crypto" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-cortexa75-cortexa55 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} cortexa75-cortexa55" | ||
18 | PACKAGE_EXTRA_ARCHS_tune-cortexa75-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa75-cortexa55 cortexa75-cortexa55-crypto" | ||
19 | BASE_LIB_tune-cortexa75-cortexa55 = "lib64" | ||
20 | BASE_LIB_tune-cortexa75-cortexa55-crypto = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc new file mode 100644 index 0000000000..d019450da7 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa75.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-A75 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexa75" | ||
5 | |||
6 | TUNEVALID[cortexa75] = "Enable Cortex-A75 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa75', ' -mcpu=cortex-a75', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "cortexa75" | ||
13 | ARMPKGARCH_tune-cortexa75 = "cortexa75" | ||
14 | TUNE_FEATURES_tune-cortexa75 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa75" | ||
15 | PACKAGE_EXTRA_ARCHS_tune-cortexa75 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa75" | ||
16 | BASE_LIB_tune-cortexa75 = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc new file mode 100644 index 0000000000..cae8ffed74 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76-cortexa55.inc | |||
@@ -0,0 +1,20 @@ | |||
1 | # | ||
2 | # Tune Settings for big.LITTLE Cortex-A76 - Cortex-A55 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexa76-cortexa55" | ||
5 | |||
6 | TUNEVALID[cortexa76-cortexa55] = "Enable big.LITTLE Cortex-A76.Cortex-A55 specific processor optimizations" | ||
7 | MACHINEOVERRIDES =. "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", "cortexa76-cortexa55:", "", d)}" | ||
8 | TUNE_CCARGS .= "${@bb.utils.contains("TUNE_FEATURES", "cortexa76-cortexa55", " -mcpu=cortex-a76.cortex-a55", "", d)}" | ||
9 | |||
10 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
11 | |||
12 | AVAILTUNES += "cortexa76-cortexa55 cortexa76-cortexa55-crypto" | ||
13 | ARMPKGARCH_tune-cortexa76-cortexa55 = "cortexa76-cortexa55" | ||
14 | ARMPKGARCH_tune-cortexa76-cortexa55-crypto = "cortexa76-cortexa55-crypto" | ||
15 | TUNE_FEATURES_tune-cortexa76-cortexa55 = "${TUNE_FEATURES_tune-armv8-2a} cortexa76-cortexa55" | ||
16 | TUNE_FEATURES_tune-cortexa76-cortexa55-crypto = "${TUNE_FEATURES_tune-cortexa76-cortexa55} crypto" | ||
17 | PACKAGE_EXTRA_ARCHS_tune-cortexa76-cortexa55 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a} cortexa76-cortexa55" | ||
18 | PACKAGE_EXTRA_ARCHS_tune-cortexa76-cortexa55-crypto = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76-cortexa55 cortexa76-cortexa55-crypto" | ||
19 | BASE_LIB_tune-cortexa76-cortexa55 = "lib64" | ||
20 | BASE_LIB_tune-cortexa76-cortexa55-crypto = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc new file mode 100644 index 0000000000..ae3661a0c4 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-A76 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexa76" | ||
5 | |||
6 | TUNEVALID[cortexa76] = "Enable Cortex-A76 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa76', ' -mcpu=cortex-a76', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "cortexa76" | ||
13 | ARMPKGARCH_tune-cortexa76 = "cortexa76" | ||
14 | TUNE_FEATURES_tune-cortexa76 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa76" | ||
15 | PACKAGE_EXTRA_ARCHS_tune-cortexa76 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76" | ||
16 | BASE_LIB_tune-cortexa76 = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc new file mode 100644 index 0000000000..d368aa104d --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa76ae.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-A76AE | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexa76ae" | ||
5 | |||
6 | TUNEVALID[cortexa76ae] = "Enable Cortex-A76AE specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa76ae', ' -mcpu=cortex-a76ae', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "cortexa76ae" | ||
13 | ARMPKGARCH_tune-cortexa76ae = "cortexa76ae" | ||
14 | TUNE_FEATURES_tune-cortexa65ae = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa76ae" | ||
15 | PACKAGE_EXTRA_ARCHS_tune-cortexa76ae = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa76ae" | ||
16 | BASE_LIB_tune-cortexa76ae = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc new file mode 100644 index 0000000000..048fa319e2 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-cortexa77.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-A77 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexa77" | ||
5 | |||
6 | TUNEVALID[cortexa77] = "Enable Cortex-A77 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexa77', ' -mcpu=cortex-a77', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "cortexa77" | ||
13 | ARMPKGARCH_tune-cortexa77 = "cortexa77" | ||
14 | TUNE_FEATURES_tune-cortexa77 = "${TUNE_FEATURES_tune-armv8-2a-crypto} cortexa77" | ||
15 | PACKAGE_EXTRA_ARCHS_tune-cortexa77 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} cortexa77" | ||
16 | BASE_LIB_tune-cortexa77 = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc new file mode 100644 index 0000000000..b82c9acb6c --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversee1.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | # | ||
2 | # Tune Settings for Neoverse-E1 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "neoversee1" | ||
5 | |||
6 | TUNEVALID[neoversee1] = "Enable Neoverse-E1 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversee1', ' -mcpu=neoverse-e1', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
10 | |||
11 | # Little Endian base configs | ||
12 | AVAILTUNES += "neoversee1" | ||
13 | ARMPKGARCH_tune-neoversee1 = "neoversee1" | ||
14 | TUNE_FEATURES_tune-neoversee1 = "${TUNE_FEATURES_tune-armv8-2a-crypto} neoversee1" | ||
15 | PACKAGE_EXTRA_ARCHS_tune-neoversee1 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} neoversee1" | ||
16 | BASE_LIB_tune-neoversee1 = "lib64" | ||
diff --git a/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc new file mode 100644 index 0000000000..6c6e889c0f --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-2a/tune-neoversen1.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | # | ||
2 | # Tune Settings for Neoverse-N1 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "neoversen1" | ||
5 | |||
6 | TUNEVALID[neoversen1] = "Enable Neoverse-N1 specific processor optimizations" | ||
7 | # Note: Neoverse was called Ares, and GCC will accept "ares" in place of "neoverse-n1" | ||
8 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'neoversen1', ' -mcpu=neoverse-n1', '', d)}" | ||
9 | |||
10 | require conf/machine/include/arm/arch-armv8-2a.inc | ||
11 | |||
12 | # Little Endian base configs | ||
13 | AVAILTUNES += "neoversen1" | ||
14 | ARMPKGARCH_tune-neoversen1 = "neoversen1" | ||
15 | TUNE_FEATURES_tune-neoversen1 = "${TUNE_FEATURES_tune-armv8-2a-crypto} neoversen1" | ||
16 | PACKAGE_EXTRA_ARCHS_tune-neoversen1 = "${PACKAGE_EXTRA_ARCHS_tune-armv8-2a-crypto} neoversen1" | ||
17 | BASE_LIB_tune-neoversen1 = "lib64" | ||