diff options
Diffstat (limited to 'meta/conf/machine/include/arm')
9 files changed, 167 insertions, 0 deletions
diff --git a/meta/conf/machine/include/arm/arch-armv7em.inc b/meta/conf/machine/include/arm/arch-armv7em.inc new file mode 100644 index 0000000000..adcab272ed --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv7em.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | # | ||
2 | # Defaults for ARMv7e-m | ||
3 | # | ||
4 | DEFAULTTUNE ?= "armv7em" | ||
5 | |||
6 | TUNEVALID[armv7em] = "Enable instructions for ARMv7e-m" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', ' -march=armv7e-m', '', d)}" | ||
8 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7em', 'armv7em:', '', d)}" | ||
9 | |||
10 | TUNECONFLICTS[armv7em] = "armv4 armv5 armv6 armv7a" | ||
11 | |||
12 | require conf/machine/include/arm/arch-armv7m.inc | ||
13 | |||
14 | AVAILTUNES += "armv7em" | ||
15 | ARMPKGARCH:tune-armv7em = "armv7em" | ||
16 | TUNE_FEATURES:tune-armv7em = "armv7em" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-armv7em = "armv7em" | ||
diff --git a/meta/conf/machine/include/arm/arch-armv7m.inc b/meta/conf/machine/include/arm/arch-armv7m.inc new file mode 100644 index 0000000000..a36c265bc1 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv7m.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | # | ||
2 | # Defaults for ARMv7-m | ||
3 | # | ||
4 | DEFAULTTUNE ?= "armv7m" | ||
5 | |||
6 | TUNEVALID[armv7m] = "Enable instructions for ARMv7-m" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', ' -march=armv7-m', '', d)}" | ||
8 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv7m', 'armv7m:', '', d)}" | ||
9 | |||
10 | TUNECONFLICTS[armv7m] = "armv4 armv5 armv6 armv7a" | ||
11 | |||
12 | require conf/machine/include/arm/arch-armv6m.inc | ||
13 | |||
14 | AVAILTUNES += "armv7m" | ||
15 | ARMPKGARCH:tune-armv7m = "armv7m" | ||
16 | TUNE_FEATURES:tune-armv7m = "armv7m" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-armv7m = "armv7m" | ||
diff --git a/meta/conf/machine/include/arm/arch-armv8-1m-main.inc b/meta/conf/machine/include/arm/arch-armv8-1m-main.inc new file mode 100644 index 0000000000..9171b31c90 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8-1m-main.inc | |||
@@ -0,0 +1,18 @@ | |||
1 | # | ||
2 | # | ||
3 | # Defaults for ARMv8.1-M.main | ||
4 | # | ||
5 | DEFAULTTUNE ?= "armv8-1m-main" | ||
6 | |||
7 | TUNEVALID[armv8-1m-main] = "Enable instructions for ARMv8.1-m.main" | ||
8 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', ' -march=armv8.1-m.main', '', d)}" | ||
9 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8-1m-main', 'armv8-1m-main:', '', d)}" | ||
10 | |||
11 | TUNECONFLICTS[armv8-1m-main] = "armv4 armv5 armv6 armv7a" | ||
12 | |||
13 | require conf/machine/include/arm/arch-armv8m-main.inc | ||
14 | |||
15 | AVAILTUNES += "armv8-1m-main" | ||
16 | ARMPKGARCH:tune-armv8-1m-main = "armv8-1m-main" | ||
17 | TUNE_FEATURES:tune-armv8-1m-main = "armv8-1m-main" | ||
18 | PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main = "armv8-1m-main" | ||
diff --git a/meta/conf/machine/include/arm/arch-armv8m-base.inc b/meta/conf/machine/include/arm/arch-armv8m-base.inc new file mode 100644 index 0000000000..d9a341c66e --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8m-base.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | # | ||
2 | # Defaults for ARMv8-m.base | ||
3 | # | ||
4 | DEFAULTTUNE ?= "armv8m-base" | ||
5 | |||
6 | TUNEVALID[armv8m-base] = "Enable instructions for ARMv8-m.base" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', ' -march=armv8-m.base', '', d)}" | ||
8 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-base', 'armv8m-base:', '', d)}" | ||
9 | |||
10 | TUNECONFLICTS[armv8m-base] = "armv4 armv5 armv6 armv7a" | ||
11 | |||
12 | require conf/machine/include/arm/arch-armv7m.inc | ||
13 | |||
14 | AVAILTUNES += "armv8m-base" | ||
15 | ARMPKGARCH:tune-armv8m-base = "armv8m-base" | ||
16 | TUNE_FEATURES:tune-armv8m-base = "armv8m-base" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-armv8m-base = "armv8m-base" | ||
diff --git a/meta/conf/machine/include/arm/arch-armv8m-main.inc b/meta/conf/machine/include/arm/arch-armv8m-main.inc new file mode 100644 index 0000000000..27f552b2d7 --- /dev/null +++ b/meta/conf/machine/include/arm/arch-armv8m-main.inc | |||
@@ -0,0 +1,36 @@ | |||
1 | # | ||
2 | # Defaults for ARMv8-m.main | ||
3 | # | ||
4 | DEFAULTTUNE ?= "armv8m-main" | ||
5 | |||
6 | require conf/machine/include/arm/arch-armv8m-base.inc | ||
7 | |||
8 | TUNEVALID[armv8m-main] = "Enable instructions for ARMv8-m.main" | ||
9 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', ' -march=armv8-m.main${MARCH_DSP}${MARCH_FPU}', '', d)}" | ||
10 | MACHINEOVERRIDES =. "${@bb.utils.contains('TUNE_FEATURES', 'armv8m-main', 'armv8m-main:', '', d)}" | ||
11 | |||
12 | TUNECONFLICTS[armv8m-main] = "armv4 armv5 armv6 armv7a" | ||
13 | |||
14 | # FIXME - below taken from meta/conf/machine/include/arm/arch-armv5-dsp.inc and should be put into something more generic | ||
15 | TUNEVALID[dsp] = "ARM DSP functionality" | ||
16 | ARMPKGSFX_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], 'e', '', d)}" | ||
17 | MARCH_DSP = "${@bb.utils.contains('TUNE_FEATURES', [ 'dsp' ], '+dsp', '+nodsp', d)}" | ||
18 | |||
19 | # FIXME - Below belongs in meta/conf/machine/include/arm/feature-arm-neon.inc | ||
20 | TUNEVALID[vfpv5spd16] = "Enable Vector Floating Point Version 5, Single Precision. with 16 registers (fpv5-sp-d16) unit." | ||
21 | TUNE_CCARGS_MFPU .= "${@bb.utils.contains('TUNE_FEATURES', 'vfpv5spd16', 'fpv5-sp-d16', '', d)}" | ||
22 | MARCH_FPU = "${@bb.utils.contains('TUNE_FEATURES', [ 'vfpv5spd16' ], '+fp', '+nofp', d)}" | ||
23 | |||
24 | AVAILTUNES += "armv8m-main armv8m-mainearmv8m-main-vfpv5spd16 armv8m-maine-vfpv5spd16" | ||
25 | ARMPKGARCH:tune-armv8m-main = "armv8m-main" | ||
26 | ARMPKGARCH:tune-armv8m-maine = "armv8m-main" | ||
27 | ARMPKGARCH:tune-armv8m-main-vfpv5spd16 = "armv8m-main" | ||
28 | ARMPKGARCH:tune-armv8m-maine-vfpv5spd16 = "armv8m-main" | ||
29 | TUNE_FEATURES:tune-armv8m-main = "armv8m-main" | ||
30 | TUNE_FEATURES:tune-armv8m-maine = "${TUNE_FEATURES:tune-armv8m-main} dsp" | ||
31 | TUNE_FEATURES:tune-armv8m-main-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main} vfpv5spd16" | ||
32 | TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16 = "${TUNE_FEATURES:tune-armv8m-main-vfpv5spd16} dsp" | ||
33 | PACKAGE_EXTRA_ARCHS:tune-armv8m-main = "armv8m-main" | ||
34 | PACKAGE_EXTRA_ARCHS:tune-armv8m-maine = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine" | ||
35 | PACKAGE_EXTRA_ARCHS:tune-armv8m-main-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-main-fpv5-spd16" | ||
36 | PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-main} armv8m-maine-fpv5-spd16" | ||
diff --git a/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc b/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc new file mode 100644 index 0000000000..493ad67b21 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-1m/tune-cortexm55.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-M55 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexm55" | ||
5 | |||
6 | TUNEVALID[cortexm55] = "Enable Cortex-M55 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm55', ' -mcpu=cortex-m55', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8-1m-main.inc | ||
10 | |||
11 | AVAILTUNES += "cortexm55" | ||
12 | ARMPKGARCH:tune-cortexm55 = "cortexm55" | ||
13 | TUNE_FEATURES:tune-cortexm55 = "${TUNE_FEATURES:tune-armv8-1m-main} cortexm55" | ||
14 | PACKAGE_EXTRA_ARCHS:tune-cortexm55 = "${PACKAGE_EXTRA_ARCHS:tune-armv8-1m-main} cortexm55" | ||
diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc new file mode 100644 index 0000000000..25780bc080 --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm23.inc | |||
@@ -0,0 +1,14 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-M23 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexm23" | ||
5 | |||
6 | TUNEVALID[cortexm23] = "Enable Cortex-M23 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm23', ' -mcpu=cortex-m23', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8m-base.inc | ||
10 | |||
11 | AVAILTUNES += "cortexm23" | ||
12 | ARMPKGARCH:tune-cortexm23 = "cortexm23" | ||
13 | TUNE_FEATURES:tune-cortexm23 = "${TUNE_FEATURES:tune-armv8m-base} cortexm23" | ||
14 | PACKAGE_EXTRA_ARCHS:tune-cortexm23 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-base} cortexm23" | ||
diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc new file mode 100644 index 0000000000..04d1fe2bde --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm33.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-M33 | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexm33" | ||
5 | |||
6 | TUNEVALID[cortexm33] = "Enable Cortex-M33 specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm33', ' -mcpu=cortex-m33', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8m-main.inc | ||
10 | |||
11 | # GCC thnks that DSP and VFP are required, but Arm docs say it is | ||
12 | # optional. So forcing below so that compiling works, but this should | ||
13 | # be fixed in GCC | ||
14 | AVAILTUNES += "cortexm33" | ||
15 | ARMPKGARCH:tune-cortexm33 = "cortexm33" | ||
16 | TUNE_FEATURES:tune-cortexm33 = "${TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16} cortexm33" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-cortexm33 = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm33e-fpv5-spd16" | ||
diff --git a/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc b/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc new file mode 100644 index 0000000000..60e978facd --- /dev/null +++ b/meta/conf/machine/include/arm/armv8-m/tune-cortexm35p.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | # | ||
2 | # Tune Settings for Cortex-M35P | ||
3 | # | ||
4 | DEFAULTTUNE ?= "cortexm35p" | ||
5 | |||
6 | TUNEVALID[cortexm35p] = "Enable Cortex-M35p specific processor optimizations" | ||
7 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'cortexm35p', ' -mcpu=cortex-m35p', '', d)}" | ||
8 | |||
9 | require conf/machine/include/arm/arch-armv8m-main.inc | ||
10 | |||
11 | # GCC thnks that DSP and VFP are required, but Arm docs say it is | ||
12 | # optional. So forcing below so that compiling works, but this should | ||
13 | # be fixed in GCC | ||
14 | AVAILTUNES += "cortexm35p" | ||
15 | ARMPKGARCH:tune-cortexm35p = "cortexm35p" | ||
16 | TUNE_FEATURES:tune-cortexm35p = "${TUNE_FEATURES:tune-armv8m-maine-vfpv5spd16} cortexm35p" | ||
17 | PACKAGE_EXTRA_ARCHS:tune-cortexm35p = "${PACKAGE_EXTRA_ARCHS:tune-armv8m-maine-vfpv5spd16} cortexm35pe-fpv5-spd16" | ||