* [PATCH] tune-corei7.inc: tell qemu to emulate a matching processor
@ 2016-02-08 22:45 Ross Burton
0 siblings, 0 replies; 4+ messages in thread
From: Ross Burton @ 2016-02-08 22:45 UTC (permalink / raw)
To: openembedded-core
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 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
meta/conf/machine/include/tune-corei7.inc | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/meta/conf/machine/include/tune-corei7.inc b/meta/conf/machine/include/tune-corei7.inc
index d245d9f..153a21b 100644
--- a/meta/conf/machine/include/tune-corei7.inc
+++ b/meta/conf/machine/include/tune-corei7.inc
@@ -11,6 +11,7 @@ DEFAULTTUNE ?= "corei7-64"
# Pull in the previous tune in to pull in PACKAGE_EXTRA_ARCHS
require conf/machine/include/tune-core2.inc
+
# Extra tune features
TUNEVALID[corei7] = "Enable corei7 specific processor optimizations"
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"
BASE_LIB_tune-corei7-32 = "lib"
TUNE_PKGARCH_tune-corei7-32 = "corei7-32"
PACKAGE_EXTRA_ARCHS_tune-corei7-32 = "${PACKAGE_EXTRA_ARCHS_tune-core2} corei7-32"
+QEMU_EXTRAOPTIONS_corei7-32 = " -cpu Nehalem,check=false"
AVAILTUNES += "corei7-64"
TUNE_FEATURES_tune-corei7-64 = "${TUNE_FEATURES_tune-x86-64} corei7"
BASE_LIB_tune-corei7-64 = "lib64"
TUNE_PKGARCH_tune-corei7-64 = "corei7-64"
PACKAGE_EXTRA_ARCHS_tune-corei7-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} corei7-64"
+QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false"
AVAILTUNES += "corei7-64-x32"
TUNE_FEATURES_tune-corei7-64-x32 = "${TUNE_FEATURES_tune-x86-64-x32} corei7"
BASE_LIB_tune-corei7-64-x32 = "libx32"
TUNE_PKGARCH_tune-corei7-64-x32 = "corei7-64-x32"
PACKAGE_EXTRA_ARCHS_tune-corei7-64-x32 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64-x32} corei7-64-x32"
+QEMU_EXTRAOPTIONS_corei7-64-x32 = " -cpu Nehalem,check=false"
--
2.7.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH] tune-corei7.inc: tell qemu to emulate a matching processor
2016-02-08 19:27 ` Andre McCurdy
@ 2016-02-08 22:43 ` Burton, Ross
0 siblings, 0 replies; 4+ messages in thread
From: Burton, Ross @ 2016-02-08 22:43 UTC (permalink / raw)
To: Andre McCurdy; +Cc: OE Core mailing list
[-- Attachment #1: Type: text/plain, Size: 209 bytes --]
On 8 February 2016 at 19:27, Andre McCurdy <armccurdy@gmail.com> wrote:
> What about corei7-32 and corei7-64-x32 ?
>
Yeah probably sensible to read the entire tune file isn't it. V2 incoming.
Ross
[-- Attachment #2: Type: text/html, Size: 607 bytes --]
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH] tune-corei7.inc: tell qemu to emulate a matching processor
2016-02-08 15:16 Ross Burton
@ 2016-02-08 19:27 ` Andre McCurdy
2016-02-08 22:43 ` Burton, Ross
0 siblings, 1 reply; 4+ messages in thread
From: Andre McCurdy @ 2016-02-08 19:27 UTC (permalink / raw)
To: Ross Burton; +Cc: OE Core mailing list
On Mon, Feb 8, 2016 at 7:16 AM, Ross Burton <ross.burton@intel.com> wrote:
> 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).
>
> [ YOCTO #8888 ]
>
> Signed-off-by: Ross Burton <ross.burton@intel.com>
> ---
> meta/conf/machine/include/tune-corei7.inc | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/meta/conf/machine/include/tune-corei7.inc b/meta/conf/machine/include/tune-corei7.inc
> index d245d9f..197558f 100644
> --- a/meta/conf/machine/include/tune-corei7.inc
> +++ b/meta/conf/machine/include/tune-corei7.inc
> @@ -11,6 +11,8 @@ DEFAULTTUNE ?= "corei7-64"
> # Pull in the previous tune in to pull in PACKAGE_EXTRA_ARCHS
> require conf/machine/include/tune-core2.inc
>
> +QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false"
What about corei7-32 and corei7-64-x32 ?
> # Extra tune features
> TUNEVALID[corei7] = "Enable corei7 specific processor optimizations"
> TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'corei7', ' -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2', '', d)}"
> --
> 2.7.0
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] tune-corei7.inc: tell qemu to emulate a matching processor
@ 2016-02-08 15:16 Ross Burton
2016-02-08 19:27 ` Andre McCurdy
0 siblings, 1 reply; 4+ messages in thread
From: Ross Burton @ 2016-02-08 15:16 UTC (permalink / raw)
To: openembedded-core
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).
[ YOCTO #8888 ]
Signed-off-by: Ross Burton <ross.burton@intel.com>
---
meta/conf/machine/include/tune-corei7.inc | 2 ++
1 file changed, 2 insertions(+)
diff --git a/meta/conf/machine/include/tune-corei7.inc b/meta/conf/machine/include/tune-corei7.inc
index d245d9f..197558f 100644
--- a/meta/conf/machine/include/tune-corei7.inc
+++ b/meta/conf/machine/include/tune-corei7.inc
@@ -11,6 +11,8 @@ DEFAULTTUNE ?= "corei7-64"
# Pull in the previous tune in to pull in PACKAGE_EXTRA_ARCHS
require conf/machine/include/tune-core2.inc
+QEMU_EXTRAOPTIONS_corei7-64 = " -cpu Nehalem,check=false"
+
# Extra tune features
TUNEVALID[corei7] = "Enable corei7 specific processor optimizations"
TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'corei7', ' -march=corei7 -mtune=corei7 -mfpmath=sse -msse4.2', '', d)}"
--
2.7.0
^ permalink raw reply related [flat|nested] 4+ messages in thread
end of thread, other threads:[~2016-02-08 22:45 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-08 22:45 [PATCH] tune-corei7.inc: tell qemu to emulate a matching processor Ross Burton
-- strict thread matches above, loose matches on Subject: below --
2016-02-08 15:16 Ross Burton
2016-02-08 19:27 ` Andre McCurdy
2016-02-08 22:43 ` Burton, Ross
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.