diff options
author | Ross Burton <ross.burton@intel.com> | 2016-02-08 15:00:24 +0000 |
---|---|---|
committer | Richard Purdie <richard.purdie@linuxfoundation.org> | 2016-02-11 12:27:46 +0000 |
commit | 5b2b343453e805be013e721d079bc24de946f28b (patch) | |
tree | 35c5bc9cd076a222a32fb26ad6f3da732df7a711 /meta/conf/machine/include | |
parent | 5b70ee405a75ca117573c2c1a42960a4637e5080 (diff) | |
download | poky-5b2b343453e805be013e721d079bc24de946f28b.tar.gz |
tune-corei7.inc: tell qemu to emulate a matching processor
If tune-corei7 is in use then the target binaries may contain instructions that
qemu-x86-64 can't execute by default, resulting in errors on rootfs construction:
NOTE: Running intercept scripts:
NOTE: > Executing update_font_cache intercept ...
qemu: uncaught target signal 4 (Illegal instruction) - core dumped
In this case the instruction is popcnt, part of SSE4.2, so tell Qemu to emulate
the CPU that the tune targets (in this case, Nehalem). Also pass check=false as
the Nehalem machine supports VME but user-space qemu doesn't, which produces a
warning unless CPUID checking is disabled.
[ YOCTO #8888 ]
(From OE-Core rev: fef106b9b97ec48bad2b9a084357b884f653d6c8)
Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/conf/machine/include')
-rw-r--r-- | meta/conf/machine/include/tune-corei7.inc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/meta/conf/machine/include/tune-corei7.inc b/meta/conf/machine/include/tune-corei7.inc index d245d9fba3..153a21bc94 100644 --- a/meta/conf/machine/include/tune-corei7.inc +++ b/meta/conf/machine/include/tune-corei7.inc | |||
@@ -11,6 +11,7 @@ DEFAULTTUNE ?= "corei7-64" | |||
11 | # Pull in the previous tune in to pull in PACKAGE_EXTRA_ARCHS | 11 | # Pull in the previous tune in to pull in PACKAGE_EXTRA_ARCHS |
12 | require conf/machine/include/tune-core2.inc | 12 | require conf/machine/include/tune-core2.inc |
13 | 13 | ||
14 | |||
14 | # Extra tune features | 15 | # Extra tune features |
15 | TUNEVALID[corei7] = "Enable corei7 specific processor optimizations" | 16 | TUNEVALID[corei7] = "Enable corei7 specific processor optimizations" |
16 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'corei7', ' -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2', '', d)}" | 17 | TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'corei7', ' -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2', '', d)}" |
@@ -21,15 +22,18 @@ TUNE_FEATURES_tune-corei7-32 = "${TUNE_FEATURES_tune-x86} corei7" | |||
21 | BASE_LIB_tune-corei7-32 = "lib" | 22 | BASE_LIB_tune-corei7-32 = "lib" |
22 | TUNE_PKGARCH_tune-corei7-32 = "corei7-32" | 23 | TUNE_PKGARCH_tune-corei7-32 = "corei7-32" |
23 | PACKAGE_EXTRA_ARCHS_tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS_tune-core2} corei7-32" | 24 | PACKAGE_EXTRA_ARCHS_tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS_tune-core2} corei7-32" |
25 | QEMU_EXTRAOPTIONS_corei7-32 = " -cpu Nehalem,check=false" | ||
24 | 26 | ||
25 | AVAILTUNES += "corei7-64" | 27 | AVAILTUNES += "corei7-64" |
26 | TUNE_FEATURES_tune-corei7-64 = "${TUNE_FEATURES_tune-x86-64} corei7" | 28 | TUNE_FEATURES_tune-corei7-64 = "${TUNE_FEATURES_tune-x86-64} corei7" |
27 | BASE_LIB_tune-corei7-64 = "lib64" | 29 | BASE_LIB_tune-corei7-64 = "lib64" |
28 | TUNE_PKGARCH_tune-corei7-64 = "corei7-64" | 30 | TUNE_PKGARCH_tune-corei7-64 = "corei7-64" |
29 | PACKAGE_EXTRA_ARCHS_tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} corei7-64" | 31 | PACKAGE_EXTRA_ARCHS_tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} corei7-64" |
32 | QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false" | ||
30 | 33 | ||
31 | AVAILTUNES += "corei7-64-x32" | 34 | AVAILTUNES += "corei7-64-x32" |
32 | TUNE_FEATURES_tune-corei7-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} corei7" | 35 | TUNE_FEATURES_tune-corei7-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} corei7" |
33 | BASE_LIB_tune-corei7-64-x32 = "libx32" | 36 | BASE_LIB_tune-corei7-64-x32 = "libx32" |
34 | TUNE_PKGARCH_tune-corei7-64-x32 = "corei7-64-x32" | 37 | TUNE_PKGARCH_tune-corei7-64-x32 = "corei7-64-x32" |
35 | PACKAGE_EXTRA_ARCHS_tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64-x32} corei7-64-x32" | 38 | PACKAGE_EXTRA_ARCHS_tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64-x32} corei7-64-x32" |
39 | QEMU_EXTRAOPTIONS_corei7-64-x32 = " -cpu Nehalem,check=false" | ||