Comments
Patch
@@ -16,7 +16,7 @@ default. The format must be of the form:
<armversion>[t][e][hf][b][-vfp][-neon]
TUNE_PKGARCH is defined as:
-${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}
+${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${ARMPKGSFX_CPU}
ARMPKGARCH - This is the core package arch component specified by each
tuning. This is the primary identifier of a tuning. Usual values are:
@@ -38,3 +38,6 @@ the core arch-arm.inc file.
ARMPKGSFX_FPU - This is the FPU specific suffix. The suffix indicates
specific FPU optimizations. 'vfp' and 'neon' are both defined.
+
+ARMPKGSFX_CPU - This is the CPU specific suffix. The suffix indicates
+that specific CPU optimizations were used.
@@ -4,12 +4,14 @@ TUNEVALID[bigendian] = "Enable big-endian mode."
ARMPKGARCH ??= "arm"
ARMPKGSFX_ENDIAN = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "b", "", d)}"
ARMPKGSFX_FPU ??= ""
+ARMPKGSFX_CPU ??= ""
+ARMPKGSFX_CPU[vardepvalue] = "${ARMPKGSFX_CPU}"
ARMPKGSFX_DSP ??= ""
ARMPKGSFX_EABI ??= ""
ARMPKGSFX_THUMB ??= ""
TUNE_ARCH = "${@bb.utils.contains("TUNE_FEATURES", "bigendian", "armeb", "arm", d)}"
-TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}"
+TUNE_PKGARCH = "${ARMPKGARCH}${ARMPKGSFX_THUMB}${ARMPKGSFX_DSP}${ARMPKGSFX_EABI}${ARMPKGSFX_ENDIAN}${ARMPKGSFX_FPU}${ARMPKGSFX_CPU}"
ABIEXTENSION = "eabi"
@@ -1,4 +1,5 @@
DEFAULTTUNE ?= "arm926ejs"
+ARMPKGSFX_CPU = "${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", "-arm926ejs", "", d)}"
require conf/machine/include/arm/arch-armv5-dsp.inc
@@ -7,5 +8,4 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "arm926ejs", "-mtune=arm92
AVAILTUNES += "arm926ejs"
TUNE_FEATURES_tune-arm926ejs = "${TUNE_FEATURES_tune-armv5te} arm926ejs"
-PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}"
-
+PACKAGE_EXTRA_ARCHS_tune-arm926ejs = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv5te-arm926ejs"
@@ -1,4 +1,5 @@
DEFAULTTUNE ?= "xscale"
+ARMPKGSFX_CPU = "${@bb.utils.contains("TUNE_FEATURES", "xscale", "-xscale", "", d)}"
require conf/machine/include/arm/arch-armv5-dsp.inc
@@ -7,11 +8,11 @@ TUNE_CCARGS += "${@bb.utils.contains("TUNE_FEATURES", "xscale", "-mtune=xscale",
AVAILTUNES += "xscale"
TUNE_FEATURES_tune-xscale = "${TUNE_FEATURES_tune-armv5te} xscale"
-PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te}"
+PACKAGE_EXTRA_ARCHS_tune-xscale = "${PACKAGE_EXTRA_ARCHS_tune-armv5te} armv5te-xscale"
AVAILTUNES += "xscale-be"
TUNE_FEATURES_tune-xscale-be = "${TUNE_FEATURES_tune-armv5teb} xscale bigendian"
-PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb}"
+PACKAGE_EXTRA_ARCHS_tune-xscale-be = "${PACKAGE_EXTRA_ARCHS_tune-armv5teb} armv5teb-xscale"
# webkit-gtk has alignment issues with double instructions on armv5 so
# disable them here
* without this tune-xscale and tune-arm926ejs were both creating packages in armv5te feed, but each with different -mtune, with OEBasicHash enabled it was causing each package to rebuild with new -mtune after MACHINE switch, but that doesn't make sense with output stored in the same armv5te feed * this makes different feed for each -mtune/ARMPKGSFX_CPU Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> --- meta/conf/machine/include/arm/README | 5 ++++- meta/conf/machine/include/arm/arch-arm.inc | 4 +++- meta/conf/machine/include/tune-arm926ejs.inc | 4 ++-- meta/conf/machine/include/tune-xscale.inc | 5 +++-- 4 files changed, 12 insertions(+), 6 deletions(-)