Commit Graph

166 Commits

Author SHA1 Message Date
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
Anuj Mittal
29e4db5bf4 conf: set -rt kernel to 4.19
Explicitly set the kernel to be used when building an image with
linux-intel-rt kernel.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2019-02-12 10:23:07 +08:00
Anuj Mittal
d41dc2301b conf/machine: set preferred kernel to 4.19
Set preferred kernel to 4.19 for LSB as well.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-12-17 15:33:12 +08:00
Anuj Mittal
6362160cfd intel-corei7-64.conf: remove reference to dpdk-libibverbs
The recipe was removed from dpdk layer.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-12-06 07:36:13 +08:00
Anuj Mittal
12acdbe9d8 README: minor edit
We don't supply binaries anymore. Also, remove some obsolete comments.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-07-27 10:34:20 +08:00
Anuj Mittal
e4e44b4c77 machine/intel-corei7: remove lms from MACHINE_EXTRA_RRECOMMENDS
Not all platforms need it and should be enabled only when it is required.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-07-27 10:34:20 +08:00
Anuj Mittal
8545706064 machine/intel-corei7-64: remove reference to openssl-qat
The recipe was removed and this is no longer needed.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-07-25 10:11:25 +08:00
Anuj Mittal
0eac762e3e va-intel: remove
Include intel vaapi driver directly as part of hwcodecs instead of going
indirectly through a separate recipe.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-07-18 10:20:06 +08:00
Anuj Mittal
c12c166592 rmc: remove
It's not being maintained anymore and the scripts have not been kept in
sync with upstream for quite some time.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-07-16 16:53:00 +08:00
Tan, Raymond
6f7ed1ec43 conf/machine/intel-core*: add COMPATIBLE_MACHINE for qat17
This adds both intel-core2-32 and intel-corei7-64 as the COMPATIBLE_MACHINE
for qat17 package.

Signed-off-by: Tan, Raymond <raymond.tan@intel.com>
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-06-06 09:22:20 +08:00
Anuj Mittal
77e7aecc9b intel-core*.conf: change wks to be used for grub-efi
Point to the meta-intel wks file when grub-efi is to be used.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
2018-06-04 16:02:41 +08:00
California Sullivan
d5699efd24 conf/machine/intel-corei7-64.conf: remove DPDK_TARGET_MACHINE
"atm" wasn't a real target and breaks the dpdk build now that the
TARGET_MACHINE selection is fixed. Just allow it to default since that's
what it effectively got before.

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
2018-04-17 14:02:56 -07:00
California Sullivan
e84508f1ba conf/machine/intel-core*: use systemd-bootdisk-microcode.wks by default
This allows early boot microcode updates by default.

Since microcode is needed, we also add intel-microcode to
WKS_FILE_DEPENDS.

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
2018-04-13 16:41:13 -07:00
Anuj Mittal
2ad24ce812 meta-intel.inc: remove unreferenced xserver code
OLD_XSERVER_X86_EXT was added to support emgd drivers that needed X server
older than 1.13. We neither support X server older than 1.13 nor the emgd
drivers now.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
2018-03-13 16:43:12 -07:00
California Sullivan
958d1a20f7 Revert "conf: override WKS_FILE_DEPENDS for intel machines"
This reverts commit ab858eb989.

This caused no bootloader to appear in the boot partition if WKS_FILE
was changed manually. Furthermore, wic wouldn't error, it would just
silently ignore the missing binary.

Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
2018-03-06 12:53:08 -08:00
Anuj Mittal
ab858eb989 conf: override WKS_FILE_DEPENDS for intel machines
WKS_FILE_DEPENDS includes all the dependencies for producing wic images
and is meant to be overridden with correct set by image recipes. Right now,
the default values result in grub-efi being built even when EFI_PROVIDER
is set to systemd-boot.

Change the value to depend only on the EFI_PROVIDER bootloader.

Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
Signed-off-by: California Sullivan <california.l.sullivan@intel.com>
2018-02-16 15:44:01 -08:00