Re: [PATCH] tune-x86-64-v3.inc: set QEMU_EXTRAOPTIONS like other tune-* files


Martin Jansa
 

There is also separate issue that VirtualBox CPU doesn't support fma, f16c. e.g.:
root@qemux86-64:~# mediaindexer
Incompatible processor. This Qt build requires the following features: fma f16c

There is 7 years old enhancement ticket for Virtualbox without any progress:
https://www.virtualbox.org/ticket/15471

People who use VirtualBox to run qemux86-64 builds, should consider changing DEFAULTTUNE.

On Sat, Jan 7, 2023 at 3:41 PM Martin Jansa via lists.openembedded.org <Martin.Jansa=gmail.com@...> wrote:
* use Skylake-Client to match QB_CPU_KVM as changed in:
  https://git.openembedded.org/openembedded-core/commit/?id=6f2af1e5d1537b4d31e14946292bf58f0fd76fc9

* explicitly set -cpu instead of letting qemu to choose based
  on host cpu

* check=false is still useful as e.g. on on AMD Threadripper 3970X:
  orc/0.4.33-r0 $ PSEUDO_UNLOAD=1 qemu-x86_64 -r 3.2.0 -cpu Skylake-Client  -L recipe-sysroot -E LD_LIBRARY_PATH=recipe-sysroot//usr/lib:recipe-sysroot//lib
  orc/0.4.33-r0/build/meson-private/sanitycheckc_cross.exe
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.x2apic [bit 21]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.01H:ECX.tsc-deadline [bit 24]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.hle [bit 4]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.invpcid [bit 10]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rtm [bit 11]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.07H:EBX.rdseed [bit 18]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.80000001H:ECX.3dnowprefetch [bit 8]
  qemu-x86_64: warning: TCG doesn't support requested feature: CPUID.0DH:EAX.xsavec [bit 1]

* if this still doesn't work for you on your host, you might need to downgrade
  DEFAULTTUNE to e.g. corei7-64 (all all the way back to core2-64), for
  more details see:
  https://www.openembedded.org/pipermail/openembedded-core/2018-April/150178.html

* the leading space shouldn't be needed, I've kept it for consistency
  with other QEMU_EXTRAOPTIONS

Signed-off-by: Martin Jansa <Martin.Jansa@...>
---
 meta/conf/machine/include/x86/tune-x86-64-v3.inc | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/meta/conf/machine/include/x86/tune-x86-64-v3.inc b/meta/conf/machine/include/x86/tune-x86-64-v3.inc
index 267c12ff50..254f03c590 100644
--- a/meta/conf/machine/include/x86/tune-x86-64-v3.inc
+++ b/meta/conf/machine/include/x86/tune-x86-64-v3.inc
@@ -21,9 +21,11 @@ TUNE_FEATURES:tune-x86-64-v3 = "${TUNE_FEATURES:tune-x86-64} x86-64-v3"
 BASE_LIB:tune-x86-64-v3 = "lib64"
 TUNE_PKGARCH:tune-x86-64-v3 = "x86-64-v3"
 PACKAGE_EXTRA_ARCHS:tune-x86-64-v3 = "${PACKAGE_EXTRA_ARCHS:tune-corei7-64} x86-64-v3"
+QEMU_EXTRAOPTIONS_x86-64-v3 = " -cpu Skylake-Client,check=false"

 AVAILTUNES += "x86-64-v3-x32"
 TUNE_FEATURES:tune-x86-64-v3-x32 = "${TUNE_FEATURES:tune-x86-64-x32} x86-64-v3"
 BASE_LIB:tune-x86-64-v3-x32 = "libx32"
 TUNE_PKGARCH:tune-x86-64-v3-x32 = "x86-64-v3-x32"
 PACKAGE_EXTRA_ARCHS:tune-x86-64-v3-x32 = "${PACKAGE_EXTRA_ARCHS:tune-corei7-64-x32} x86-64-v3-x32"
+QEMU_EXTRAOPTIONS_x86-64-v3-x32 = " -cpu Skylake-Client,check=false"
--
2.39.0




Join openembedded-core@lists.openembedded.org to automatically receive all group messages.