All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.