Commit Graph

181 Commits

Author SHA1 Message Date
Anuj Mittal
68e00896f2 opencl-clang: upgrade 13.0.0 -> 14.0.0
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-05 15:59:12 +08:00
Anuj Mittal
c993e8e815 Remove support for building with LLVM 10
We no longer support building with older branches of OE-Core/meta-clang
so remove LLVM 10 specific configurations and patches.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-05 15:59:12 +08:00
Anuj Mittal
7bb49b1ae1 conf: remove usage of X86_TUNE_DIR var
The main branch only supports building with kirkstone now so we no
longer need this to tweak paths for older branches.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-04-05 15:59:12 +08:00
Peter Bergin
4402be424b qemu-intel.inc: backport of dependency fixes from oe-core
When building an image for intel-corei7-64 (and probably other targets)
it was not possible to directly start the image with runqemu due to
missing directory in sysroot related to qemu-helper-native.

In oe-core two patches has been applied that fixes dependency issues when
building images for qemu. Those patches does also fix the issue when
building for targets in meta-intel.

Following two patches from oe-core, originally for meta/conf/machine/include/qemu.inc,
are backported to conf/machine/include/qemu-intel.inc:

3a4fed4ae0 qemu.inc: Should depend on qemu-system-native, not qemu-native
5562342020 image/qemu: Add explict depends for qemu-helper addto_recipe_sysroot task

Signed-off-by: Peter Bergin <peter@berginkonsult.se>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-31 22:50:06 +08:00
Anuj Mittal
dea9048c4b qemuboot-intel: fix audio option
-soundhw ac97 is deprecated since qemu v5.1.0. Replace it with
recommended option. Fixes:

| qemu-system-x86_64: warning: '-soundhw ac97' is deprecated, please use '-device AC97' instead

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-03-30 22:41:35 +08:00
Anuj Mittal
f52d804c30 conf: set COMPATIBLE_MACHINE for dpdk-module
DPDK layer now requires COMPATIBLE_MACHINE to be set for dpdk-module
recipe too.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2022-01-28 10:22:47 +08:00
Naveen Saini
2bd57abeb5 meta-intel.inc: set default rt kernel to 5.15
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-30 14:54:15 +08:00
Naveen Saini
e69110ae03 meta-intel.inc: set default kernel to LTS 5.15
Build 5.10 with poky-altcfg as kenrel 5.4 support is going to drop

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-24 22:34:33 +08:00
Anuj Mittal
576ba39de2 qemuboot-intel.inc: remove vga and uvesafb parameters
These are ancient and no longer required. For a detailed explanation,
see:

https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=ec7beb650fd3ad445e77d2c3c8fde27556d9d0c9
https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=e88fe83014b771b1868ee1159672c80f7710f41d
https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=58e85c60cd15cf4c0b47cddcf507543461c1a328

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-17 00:01:19 +08:00
Anuj Mittal
c4ba0f18c2 intel-common-pkgarch.inc: fix operator combination
Bitbake now warns if :append is combined with +=. Change this to use the
preferred format.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-05 22:52:12 +08:00
Naveen Saini
82a73574ed meta-intel.inc: use zlib from oe-core by default
Instead of zlib-intel from this layer, use zlib from oe-core by default

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-11-03 21:56:15 +08:00
Anuj Mittal
a809b8c531 Remove support for gatesgarth
Building with oe-core gatesgarth is no longer supported. Remove from
LAYERSERIES_COMPAT and remove the LLVM 11 patches as well.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-10-13 11:23:41 +08:00
Naveen Saini
cb1bf2bdc1 meta-intel.inc: allow to select opencl-clang/13.0.0 too
Based on LLVMVERSION, select opencl-clang version

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-09-03 09:25:01 +08:00
Naveen Saini
3838f1d263 layer.conf: update machine confs with new tune locations
Added logic to make sure, it does not break with old releases.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-08-23 23:45:22 +08:00
Anuj Mittal
109cb6107d qemuboot-intel: fix the override syntax
Use : as per the new syntax.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-08-09 23:09:49 +08:00
Anuj Mittal
e67676976b Manually move some overrides to new syntax
Some of these were missed when using the script and were noticed when
building intel-skylake-64 and tiny images  which had started failing.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-08-06 15:51:53 +08:00
Anuj Mittal
0584f63879 Convert to new override syntax
Use the convert-overrides.py to convert to new syntax and manually
fix some additional changes.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-07-31 17:47:03 +08:00
Anuj Mittal
29ded43c47 qemuboot-intel.inc: remove deprecated show-cursor option
Don't pass show-cursor as it's no longer a valid option. We pass the
correct show-cursor=on in runqemu so remove it from here.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-06-25 16:59:58 +08:00
Naveen Saini
5ecb12efe2 layer.conf: drop meta-intel-qat layer from LAYERRECOMMENDS
It does not provide any essential dependencies.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-06-03 23:59:46 +08:00
Naveen Saini
39457fee8e opencl-clang/12.0.0: add recipe
Build opencl-clang with llvm-12 and point to latest from ocl-open-120
branch.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-04-01 13:29:48 +08:00
Naveen Saini
d4f2e875ec conf: remove thermald from MACHINE_ESSENTIAL_EXTRA_RDEPENDS
thermald recipe moved to dynamic layer due to meta-oe
dependency.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-02-16 15:08:12 +08:00
Naveen Saini
b4e5d33aff conf/machine: set preferred kernel to 5.10
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2021-01-14 09:19:29 +08:00
Anuj Mittal
7ce356a478 machine: remove old vaapi-driver from MACHINE_HWCODECS
media-driver is the newer and supported driver and should be used
instead. Supported platforms list is updated with each release in the
notes available here:

https://github.com/intel/media-driver/releases

Old platforms that need the old driver should override or extend
MACHINE_HWCODECS.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-12-23 23:19:39 +08:00
Anuj Mittal
2e70694b20 conf/machine: use a weaker operator to set SERIAL_CONSOLES
We should be able to over-ride this when appropriate in a layer or
local.conf.

Fixes [YOCTO #14109]

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-10-28 23:49:35 +08:00
Anuj Mittal
ed7311e7ca conf: fix recipe name for libva-utils
The name is libva-intel-utils and not libva-utils-intel.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-10-20 13:29:00 +08:00
Anuj Mittal
4958cf0852 opencl-clang: add recipe for LLVM 11
Point to latest for llvm 11 branch as there's no official release yet.
And, pick the version of opencl-clang based on LLVMVERSION.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-10-15 11:56:38 +08:00
Anuj Mittal
70d3ae20a2 libva-intel-utils: add recipe
We need a later version of libva than what is available in oe-core for
the media components.

Create our own copy of the recipe and include it only when someone has
included one of meta-intel MACHINEs.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-10-07 16:07:27 +08:00
Anuj Mittal
dbae24f5bb libva-intel: add recipe
We need a later version of libva than what is available in oe-core for
the media components.

Create our own copy of the recipe and include it only when someone has
included one of meta-intel MACHINEs.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-10-07 16:07:27 +08:00
Naveen Saini
452634a53a opencl-clang: drop llvm9/clang9 support
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-07-22 12:32:46 +08:00
Naveen Saini
c248917f50 libva-utils-intel: drop recipe
libva-utils in oe-core moved to latest release, so no need
to carry in meta-intel anymore.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-05-18 11:38:24 +08:00
Naveen Saini
bc9973a90d libva-intel: drop recipe
libva in oe-core moved to latest release, so no need to
carry in meta-intel anymore.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-05-18 11:38:24 +08:00
Naveen Saini
517c9b2c50 opencl-clang: add recipe for 9.0.0 as well
opencl-clang project release branches links to
different LLVM versions. So, in order to use latest igc version
with both clang 10.x and 9.x, added seprated recipes.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-04-27 16:23:50 +08:00
Anuj Mittal
259c94cc31 linux-intel/4.19: remove
We will maintain only the 5.4 kernel for dunfell LTS. Switch alt-cfg to
using v5.4.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-04-27 09:22:54 +08:00
Anuj Mittal
cbe1fcef76 intel-skylake-64: add it to dpdk COMPATIBLE_MACHINE
Enables it to be built for this MACHINE value.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-04-20 10:09:04 +08:00
Naveen Saini
ee68102442 libva-utils-intel: keep upgraded libva-utils version to meta-intel MACHINE specific
Make sure that we use the upgraded version of libva-utils
only when using MACHINE value from meta-intel.
For all other cases, libva-utils from oe-core should be used.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-04-16 13:40:46 +08:00
Naveen Saini
67f781be89 libva-intel: keep upgraded libva version to meta-intel MACHINE specific
Make sure that we use the upgraded version of libva
only when using MACHINE value from meta-intel.
For all other cases, libva from oe-core should be used.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-04-16 13:40:46 +08:00
Anuj Mittal
01c94b9a2c qemuboot-intel: use Skylake-Client instead of kvm64
Use skylake-client instead of legacy kvm64 for intel-skylake-64 MACHINE.
Also helps prevent problems when booting up using KVM in QEMU.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-04-14 10:04:27 +08:00
Naveen Saini
f700571666 conf/machine: set preferred RT kernel to 5.4
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-01-30 09:39:30 +08:00
Naveen Saini
230dd4552f meta-intel.inc: Update linux-intel PREFERRED_VERSION to 5.4
And also mark 4.19 as the kernel to be built when using poky-altcfg.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2020-01-02 10:31:52 +08:00
Anuj Mittal
1a141241d8 intel-skylake-64: include mediasdk and media-driver in HWCODECS
media-driver is recommended to be used for BDW/SKL and above instead of
intel-vaapi-driver. Include it by default along with Media SDK codecs.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-10-30 12:18:32 +08:00
Anuj Mittal
5a52d5ccd7 gma500-gfx-check: remove
This is a check to avoid loading gma500 module on certain older hardware
using 32 bit BSP where gma was claiming ownership of graphics when it
shouldn't have.

The platforms for which this was added aren't supported anymore so
remove.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-10-30 12:18:32 +08:00
Anuj Mittal
70d414ce56 meta-intel.inc: build older LTS kernel with poky-altcfg
Mark 4.14 (it should later be changed to 4.19 after the next LTS has been
merged) as the kernel to be built when using poky-altcfg. It'll help build
and test both the supported kernels.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-09-24 07:05:28 +08:00
Naveen Saini
42eb1f0d3a meta-intel.inc: Remove LSB support config
LSB support has been removed from OE-core:

https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=bac4bc9aa6a1f2fcf2ce9644925615185cc8e847
https://git.yoctoproject.org/cgit/cgit.cgi/poky/commit/?id=66dba027289d7dd20df4bae9ae4307ae3a225216

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-09-11 18:36:13 +08:00
Alejandro Enedino Hernandez Samaniego
0bc64c2ad3 tune-skylake.inc: Improve handling the newly introduced skylake tune.
The skylake tune introduced on 04510bfa

Currently disables qemu-usermode by default, due to the lack
of support from QEMU to several of the Intel instruction set
extensions introduced within the few latest generations of
CPU architectures (e.g. QEMU does not support avx2)

While there is a good reason to perform the removal of qemu-usermode
from MACHINE_FEATURES, there are several components within the
build system that rely on it for proper compilation and behavior,
for example anything that uses gobject data introspection or even
the components like the chromium web browser require to run a QEMU
for the target architecture to build successfully.

There is no reason why we can't have those components built without
sacrificing the cpu (most) optimizations.

The process I followed on meta-chromebook to enable an optimized build
and whats being upstreamed by this patch is that by doing some
reverse engineering, I was able to figure out which instruction
set extensions are not compatible with QEMU Skylake-Client, by
performing a bit gcc magic from inside QEMU (target) to get the
available optimizations for the native architecture (which is
actually our target in this case).

These are all (not surprisingly) the avx2 extensions, listed as
follows:
-mno-avx
-mno-avx2
-mno-avx512f
-mno-avx512er
-mno-avx512cd
-mno-avx512pf
-mno-avx512dq
-mno-avx512bw
-mno-avx512vl
-mno-avx512ifma
-mno-avx512vbmi
-mno-avx512vbmi2
-mno-avx512vnni
-mno-avx512bitalg

Specifically disabling these manually (for now), allows us to build an
optimized system for the skylake/skylake based architectures (e.g. KabyLake)
while keeping the capability of using qemu-usermode, as a side note GCC
does show more unavailable optimization tunes, (hence why there might be
some warnings), but getting rid of these specifically seems enough to make
it run happily in qemu-usermode.

Basically the MACHINE_FEATURES variable is able to dictate how we will tune
the build for our device, if qemu-usermode is present, TUNE_CCARGS will
expand as follows:

TUNE_CCARGS=" -m64 -march=skylake  -mtune=skylake  -mno-avx -mno-avx2
-mno-avx512f -mno-avx512er -mno-avx512cd -mno-avx512pf -mno-avx512dq
-mno-avx512bw -mno-avx512vl -mno-avx512ifma -mno-avx512vbmi -mno-avx512vbmi2
-mno-avx512vnni -mno-avx512bitalg  -mfpmath=sse"

Whats this means is that the build will be tuned for skylake architectures,
enabling all possible extensions, (MOVBE, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,
SSE4.2, POPCNT, AES, PCLMUL, FSGSBASE, RDRND, FMA, BMI, BMI2, F16C, RDSEED,
ADCX, PREFETCHW, CLFLUSHOPT, XSAVEC and XSAVES) minus the ones QEMU is unable
to run, which will result in an illegal instruction error, notice the tune is
kept as skylake.

Whilst, if qemu-usermode is not found on MACHINE_FEATURES, TUNE_CCARGS will
expand to:
TUNE_CCARGS=" -m64 -march=skylake -mtune=generic -mavx2 -mfpmath=sse"

Which is exactly what its set to with the current tune, so this patch should
be harmless, and only extend current functionality, we will still keep
qemu-usermode disabled by default (hence enabling avx2) but the user would
have the capability to decide how the skylake tune will be handled.

As the GCC manual states, we should really try to avoid using mtune=generic
when possible, and this patch allows us to do so [1].

This patch also addresses a problem on which the current skylake tune includes
tune-core2.inc instead of tune-corei7.inc to get the list of AVAILTUNES
and PACKAGE_EXTRA_ARCHS.

Right now, AVAILTUNES are set as follows:
AVAILTUNES=" x86 x86-64 x86-64-x32 i586 i686 core2-32 core2-64 core2-64-x32
skylake-64"

Where the proper set should be (after this patch):
AVAILTUNES=" x86 x86-64 x86-64-x32 i586 i686 core2-32 core2-64 core2-64-x32
corei7-32 corei7-64 corei7-64-x32 skylake-64"

When (if), QEMU gains support for the AVX2 instruction set extensions these
can be easily removed to provide full support for qemu-usermode.

[1] https://gcc.gnu.org/onlinedocs/gcc-9.1.0/gcc/x86-Options.html

Signed-off-by: Alejandro Enedino Hernandez Samaniego <aehs29@gmail.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-08-29 11:34:35 +08:00
Naveen Saini
04510bfabd 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:
https://bugs.launchpad.net/qemu/+bug/1818075

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 <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-08-21 12:30:01 +08:00
Anuj Mittal
64f8ef709f meta-intel.inc: include i915 kernel module and firmware
We include the firmware as part of initramfs image that is used for
live images. Make sure that we include this module for others as well.

Also include the kernel module for all images instead of relying on
"linux-modules" using MACHINE_EXTRA_RRECOMMENDS. Use
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS instead to pull in i915 module so it
works for all images based on packagegroup-core-boot.

Fixes [YOCTO #13446]

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-08-09 23:26:35 +08:00
Naveen Saini
d5792d7943 intel-corei7-64.conf: add conditionally to HWCODECS for x32 build
mediasdk & media-driver doesn't support building for x32.
Instead of patching makefile to build for x32 and risk runtime
failures, do not include in x32 build.

Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-08-08 07:08:32 +08:00
Anuj Mittal
efd27c68ad intel-corei7-64.conf: include mediasdk and media-driver in HWCODECS
media-driver is recommended to be used for BDW/SKL and above instead of
intel-vaapi-driver. Include it by default along with Media SDK codecs.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-07-25 12:54:21 +08:00
Ross Burton
8c6ee6ea60 conf: use zlib-intel by default for target builds
Don't change native or nativesdk so that builds using both
meta-intel and other machines can share native sstate.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-05-06 12:03:20 +08:00
Ross Burton
b5a428bc6b wic: pass APPEND to bootloader
Rename the systemd and grub-efi .wks files to .wks.in, and replace all 'append'
entries apart from rootfstype (which is specific to the wks file) with
${APPEND}, so the values of APPEND from the BSP and user is respected.

Signed-off-by: Ross Burton <ross.burton@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-03-07 09:47:19 +08:00