path: root/conf/machine/include
diff options
authorNaveen Saini <>2019-08-21 02:11:38 (GMT)
committerAnuj Mittal <>2019-08-21 04:30:01 (GMT)
commit04510bfabd50bb33da8ccc5075a2c5163605d552 (patch)
tree99d38ae3eec10b9c7214cf9e81d11147275a918c /conf/machine/include
parentae9f89ee8166a7fecd30d7df59e8c2052080d4c0 (diff)
conf: add new machine intel-skylake-64
Add 64-bit new machine (intel-skylake-64) with -march=skylake and avx2 instruction-set set up. We do see a qemu-usermode failure at build time, on setup of avx2 instruction-set as QEMU does not support AVX instruction set. Check this: So to bypass this issue disabling qemu-usermode for intel-skylake-64 machine. Due to above limitation and in order to not affecting existing machines, this new machine is being proposed to add. A quick performance comparision between intel-corei7-64 vs intel-skylake-64 machines Measurements are in time, taken by the benchmark tests. Less is better. Test/Benchmark intel-corei7-64 intel-skylake-64 (1) CppPerformanceBenchmarks (Test: Math Library) (1st) 5m 15.70s 4m 36.39s (2nd) 5m 16.37s 4m 36.51s (3rd) 5m 15.54s 4m 37.80s CppPerformanceBenchmarks is a set of C++ compiler performance benchmarks. (2) AOBench (1st) 0m 35.07s 0m 28.74s (2nd) 0m 34.90s 0m 28.72s (3rd) 0m 34.85s 0m 28.89s AOBench is a lightweight ambient occlusion renderer, written in C. The test profile is using a size of 2048 x 2048. (3) C-Ray (1st) 320 seconds 232 seconds (2nd) 320 seconds 232 seconds (3rd) 321 seconds 232 seconds C-Ray, a simple raytracer designed to test the floating-point CPU performance. For this patch, 'bitbake world' gets successfully built with latest poky master. Signed-off-by: Naveen Saini <> Signed-off-by: Anuj Mittal <>
Diffstat (limited to 'conf/machine/include')
2 files changed, 32 insertions, 0 deletions
diff --git a/conf/machine/include/ b/conf/machine/include/
index 6586cf0..88e20a3 100644
--- a/conf/machine/include/
+++ b/conf/machine/include/
@@ -8,6 +8,10 @@ QB_SYSTEM_NAME_intel-corei7-64 = "qemu-system-x86_64"
8QB_CPU_intel-corei7-64 = "-cpu Nehalem" 8QB_CPU_intel-corei7-64 = "-cpu Nehalem"
9QB_CPU_KVM_intel-corei7-64 = "-cpu kvm64" 9QB_CPU_KVM_intel-corei7-64 = "-cpu kvm64"
10 10
11QB_SYSTEM_NAME_intel-skylake-64 = "qemu-system-x86_64"
12QB_CPU_intel-skylake-64 = "-cpu Skylake-Client"
13QB_CPU_KVM_intel-skylake-64 = "-cpu kvm64"
11QB_AUDIO_DRV = "alsa" 15QB_AUDIO_DRV = "alsa"
12QB_AUDIO_OPT = "-soundhw ac97,es1370" 16QB_AUDIO_OPT = "-soundhw ac97,es1370"
13QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1" 17QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1"
diff --git a/conf/machine/include/ b/conf/machine/include/
new file mode 100644
index 0000000..78645de
--- /dev/null
+++ b/conf/machine/include/
@@ -0,0 +1,28 @@
1# Settings for the GCC(1) cpu-type "skylake":
3# Intel Skylake CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
4# SSE4.2, AVX, AVX2 and POPCNT instruction set support.
6# This tune is recommended for Intel Skylake CPU (and beyond).
8DEFAULTTUNE ?= "skylake-64"
10# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS
11require conf/machine/include/
13# Extra tune features
14TUNEVALID[skylake] = "Enable skylake specific processor optimizations"
15TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'skylake', ' -march=skylake -mtune=generic -mfpmath=sse -mavx2', '', d)}"
17# Extra tune selections
19AVAILTUNES += "skylake-64"
20TUNE_FEATURES_tune-skylake-64 = "${TUNE_FEATURES_tune-x86-64} skylake"
21BASE_LIB_tune-skylake-64 = "lib64"
22TUNE_PKGARCH_tune-skylake-64 = "skylake-64"
23PACKAGE_EXTRA_ARCHS_tune-skylake-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} skylake-64"
24QEMU_EXTRAOPTIONS_skylake-64 = " -cpu Skylake-Client"
26# Disable QEMU user
27MACHINE_FEATURES_remove = "qemu-usermode"