mirror of
git://git.yoctoproject.org/meta-intel.git
synced 2025-07-19 12:59:03 +02:00
Compare commits
355 Commits
19.0-mickl
...
master
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7fc52266ae | ||
![]() |
b3670c2765 | ||
![]() |
7531d25480 | ||
![]() |
948f32898c | ||
![]() |
da0d981264 | ||
![]() |
9d929ecc54 | ||
![]() |
45bdd23171 | ||
![]() |
fbaf7a7dbf | ||
![]() |
fc53424964 | ||
![]() |
5640f6592c | ||
![]() |
6dc5579712 | ||
![]() |
677923517b | ||
![]() |
21919a4b11 | ||
![]() |
b5c65864fa | ||
![]() |
343435a2f1 | ||
![]() |
331139a64b | ||
![]() |
802a2dcc3d | ||
![]() |
f7e64d601e | ||
![]() |
c002b58a31 | ||
![]() |
336b86a95d | ||
![]() |
03ca9fe04a | ||
![]() |
6605638e5b | ||
![]() |
5202c13044 | ||
![]() |
9d4194af23 | ||
![]() |
74e63d3834 | ||
![]() |
74fc129a2c | ||
![]() |
1bc9b44c76 | ||
![]() |
1616b7c807 | ||
![]() |
ef8035b48f | ||
![]() |
7bb5971efa | ||
![]() |
3193965523 | ||
![]() |
172651fbb9 | ||
![]() |
046ad0ede1 | ||
![]() |
6311c5a403 | ||
![]() |
0badd9a460 | ||
![]() |
cd4995d855 | ||
![]() |
f1b9bf5f10 | ||
![]() |
6eeb304b09 | ||
![]() |
2506b743ab | ||
![]() |
79b1fd3430 | ||
![]() |
cb85578bf3 | ||
![]() |
8bd6506e1e | ||
![]() |
db1f123d8b | ||
![]() |
81b110e4fa | ||
![]() |
b30ef8c8df | ||
![]() |
7137693e92 | ||
![]() |
ee209683b7 | ||
![]() |
c055eca643 | ||
![]() |
157dec4d8e | ||
![]() |
c7c7dface3 | ||
![]() |
c4cd14c32f | ||
![]() |
f3f6c46ab4 | ||
![]() |
b0fe7e45ab | ||
![]() |
40ad847196 | ||
![]() |
0a941ec0af | ||
![]() |
ad97cfa0a7 | ||
![]() |
e2d83fe2c2 | ||
![]() |
d0150964ca | ||
![]() |
c0986a2c06 | ||
![]() |
7092e59231 | ||
![]() |
31ebf1b346 | ||
![]() |
cf1f250ae7 | ||
![]() |
9589e68d0a | ||
![]() |
544eaef721 | ||
![]() |
42b6cfec17 | ||
![]() |
da2013006a | ||
![]() |
7d826adfe7 | ||
![]() |
51cc236453 | ||
![]() |
feb12460c9 | ||
![]() |
35d9611724 | ||
![]() |
592703f390 | ||
![]() |
d0cca0cf28 | ||
![]() |
f4085cf2ba | ||
![]() |
a38d69ee3d | ||
![]() |
945c5bbb80 | ||
![]() |
3b4ab5676d | ||
![]() |
9bc4ada2f2 | ||
![]() |
acb6754d4f | ||
![]() |
86a337d450 | ||
![]() |
fd8ccbdf1e | ||
![]() |
438897ccab | ||
![]() |
d007bbd936 | ||
![]() |
4b40ffcc8d | ||
![]() |
8c4ea4cd2f | ||
![]() |
67c156ac9f | ||
![]() |
740eed7a7d | ||
![]() |
25debfe314 | ||
![]() |
0a46de4a5d | ||
![]() |
d6be707bfb | ||
![]() |
c95fce3af3 | ||
![]() |
a9a49e3e1a | ||
![]() |
1f08cf063e | ||
![]() |
2ed565749c | ||
![]() |
5d1f6d9422 | ||
![]() |
0f83a00783 | ||
![]() |
373080d3ff | ||
![]() |
b71661ad7a | ||
![]() |
debe7a7598 | ||
![]() |
78b843d359 | ||
![]() |
1cf46a8ab0 | ||
![]() |
99ecd5c06e | ||
![]() |
3505ed2bfa | ||
![]() |
ea270e6f7b | ||
![]() |
ece4cf8c32 | ||
![]() |
cea3080350 | ||
![]() |
e973862547 | ||
![]() |
ea0a7de92f | ||
![]() |
a070dff830 | ||
![]() |
263f8cb810 | ||
![]() |
8cbeba7725 | ||
![]() |
6a2114ac03 | ||
![]() |
4f4e6d763c | ||
![]() |
d9c5f429a1 | ||
![]() |
d965d9ab8e | ||
![]() |
c849f41d21 | ||
![]() |
6846d34df3 | ||
![]() |
3344a55d26 | ||
![]() |
83c3b371ca | ||
![]() |
f222ac31c5 | ||
![]() |
b47467609d | ||
![]() |
28b193723b | ||
![]() |
a672e9116a | ||
![]() |
98a4c95816 | ||
![]() |
856fd19c35 | ||
![]() |
f50328b877 | ||
![]() |
f9eb05f598 | ||
![]() |
938ba15a4a | ||
![]() |
5a0479b735 | ||
![]() |
82f614ab96 | ||
![]() |
4c0414ea1f | ||
![]() |
52f5037453 | ||
![]() |
3d77cd745a | ||
![]() |
f77e45d588 | ||
![]() |
fdab9460e9 | ||
![]() |
0b8c3342f6 | ||
![]() |
7655d2b265 | ||
![]() |
11c41c9a46 | ||
![]() |
fd80d897b3 | ||
![]() |
374a26b501 | ||
![]() |
aad60b5319 | ||
![]() |
b14d143184 | ||
![]() |
acbf0a8b3d | ||
![]() |
5ca806f3ee | ||
![]() |
6e63b0247c | ||
![]() |
7161d3e830 | ||
![]() |
7864daf8ec | ||
![]() |
547f00bca5 | ||
![]() |
7165c20b43 | ||
![]() |
6ece731dc2 | ||
![]() |
9ee4834eab | ||
![]() |
4e30042791 | ||
![]() |
5ed1dcd18e | ||
![]() |
e166755b86 | ||
![]() |
0093d9f2ea | ||
![]() |
84f39e69be | ||
![]() |
0e43ce8605 | ||
![]() |
c31ad2df36 | ||
![]() |
c374b041cc | ||
![]() |
506aa18577 | ||
![]() |
bdb3a52062 | ||
![]() |
e0f530f48f | ||
![]() |
b815f56c01 | ||
![]() |
430c6e6391 | ||
![]() |
b235686f37 | ||
![]() |
fe0060a12e | ||
![]() |
674e223dba | ||
![]() |
f12f3603a2 | ||
![]() |
06781f8c81 | ||
![]() |
9ce6cc89c7 | ||
![]() |
8ecf604af2 | ||
![]() |
ce7818a5f5 | ||
![]() |
1a7d12af5a | ||
![]() |
353b0a4354 | ||
![]() |
7ff39883be | ||
![]() |
9f0aef109a | ||
![]() |
f4a76fdeb8 | ||
![]() |
83239e5183 | ||
![]() |
ec6e087a9f | ||
![]() |
9ed54a1380 | ||
![]() |
0935c639d4 | ||
![]() |
b0c4cc0a59 | ||
![]() |
a220c9eb58 | ||
![]() |
96ccbae896 | ||
![]() |
a89665f17c | ||
![]() |
e56ace026b | ||
![]() |
e318d88002 | ||
![]() |
f937848a04 | ||
![]() |
9d39dfd705 | ||
![]() |
723644dd33 | ||
![]() |
a74c65c749 | ||
![]() |
ef763abc2c | ||
![]() |
d8bfb74fbb | ||
![]() |
c7b6895705 | ||
![]() |
5c057b4fa3 | ||
![]() |
19a72dad31 | ||
![]() |
f0dc074fc0 | ||
![]() |
37a67779a0 | ||
![]() |
fa6a3ad97b | ||
![]() |
e21437f2ae | ||
![]() |
0593838afa | ||
![]() |
0cd1f774b1 | ||
![]() |
55b15013f2 | ||
![]() |
69c711ec0a | ||
![]() |
d89ea58e79 | ||
![]() |
fdbed72ca4 | ||
![]() |
a586d7fdb5 | ||
![]() |
60eeaf617f | ||
![]() |
52954fdd50 | ||
![]() |
0bcaf75ea8 | ||
![]() |
2d8d97f295 | ||
![]() |
d79675497d | ||
![]() |
f48f718cc0 | ||
![]() |
0f794d77b5 | ||
![]() |
33a0f7dc25 | ||
![]() |
7716ddce78 | ||
![]() |
5cfefd9a8f | ||
![]() |
91ff1977d6 | ||
![]() |
1b4e1a2570 | ||
![]() |
67dab4b6a7 | ||
![]() |
a938ea1b27 | ||
![]() |
df5a450118 | ||
![]() |
6d3614337c | ||
![]() |
c93900c6ed | ||
![]() |
b3fca0034e | ||
![]() |
5d9ad8463a | ||
![]() |
67693c4220 | ||
![]() |
8a8c009d58 | ||
![]() |
0826fa75fe | ||
![]() |
8ad76be2fd | ||
![]() |
198af9e9de | ||
![]() |
52ce86a7f5 | ||
![]() |
989d35a499 | ||
![]() |
587dce125d | ||
![]() |
2ab87a299a | ||
![]() |
05a1c5c622 | ||
![]() |
6dcc61ac3c | ||
![]() |
c220d2b0cb | ||
![]() |
f7bac45bc4 | ||
![]() |
fa34a6193e | ||
![]() |
49da9b6172 | ||
![]() |
d72611ba7d | ||
![]() |
7b62d64d1e | ||
![]() |
758d05bc76 | ||
![]() |
6d40bb2d0a | ||
![]() |
25d7035652 | ||
![]() |
3c855dabfd | ||
![]() |
3f9e616b5a | ||
![]() |
e1aedc8b11 | ||
![]() |
2b3d88de95 | ||
![]() |
1bca60610c | ||
![]() |
c139b27c3a | ||
![]() |
dc5a3429cb | ||
![]() |
6883d43ace | ||
![]() |
e68a407246 | ||
![]() |
e35d68040d | ||
![]() |
36171452c7 | ||
![]() |
086552f600 | ||
![]() |
6a3d314f43 | ||
![]() |
4ec7fc95ec | ||
![]() |
4e94f0571d | ||
![]() |
d04382d3f3 | ||
![]() |
f9cb1d9aa9 | ||
![]() |
cc04677a27 | ||
![]() |
a89e233e30 | ||
![]() |
0ccbd5e710 | ||
![]() |
c9c5b8b1b0 | ||
![]() |
a1ac7dc547 | ||
![]() |
df09fd9fd6 | ||
![]() |
f251348843 | ||
![]() |
a9329d4993 | ||
![]() |
110eb064ee | ||
![]() |
096eccc85f | ||
![]() |
7017960773 | ||
![]() |
5f9c566d79 | ||
![]() |
f1b42ef788 | ||
![]() |
2e068767cf | ||
![]() |
042249ca0c | ||
![]() |
27b72d8568 | ||
![]() |
a4d0a75b57 | ||
![]() |
0685337893 | ||
![]() |
7368b9654e | ||
![]() |
fd3878ea41 | ||
![]() |
c29299d261 | ||
![]() |
0a8af9c93c | ||
![]() |
f0aef0cefc | ||
![]() |
84d6fcd0b0 | ||
![]() |
b35fca588f | ||
![]() |
4bf5828c6b | ||
![]() |
1463e5ae10 | ||
![]() |
791c505690 | ||
![]() |
711eee2b8e | ||
![]() |
efd8310cbe | ||
![]() |
d9d4392e66 | ||
![]() |
ed119ed7e8 | ||
![]() |
69a5266955 | ||
![]() |
e2d140280d | ||
![]() |
311a4fa8b5 | ||
![]() |
dc3e3facba | ||
![]() |
75d2e2cf31 | ||
![]() |
f2bcad2943 | ||
![]() |
c5d1a62109 | ||
![]() |
f96c815a14 | ||
![]() |
99eac7518a | ||
![]() |
8af199950b | ||
![]() |
4f5cc7a0a0 | ||
![]() |
dab85c2325 | ||
![]() |
25884a1812 | ||
![]() |
024ff7f712 | ||
![]() |
e965b63243 | ||
![]() |
ba7509663a | ||
![]() |
ccd2765526 | ||
![]() |
614d42850e | ||
![]() |
579d21af98 | ||
![]() |
e0686afa0e | ||
![]() |
7515d740e6 | ||
![]() |
1bf139602b | ||
![]() |
3250a33fa8 | ||
![]() |
34b65b71bf | ||
![]() |
73c6e7969d | ||
![]() |
759754c036 | ||
![]() |
91a2562fe6 | ||
![]() |
bd2c921fc0 | ||
![]() |
a1ae00c7ac | ||
![]() |
046a0f4862 | ||
![]() |
4be9abdad5 | ||
![]() |
2249cab020 | ||
![]() |
7710b82c94 | ||
![]() |
9fa42594c4 | ||
![]() |
a499183991 | ||
![]() |
3c367f25f6 | ||
![]() |
dbc3ac3084 | ||
![]() |
0444a0b313 | ||
![]() |
348511101c | ||
![]() |
eb696e99ff | ||
![]() |
d7692dba74 | ||
![]() |
43a28a839c | ||
![]() |
2b31910c9d | ||
![]() |
dc5c9fb1d5 | ||
![]() |
8220eccbbf | ||
![]() |
c8fc88b7ed | ||
![]() |
1340aeb6c7 | ||
![]() |
b533ec1ecd | ||
![]() |
e7ef28957a | ||
![]() |
92ed65a34f | ||
![]() |
2f54f3512d | ||
![]() |
277f7f7860 | ||
![]() |
068182dbcf | ||
![]() |
5b78a9af8f | ||
![]() |
63149cac0a | ||
![]() |
717b0e7a85 | ||
![]() |
54383bd3aa | ||
![]() |
871317ec87 | ||
![]() |
dd356eb9b8 | ||
![]() |
717ccd3707 | ||
![]() |
f08c93b27a |
87
CHANGELOG
87
CHANGELOG
|
@ -1,87 +0,0 @@
|
|||
This file will only list major changes that occur within a release.
|
||||
For a full list of changes, view the git log of the repository.
|
||||
|
||||
Rocko Release 11/2017
|
||||
=====================
|
||||
|
||||
Moved qat support to separate layer
|
||||
-----------------------------------
|
||||
Quick Assist Technology (QAT) is more middleware and should not be part of the
|
||||
core BSP. The new layer can be found here:
|
||||
https://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-qat/
|
||||
|
||||
Moved dpdk support to separate layer
|
||||
------------------------------------
|
||||
We had some requests to make DPDK standalone so that it could be included
|
||||
without bringing in anything else from meta-intel, as it is not specific to
|
||||
Intel(R) hardware. The new layer is located here:
|
||||
https://git.yoctoproject.org/cgit/cgit.cgi/meta-dpdk/
|
||||
|
||||
Added support for out-of-tree iwlwifi drivers
|
||||
---------------------------------------------
|
||||
Backport-iwlwifi out-of-tree wifi modules are now available via meta-intel.
|
||||
Backport-iwlwifi brings the latest iwlwifi drivers to almost any kernel
|
||||
Note that mac80211 and cfg80211 backports are also necessary, which will most
|
||||
likely cause incompatibility with other in-tree wifi drivers.
|
||||
See https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi for more info.
|
||||
|
||||
Added support for out-of-tree ixgbe drivers
|
||||
-------------------------------------------
|
||||
The out-of-tree ixgbe drivers bring ixgbe support to nearly any kernel. See
|
||||
here: http://www.intel.com/network/connectivity/products/server_adapters.htm
|
||||
|
||||
Added an implementation of Secure Boot
|
||||
--------------------------------------
|
||||
meta-intel now supports a simple Secure Boot implementation. This implementation
|
||||
consists of a single binary consisting of an EFI stub, the kernel, an
|
||||
initrd, and a kernel command line. The binary is then signed via keys defined by
|
||||
the variables SECUREBOOT_SIGNING_KEY and SECUREBOOT_SIGNING_CERT. These keys
|
||||
should match the keys embedded in your hardware's firmware.
|
||||
See documentation/secureboot/README for more information on this feature.
|
||||
|
||||
Improved Yocto Project Compatibility status
|
||||
-------------------------------------------
|
||||
The common layer should now be considered Yocto Project compatible - it should
|
||||
no longer modify OE-core values when adding the layer to your bblayers.conf.
|
||||
The meta-tlk layer is still not Yocto Project compatible, however.
|
||||
|
||||
Pyro Release 5/2017
|
||||
===================
|
||||
|
||||
Changed default kernel provider from linux-yocto to linux-intel.
|
||||
----------------------------------------------------------------
|
||||
Linux-intel is an Intel(R)-maintained kernel based on the latest stable
|
||||
branch, along with backports from upstream to better support Intel(R)
|
||||
hardware. The intel-linux kernel also has a branch with the preempt-rt
|
||||
patches applied, providing a preempt-rt kernel with no additional work.
|
||||
|
||||
Added QEMU support.
|
||||
-------------------
|
||||
We now build several virtio drivers into the kernel by default, and
|
||||
have qemuboot.conf files for intel-corei7-64 and intel-core2-32
|
||||
targets. This allows one to do basic testing on meta-intel images
|
||||
without having to use hardware. The virtio drivers are added via
|
||||
KERNEL_FEATURES_INTEL_COMMON. This prevents them from being added to
|
||||
custom kernels by default. They can be removed by adding the
|
||||
following to a conf or kernel bbappend file:
|
||||
KERNEL_FEATURES_INTEL_COMMON:remove = “cfg/virtio.scc”
|
||||
OVMF firmware is also built and can be used in order to emulate a UEFI
|
||||
environment. A full runqemu command line for intel-corei7-64 could look
|
||||
like this:
|
||||
runqemu core-image-minimal intel-corei7-64 wic ovmf
|
||||
|
||||
Musl support
|
||||
------------
|
||||
Meta-intel is now compatible with the musl C library. You can specify musl
|
||||
As your C library by adding the following to your local.conf:
|
||||
TCLIBC = “musl”
|
||||
Note: there is a known failure with DPDK.
|
||||
|
||||
X32 support
|
||||
-----------
|
||||
The meta-intel layer can now build with the x32 tune settings in a multi-lib
|
||||
setting, it will not work in as the primary MACHINE tune as the bootloader needs
|
||||
to be built as a 64bit binary. The setup for this would be as follows:
|
||||
require conf/multilib.conf
|
||||
MULTILIBS = "multilib:libx32
|
||||
DEFAULTTUNE:virtclass-multilib-libx32 = "corei7-64-x32"
|
32
MAINTAINERS
32
MAINTAINERS
|
@ -1,32 +0,0 @@
|
|||
This file contains a list of BSP maintainers for the BSPs contained in
|
||||
the meta-intel repository.
|
||||
|
||||
The purpose of this file is to provide contact information for
|
||||
specific BSPs and other code contained within meta-intel. You should
|
||||
address questions and patches for a particular BSP or other code to
|
||||
the appropriate maintainer listed in this file, cc'ing the meta-intel
|
||||
mailing list. This ensures that your question or patch will be
|
||||
addressed by the appropriate person, and that it will be seen by other
|
||||
users who may be facing similar problems or questions.
|
||||
|
||||
Please see the top-level README file for guidelines relating to the
|
||||
details of submitting patches, reporting problems, or asking questions
|
||||
about any of the BSPs or other recipes contained within meta-intel.
|
||||
|
||||
Descriptions of section entries:
|
||||
|
||||
M: Mail patches to: FullName <address@domain>
|
||||
F: Files and directories with wildcard patterns.
|
||||
A trailing slash includes all files and subdirectory files.
|
||||
F: common/ all files in and below common
|
||||
F: common/* all files in common, but not below
|
||||
One pattern per line. Multiple F: lines acceptable.
|
||||
|
||||
Please keep this list in alphabetical order.
|
||||
|
||||
Maintainers List (try to look for most precise areas first)
|
||||
|
||||
-----------------------------------
|
||||
|
||||
M: Anuj Mittal <anuj.mittal@intel.com>
|
||||
F: *
|
466
README
466
README
|
@ -1,466 +0,0 @@
|
|||
meta-intel
|
||||
==========
|
||||
|
||||
This README file contains information on building and booting
|
||||
meta-intel BSP layers. Please see the corresponding sections below
|
||||
for details.
|
||||
|
||||
|
||||
Yocto Project Compatible
|
||||
========================
|
||||
|
||||
The BSPs contained in this layer are compatible with the Yocto Project
|
||||
as per the requirements listed here:
|
||||
|
||||
https://www.yoctoproject.org/webform/yocto-project-compatible-registration
|
||||
|
||||
|
||||
Dependencies
|
||||
============
|
||||
|
||||
This layer depends on:
|
||||
|
||||
URI: git://git.openembedded.org/bitbake
|
||||
|
||||
URI: git://git.openembedded.org/openembedded-core
|
||||
layers: meta
|
||||
branch: master
|
||||
|
||||
|
||||
Table of Contents
|
||||
=================
|
||||
|
||||
I. Overview
|
||||
II. Building and booting meta-intel BSP layers
|
||||
a. Building the intel-common BSP layers
|
||||
b. Booting the intel-common BSP images
|
||||
c. Building the installer image
|
||||
III. Technical Miscellany
|
||||
Benefits of using meta-intel
|
||||
The intel-common kernel package architecture
|
||||
Intel-specific machine features
|
||||
IV. Tested Hardware
|
||||
V. Guidelines for submitting patches
|
||||
|
||||
|
||||
I. Overview
|
||||
===========
|
||||
|
||||
This is the location for Intel-maintained BSPs.
|
||||
|
||||
For details on the intel-common, see the information below.
|
||||
|
||||
For all others, please see the README files contained in the
|
||||
individual BSP layers for BSP-specific information.
|
||||
|
||||
If you have problems with or questions about a particular BSP, please
|
||||
contact the maintainer listed in the MAINTAINERS file directly (cc:ing
|
||||
the Yocto mailing list puts it in the archive and helps other people
|
||||
who might have the same questions in the future), but please try to do
|
||||
the following first:
|
||||
|
||||
- look in the Yocto Project Bugzilla
|
||||
(http://bugzilla.yoctoproject.org/) to see if a problem has
|
||||
already been reported
|
||||
|
||||
- look through recent entries of the meta-intel
|
||||
(https://lists.yoctoproject.org/pipermail/meta-intel/) and Yocto
|
||||
(https://lists.yoctoproject.org/pipermail/yocto/) mailing list
|
||||
archives to see if other people have run into similar problems or
|
||||
had similar questions answered.
|
||||
|
||||
If you believe you have encountered a bug, you can open a new bug and
|
||||
enter the details in the Yocto Project Bugzilla
|
||||
(http://bugzilla.yoctoproject.org/). If you're relatively certain
|
||||
that it's a bug against the BSP itself, please use the 'Yocto Project
|
||||
Components: BSPs | meta-intel' category for the bug; otherwise, please
|
||||
submit the bug against the most likely category for the problem - if
|
||||
you're wrong, it's not a big deal and the bug will be recategorized
|
||||
upon triage.
|
||||
|
||||
|
||||
II. Building and booting meta-intel BSP layers
|
||||
==============================================
|
||||
|
||||
The following sections contain information on building and booting the
|
||||
BSPs contained in the meta-intel layer.
|
||||
|
||||
Note that these instructions specifically cover the intel-common, which
|
||||
may or may not be applicable to other BSPs contained in this layer - if
|
||||
a given BSP contains its own README, that version should be used instead,
|
||||
and these instructions can be ignored.
|
||||
|
||||
a. Building the intel-common BSP layers
|
||||
-------------------------------------------------
|
||||
|
||||
In order to build an image with BSP support for a given release, you
|
||||
need to download the corresponding BSP tarball from the 'Board Support
|
||||
Package (BSP) Downloads' page of the Yocto Project website (or
|
||||
equivalently, check out the appropriate branch from the meta-intel git
|
||||
repository, see below). For the intel-common BSPs, those tarballs would
|
||||
correspond to the following choices in the BSP downloads section:
|
||||
|
||||
- Intel-core2-32 Intel® Common Core BSP (Intel-core2-32)
|
||||
- Intel-corei7-64 Intel® Common Core BSP (Intel-corei7-64)
|
||||
|
||||
The intel-* BSPs, also known as the intel-common BSPs, provide a few
|
||||
carefully selected tune options and generic hardware support to cover
|
||||
the majority of current Intel CPUs and devices. The naming follows the
|
||||
convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type
|
||||
(used with mtune and march typically) and BITS is either 32 bit or 64
|
||||
bit.
|
||||
|
||||
Having done that, and assuming you extracted the BSP tarball contents
|
||||
at the top-level of your yocto build tree, you can build a BSP image
|
||||
by adding the location of the meta-intel layer to bblayers.conf e.g.:
|
||||
|
||||
yocto/meta-intel \
|
||||
|
||||
To enable a particular machine, you need to add a MACHINE line naming
|
||||
the BSP to the local.conf file:
|
||||
|
||||
MACHINE ?= "xxx"
|
||||
|
||||
where 'xxx' is replaced by one of the following BSP names:
|
||||
|
||||
- intel-core2-32
|
||||
|
||||
This BSP is optimized for the Core2 family of CPUs as well as all
|
||||
Atom CPUs prior to the Silvermont core.
|
||||
|
||||
- intel-corei7-64
|
||||
|
||||
This BSP is optimized for Nehalem and later Core and Xeon CPUs as
|
||||
well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.
|
||||
|
||||
You should then be able to build an image as such:
|
||||
|
||||
$ source oe-init-build-env
|
||||
$ bitbake core-image-sato
|
||||
|
||||
At the end of a successful build, you should have an image that
|
||||
you can boot from a USB flash drive (see instructions on how to do
|
||||
that below, in the section 'Booting the intel-common BSP images').
|
||||
|
||||
As an alternative to downloading the BSP tarball, you can also work
|
||||
directly from the meta-intel git repository. For each BSP in the
|
||||
'meta-intel' repository, there are multiple branches, one
|
||||
corresponding to each major release starting with 'laverne' (0.90), in
|
||||
addition to the latest code which tracks the current master (note that
|
||||
not all BSPs are present in every release). Instead of extracting
|
||||
a BSP tarball at the top level of your yocto build tree, you can
|
||||
equivalently check out the appropriate branch from the meta-intel
|
||||
repository at the same location.
|
||||
|
||||
b. Booting the intel-common BSP images
|
||||
--------------------------------------
|
||||
|
||||
If you've built your own image, either from the downloaded BSP layer
|
||||
or from the meta-intel git repository, you'll find the bootable
|
||||
image in the build/tmp/deploy/images/xxx directory, where again
|
||||
'xxx' refers to the machine name used in the build.
|
||||
|
||||
Under Linux, insert a USB flash drive. Assuming the USB flash drive
|
||||
takes device /dev/sdf, use dd to copy the image to it. Before the image
|
||||
can be burned onto a USB drive, it should be un-mounted. Some Linux distros
|
||||
may automatically mount a USB drive when it is plugged in. Using USB device
|
||||
/dev/sdf as an example, find all mounted partitions:
|
||||
|
||||
$ mount | grep sdf
|
||||
|
||||
and un-mount those that are mounted, for example:
|
||||
|
||||
$ umount /dev/sdf1
|
||||
$ umount /dev/sdf2
|
||||
|
||||
Now burn the image onto the USB drive:
|
||||
|
||||
$ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress
|
||||
$ sync
|
||||
$ eject /dev/sdf
|
||||
|
||||
This should give you a bootable USB flash device. Insert the device
|
||||
into a bootable USB socket on the target, and power on. This should
|
||||
result in a system booted to the Sato graphical desktop.
|
||||
|
||||
If you want a terminal, use the arrows at the top of the UI to move to
|
||||
different pages of available applications, one of which is named
|
||||
'Terminal'. Clicking that should give you a root terminal.
|
||||
|
||||
If you want to ssh into the system, you can use the root terminal to
|
||||
ifconfig the IP address and use that to ssh in. The root password is
|
||||
empty, so to log in type 'root' for the user name and hit 'Enter' at
|
||||
the Password prompt: and you should be in.
|
||||
|
||||
If you find you're getting corrupt images on the USB (it doesn't show
|
||||
the syslinux boot: prompt, or the boot: prompt contains strange
|
||||
characters), try doing this first:
|
||||
|
||||
$ dd if=/dev/zero of=/dev/sdf bs=1M count=512
|
||||
|
||||
c. Building the installer image
|
||||
-----------------------------------------------
|
||||
|
||||
If you plan to install your image to your target machine, you can build a wic
|
||||
based installer image instead of default wic image. To build it, you need to
|
||||
add below configuration to local.conf :
|
||||
|
||||
WKS_FILE = "image-installer.wks.in"
|
||||
IMAGE_FSTYPES:append = " ext4"
|
||||
IMAGE_TYPEDEP_wic = "ext4"
|
||||
INITRD_IMAGE_LIVE="core-image-minimal-initramfs"
|
||||
do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
|
||||
do_rootfs[depends] += "virtual/kernel:do_deploy"
|
||||
IMAGE_BOOT_FILES:append = "\
|
||||
${KERNEL_IMAGETYPE} \
|
||||
microcode.cpio \
|
||||
${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.ext4;rootfs.img \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} "
|
||||
|
||||
Burn the wic image onto USB flash device, insert the device to target machine
|
||||
and power on. This should start the installation process.
|
||||
|
||||
III. Technical Miscellany
|
||||
=========================
|
||||
|
||||
Benefits of using meta-intel
|
||||
----------------------------
|
||||
|
||||
Using meta-intel has the following benefits over a generic BSP:
|
||||
|
||||
tune flags
|
||||
++++++++++
|
||||
intel-* MACHINEs each have different compilation flags appropriate for their
|
||||
targeted hardware sets. intel-corei7-64 has tune flags appropriate for modern
|
||||
64-bit Intel Core i microarchitecture, and includes instruction sets up to
|
||||
SSE4.2. intel-core2-32 has tune flags appropriate for legacy 32-bit Intel Core2
|
||||
microarchitecture, and includes instruction sets up to SSE3.
|
||||
|
||||
linux-intel kernel
|
||||
++++++++++++++++++
|
||||
The linux-intel kernel is an initiative to bring better Intel(R) hardware
|
||||
support to the current LTS linux kernel. It contains a base LTS kernel with
|
||||
additional backports from upstream Intel drivers. In addition, a default kernel
|
||||
config containing most features found on Intel boards is supplied via the
|
||||
yocto-kernel-cache.
|
||||
|
||||
graphics stack
|
||||
++++++++++++++
|
||||
Meta-intel provides the latest Intel Graphics Linux Stack drivers to support
|
||||
Intel hardware as defined by the https://01.org/linuxgraphics.
|
||||
|
||||
Other software
|
||||
++++++++++++++
|
||||
* intel ucode - provides the latest microcode updates for Intel processors
|
||||
|
||||
* thermald - which proactively controls thermal, using P-states, T-states, and
|
||||
the Intel power clamp driver.
|
||||
(https://01.org/linux-thermal-daemon/documentation/introduction-thermal-daemon)
|
||||
|
||||
The intel-common kernel package architecture
|
||||
--------------------------------------------
|
||||
|
||||
These BSPs use what we call the intel-common Linux kernel package
|
||||
architecture. This includes core2-32-intel-common and
|
||||
corei7-64-intel-common. These kernel packages can also be used by any
|
||||
of the BSPs in meta-intel that choose to include the
|
||||
intel-common-pkgarch.inc file.
|
||||
|
||||
To minimize the proliferation of vendor trees, reduce the sources we
|
||||
must support, and consolidate QA efforts, all BSP maintainers are
|
||||
encouraged to make use of the intel-common Linux kernel package
|
||||
architecture.
|
||||
|
||||
Intel-specific machine features
|
||||
-------------------------------
|
||||
|
||||
The meta-intel layer makes some additional machine features available
|
||||
to BSPs. These machine features can be used in a BSP layer in the
|
||||
same way that machine features are used in other layers based on
|
||||
oe-core, via the MACHINE_FEATURES variable.
|
||||
|
||||
Requirements
|
||||
++++++++++++
|
||||
|
||||
The meta-intel-specific machine features are only available to a BSP
|
||||
when the meta-intel layer is included in the build configuration, and
|
||||
the meta-intel.inc file is included in the machine configuration of
|
||||
that BSP.
|
||||
|
||||
To make these features available for your machine, you will need to:
|
||||
|
||||
1. include a configuration line such as the below in bblayers.conf
|
||||
BBLAYERS += "<local path>/meta-intel"
|
||||
2. include the following line in the machine configuration file
|
||||
require conf/machine/include/meta-intel.inc
|
||||
|
||||
Once the above requirements are met, the machine features provided by
|
||||
the meta-intel layer will be available for the BSP to use.
|
||||
|
||||
Available machine features
|
||||
++++++++++++++++++++++++++
|
||||
|
||||
Currently, the meta-intel layer makes the following set of
|
||||
Intel-specific machine features available:
|
||||
|
||||
* intel-ucode
|
||||
|
||||
These machine features can be included by listing them in the
|
||||
MACHINE_FEATURES variable in the machine configuration file. For
|
||||
example:
|
||||
|
||||
MACHINE_FEATURES += "intel-ucode"
|
||||
|
||||
Machine feature details
|
||||
+++++++++++++++++++++++
|
||||
|
||||
* intel-ucode
|
||||
|
||||
This feature provides support for microcode updates to Intel
|
||||
processors. The intel-ucode feature runs at early boot and uses
|
||||
the microcode data file added by the feature into the BSP's
|
||||
initrd. It also puts the userland microcode-updating tool,
|
||||
iucode_tool, into the target images along with the microcode data
|
||||
file.
|
||||
|
||||
Q. Why might a user want to enable the intel-ucode feature?
|
||||
|
||||
A. Intel releases microcode updates to correct processor behavior
|
||||
as documented in the respective processor specification
|
||||
updates. While the normal approach to getting such microcode
|
||||
updates is via a BIOS upgrade, this can be an administrative
|
||||
hassle and not always possible in the field. The intel-ucode
|
||||
feature enables the microcode update capability present in the
|
||||
Linux kernel. It provides an easy path for upgrading processor
|
||||
microcode without the need to change the BIOS. If the feature
|
||||
is enabled, it is also possible to update the existing target
|
||||
images with a newer microcode update in the future.
|
||||
|
||||
Q. How would a user bundle only target-specific microcode in the
|
||||
target image?
|
||||
|
||||
A. The Intel microcode data file released by Intel contains
|
||||
microcode updates for multiple processors. If the BSP image is
|
||||
meant to run on only a certain subset of processor types, a
|
||||
processor-specific subset of microcode can be bundled into the
|
||||
target image via the UCODE_FILTER_PARAMETERS variable. This
|
||||
works by listing a sequence of iucode-tool parameters in the
|
||||
UCODE_FILTER_PARAMETERS variable, which in this case will
|
||||
select only the specific microcode relevant to the BSP. For
|
||||
more information on the underlying parameters refer to the
|
||||
iucode-tool manual page at http://manned.org/iucode-tool
|
||||
|
||||
To define a set of parameters for microcode-filtering via the
|
||||
UCODE_FILTER_PARAMETERS variable, one needs to identify the
|
||||
cpuid signatures of all the processors the BSP is meant to run
|
||||
on. One way to determine the cpuid signature for a specific
|
||||
processor is to build and run an intel-ucode-feature-enabled
|
||||
image on the target hardware, without first assigning any value
|
||||
to the UCODE_FILTER_PARAMETERS variable, and then once the
|
||||
image is booted, run the "ucode_tool -S" command to have the
|
||||
ucode tool scan the system for processor signatures. These
|
||||
signatures can then be used in the UCODE_FILTER_PARAMETERS
|
||||
variable in conjunction with -s parameter. For example, for
|
||||
the fri2 BSP, the cpuid can be determined as such:
|
||||
|
||||
[root@fri2 ~]# iucode_tool -S
|
||||
iucode_tool: system has processor(s) with signature 0x00020661
|
||||
|
||||
Given that output, a suitable UCODE_FILTER_PARAMETERS variable
|
||||
definition could be specified in the machine configuration as
|
||||
such:
|
||||
|
||||
UCODE_FILTER_PARAMETERS = "-s 0x00020661"
|
||||
|
||||
Q. Are there any reasons a user might want to disable the
|
||||
intel-ucode feature?
|
||||
|
||||
A. The microcode data file and associated tools occupy a small
|
||||
amount of space (a few KB) on the target image. BSPs which are
|
||||
highly sensitive to target image size and which are not
|
||||
experiencing microcode-related issues might consider not
|
||||
enabling this feature.
|
||||
|
||||
|
||||
IV. Tested Hardware
|
||||
===================
|
||||
|
||||
The following undergo regular basic testing with their respective MACHINE types.
|
||||
Note that both 64-bit and 32-bit firmware is available for the MinnowBoard
|
||||
Turbot, so it is tested against both intel-corei7-64 and intel-core2-32.
|
||||
|
||||
intel-corei7-64:
|
||||
Tiger Lake (NUC11TNHi5)
|
||||
Alder Lake-S
|
||||
Kaby Lake: NUC7i7BNH
|
||||
Elkhart Lake
|
||||
|
||||
intel-skylake-64:
|
||||
Tiger Lake (NUC11TNHi5)
|
||||
Alder Lake-S
|
||||
Kaby Lake: NUC7i7BNH
|
||||
Elkhart Lake
|
||||
|
||||
intel-core2-32:
|
||||
MinnowBoard Turbot
|
||||
|
||||
|
||||
V. Guidelines for submitting patches
|
||||
====================================
|
||||
|
||||
Please submit any patches against meta-intel BSPs to the meta-intel
|
||||
mailing list (meta-intel@lists.yoctoproject.org). Also, if your patches are
|
||||
available via a public git repository, please also include a URL to
|
||||
the repo and branch containing your patches as that makes it easier
|
||||
for maintainers to grab and test your patches.
|
||||
|
||||
There are patch submission scripts available that will, among other
|
||||
things, automatically include the repo URL and branch as mentioned.
|
||||
Please see the Yocto Project Development Manual sections entitled
|
||||
'Using Scripts to Push a Change Upstream and Request a Pull' and
|
||||
'Using Email to Submit a Patch' for details.
|
||||
|
||||
Regardless of how you submit a patch or patchset, the patches should
|
||||
at minimum follow the suggestions outlined in the 'Submitting a Change
|
||||
to the Yocto Project' section in the Yocto Project Development Manual.
|
||||
Specifically, they should:
|
||||
|
||||
- Include a 'Signed-off-by:' line. A commit can't legally be pulled
|
||||
in without this.
|
||||
|
||||
- Provide a single-line, short summary of the change. This short
|
||||
description should be prefixed by the BSP or recipe name, as
|
||||
appropriate, followed by a colon. Capitalize the first character
|
||||
of the summary (following the colon).
|
||||
|
||||
- For the body of the commit message, provide detailed information
|
||||
that describes what you changed, why you made the change, and the
|
||||
approach you used.
|
||||
|
||||
- If the change addresses a specific bug or issue that is associated
|
||||
with a bug-tracking ID, include a reference to that ID in your
|
||||
detailed description in the following format: [YOCTO #<bug-id>].
|
||||
|
||||
- Pay attention to line length - please don't allow any particular
|
||||
line in the commit message to stretch past 72 characters.
|
||||
|
||||
- For any non-trivial patch, provide information about how you
|
||||
tested the patch, and for any non-trivial or non-obvious testing
|
||||
setup, provide details of that setup.
|
||||
|
||||
Doing a quick 'git log' in meta-intel will provide you with many
|
||||
examples of good example commits if you have questions about any
|
||||
aspect of the preferred format.
|
||||
|
||||
The meta-intel maintainers will do their best to review and/or pull in
|
||||
a patch or patchset within 24 hours of the time it was posted. For
|
||||
larger and/or more involved patches and patchsets, the review process
|
||||
may take longer.
|
||||
|
||||
Please see the meta-intel/MAINTAINERS file for the list of maintainers
|
||||
and their specific areas; it's also a good idea to cc: the specific
|
||||
maintainer, if applicable.
|
36
README.md
Normal file
36
README.md
Normal file
|
@ -0,0 +1,36 @@
|
|||
# meta-intel
|
||||
|
||||
OpenEmbedded/Yocto BSP layer for Intel platforms.
|
||||
|
||||
## Dependencies
|
||||
|
||||
This layer primarily depends on OpenEmbedded-Core (OE-Core). However, certain
|
||||
recipes may require additional layers to support optional features or
|
||||
programming languages not supported by OE-Core. Such recipes are located within
|
||||
the `dynamic-layers` directory.
|
||||
|
||||
Base dependencies:
|
||||
- [Bitbake](https://git.openembedded.org/bitbake)
|
||||
- [OE-Core](https://git.openembedded.org/openembedded-core)
|
||||
|
||||
Dynamic additional dependencies:
|
||||
|
||||
- [meta-openembedded](https://git.openembedded.org/meta-openembedded/tree/meta-oe)
|
||||
- [meta-python](https://git.openembedded.org/meta-openembedded/tree/meta-python)
|
||||
- [meta-clang](https://github.com/kraj/meta-clang.git)
|
||||
|
||||
|
||||
## Contents
|
||||
|
||||
- [Building and booting meta-intel BSP layers](documentation/building_and_booting.md)
|
||||
- [Intel oneAPI DPC++/C++ Compiler](documentation/dpcpp-compiler.md)
|
||||
- [Build Image with OpenVINO™ toolkit](documentation/openvino.md)
|
||||
- [Tested Hardware](documentation/tested_hardware.md)
|
||||
- [Guidelines for submitting patches](documentation/submitting_patches.md)
|
||||
- [Reporting bugs](documentation/reporting_bugs.md)
|
||||
- [Reporting security bugs](SECURITY.md)
|
||||
|
||||
## Maintainers
|
||||
|
||||
- Anuj Mittal <anuj.mittal@intel.com>
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
The sources for the packages comprising the images shipped with this
|
||||
BSP can be found at the following location:
|
||||
|
||||
http://downloads.yoctoproject.org/mirror/sources/
|
||||
|
||||
The metadata used to generate the images shipped with this BSP, in
|
||||
addition to the code contained in this BSP, can be found at the
|
||||
following location:
|
||||
|
||||
http://downloads.yoctoproject.org/releases/yocto/yocto-2.7/poky-warrior-21.0.0.tar.bz2
|
||||
|
||||
The metadata used to generate the images shipped with this BSP, in
|
||||
addition to the code contained in this BSP, can also be found at the
|
||||
following locations:
|
||||
|
||||
git://git.yoctoproject.org/poky.git
|
||||
git://git.yoctoproject.org/meta-intel
|
6
SECURITY.md
Normal file
6
SECURITY.md
Normal file
|
@ -0,0 +1,6 @@
|
|||
# Security Policy
|
||||
Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation.
|
||||
|
||||
## Reporting a Vulnerability
|
||||
Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html).
|
||||
|
|
@ -1,151 +0,0 @@
|
|||
# This class brings a more generic version of the UEFI combo app from refkit to meta-intel.
|
||||
# It uses a combo file, containing kernel, initramfs and
|
||||
# command line, presented to the BIOS as UEFI application, by prepending
|
||||
# it with the efi stub obtained from systemd-boot.
|
||||
|
||||
# Don't add syslinux or build an ISO
|
||||
PCBIOS:forcevariable = "0"
|
||||
NOISO:forcevariable = "1"
|
||||
|
||||
# image-live.bbclass will default INITRD_LIVE to the image INITRD_IMAGE creates.
|
||||
# We want behavior to be consistent whether or not "live" is in IMAGE_FSTYPES, so
|
||||
# we default INITRD_LIVE to the INITRD_IMAGE as well.
|
||||
INITRD_IMAGE ?= "core-image-minimal-initramfs"
|
||||
INITRD_LIVE ?= " ${@ ('${DEPLOY_DIR_IMAGE}/' + d.getVar('INITRD_IMAGE', expand=True) + '-${MACHINE}.cpio.gz') if d.getVar('INITRD_IMAGE', True) else ''}"
|
||||
|
||||
do_uefiapp[depends] += " \
|
||||
intel-microcode:do_deploy \
|
||||
systemd-boot:do_deploy \
|
||||
virtual/kernel:do_deploy \
|
||||
"
|
||||
|
||||
# INITRD_IMAGE is added to INITRD_LIVE, which we use to create our initrd, so depend on it if it is set
|
||||
do_uefiapp[depends] += "${@ '${INITRD_IMAGE}:do_image_complete' if d.getVar('INITRD_IMAGE') else ''}"
|
||||
|
||||
# The image does without traditional bootloader.
|
||||
# In its place, instead, it uses a single UEFI executable binary, which is
|
||||
# composed by:
|
||||
# - an UEFI stub
|
||||
# The linux kernel can generate a UEFI stub, however the one from systemd-boot can fetch
|
||||
# the command line from a separate section of the EFI application, avoiding the need to
|
||||
# rebuild the kernel.
|
||||
# - the kernel
|
||||
# - an initramfs (optional)
|
||||
|
||||
def create_uefiapp(d, uuid=None, app_suffix=''):
|
||||
import glob, re
|
||||
from subprocess import check_call
|
||||
|
||||
build_dir = d.getVar('B')
|
||||
deploy_dir_image = d.getVar('DEPLOY_DIR_IMAGE')
|
||||
image_link_name = d.getVar('IMAGE_LINK_NAME')
|
||||
|
||||
cmdline = '%s/cmdline.txt' % build_dir
|
||||
linux = '%s/%s' % (deploy_dir_image, d.getVar('KERNEL_IMAGETYPE'))
|
||||
initrd = '%s/initrd' % build_dir
|
||||
|
||||
stub_path = '%s/linux*.efi.stub' % deploy_dir_image
|
||||
stub = glob.glob(stub_path)[0]
|
||||
m = re.match(r"\S*(ia32|x64)(.efi)\S*", os.path.basename(stub))
|
||||
app = "boot%s%s%s" % (m.group(1), app_suffix, m.group(2))
|
||||
executable = '%s/%s.%s' % (deploy_dir_image, image_link_name, app)
|
||||
|
||||
if d.getVar('INITRD_LIVE'):
|
||||
with open(initrd, 'wb') as dst:
|
||||
for cpio in d.getVar('INITRD_LIVE').split():
|
||||
with open(cpio, 'rb') as src:
|
||||
dst.write(src.read())
|
||||
initrd_cmd = "--add-section .initrd=%s --change-section-vma .initrd=0x3000000 " % initrd
|
||||
else:
|
||||
initrd_cmd = ""
|
||||
|
||||
root = 'root=PARTUUID=%s' % uuid if uuid else ''
|
||||
|
||||
with open(cmdline, 'w') as f:
|
||||
f.write('%s %s' % (d.getVar('APPEND'), root))
|
||||
|
||||
objcopy_cmd = ("objcopy "
|
||||
"--add-section .cmdline=%s --change-section-vma .cmdline=0x30000 "
|
||||
"--add-section .linux=%s --change-section-vma .linux=0x40000 "
|
||||
"%s %s %s") % \
|
||||
(cmdline, linux, initrd_cmd, stub, executable)
|
||||
|
||||
check_call(objcopy_cmd, shell=True)
|
||||
|
||||
python create_uefiapps () {
|
||||
# We must clean up anything that matches the expected output pattern, to ensure that
|
||||
# the next steps do not accidentally use old files.
|
||||
import glob
|
||||
pattern = d.expand('${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi')
|
||||
for old_efi in glob.glob(pattern):
|
||||
os.unlink(old_efi)
|
||||
uuid = d.getVar('DISK_SIGNATURE_UUID')
|
||||
create_uefiapp(d, uuid=uuid)
|
||||
}
|
||||
|
||||
# This is intentionally split into different parts. This way, derived
|
||||
# classes or images can extend the individual parts. We can also use
|
||||
# whatever language (shell script or Python) is more suitable.
|
||||
python do_uefiapp() {
|
||||
bb.build.exec_func('create_uefiapps', d)
|
||||
}
|
||||
|
||||
do_uefiapp[vardeps] += "APPEND DISK_SIGNATURE_UUID INITRD_LIVE KERNEL_IMAGETYPE IMAGE_LINK_NAME"
|
||||
|
||||
uefiapp_deploy_at() {
|
||||
dest=$1
|
||||
for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi; do
|
||||
target=`basename $i`
|
||||
target=`echo $target | sed -e 's/${IMAGE_LINK_NAME}.//'`
|
||||
cp --preserve=timestamps -r $i $dest/$target
|
||||
done
|
||||
}
|
||||
|
||||
fakeroot do_uefiapp_deploy() {
|
||||
rm -rf ${IMAGE_ROOTFS}/boot/*
|
||||
dest=${IMAGE_ROOTFS}/boot/EFI/BOOT
|
||||
mkdir -p $dest
|
||||
uefiapp_deploy_at $dest
|
||||
}
|
||||
|
||||
do_uefiapp_deploy[depends] += "${PN}:do_uefiapp virtual/fakeroot-native:do_populate_sysroot"
|
||||
|
||||
|
||||
# This decides when/how we add our tasks to the image
|
||||
python () {
|
||||
image_fstypes = d.getVar('IMAGE_FSTYPES', True)
|
||||
initramfs_fstypes = d.getVar('INITRAMFS_FSTYPES', True)
|
||||
|
||||
# Don't add any of these tasks to initramfs images
|
||||
if initramfs_fstypes not in image_fstypes:
|
||||
bb.build.addtask('uefiapp', 'do_image', 'do_rootfs', d)
|
||||
bb.build.addtask('uefiapp_deploy', 'do_image', 'do_rootfs', d)
|
||||
}
|
||||
|
||||
SIGN_AFTER ?= "do_uefiapp"
|
||||
SIGN_BEFORE ?= "do_uefiapp_deploy"
|
||||
SIGNING_DIR ?= "${DEPLOY_DIR_IMAGE}"
|
||||
SIGNING_BINARIES ?= "${IMAGE_LINK_NAME}.boot*.efi"
|
||||
inherit uefi-sign
|
||||
|
||||
# Legacy hddimg support below this line
|
||||
efi_hddimg_populate() {
|
||||
uefiapp_deploy_at "$1"
|
||||
}
|
||||
|
||||
build_efi_cfg() {
|
||||
# The command line is built into the combo app, so this is a null op
|
||||
:
|
||||
}
|
||||
|
||||
populate_kernel:append() {
|
||||
# The kernel and initrd are built into the app, so we don't need these
|
||||
if [ -f $dest/initrd ]; then
|
||||
rm $dest/initrd
|
||||
fi
|
||||
if [ -f $dest/vmlinuz ]; then
|
||||
rm $dest/vmlinuz
|
||||
fi
|
||||
}
|
||||
|
||||
IMAGE_FEATURES[validitems] += "secureboot"
|
|
@ -1,50 +0,0 @@
|
|||
# By default, sign all .efi binaries in ${B} after compiling and before deploying
|
||||
SIGNING_DIR ?= "${B}"
|
||||
SIGNING_BINARIES ?= "*.efi"
|
||||
SIGN_AFTER ?= "do_compile"
|
||||
SIGN_BEFORE ?= "do_deploy"
|
||||
|
||||
python () {
|
||||
import os
|
||||
import hashlib
|
||||
|
||||
# Ensure that if the signing key or cert change, we rerun the uefiapp process
|
||||
if bb.utils.contains('IMAGE_FEATURES', 'secureboot', True, False, d):
|
||||
for varname in ('SECURE_BOOT_SIGNING_CERT', 'SECURE_BOOT_SIGNING_KEY'):
|
||||
filename = d.getVar(varname)
|
||||
if filename is None:
|
||||
bb.fatal('%s is not set.' % varname)
|
||||
if not os.path.isfile(filename):
|
||||
bb.fatal('%s=%s is not a file.' % (varname, filename))
|
||||
with open(filename, 'rb') as f:
|
||||
data = f.read()
|
||||
hash = hashlib.sha256(data).hexdigest()
|
||||
d.setVar('%s_HASH' % varname, hash)
|
||||
|
||||
# Must reparse and thus rehash on file changes.
|
||||
bb.parse.mark_dependency(d, filename)
|
||||
|
||||
bb.build.addtask('uefi_sign', d.getVar('SIGN_BEFORE'), d.getVar('SIGN_AFTER'), d)
|
||||
|
||||
# Original binary needs to be regenerated if the hash changes since we overwrite it
|
||||
# SIGN_AFTER isn't necessarily when it gets generated, but its our best guess
|
||||
d.appendVarFlag(d.getVar('SIGN_AFTER'), 'vardeps', 'SECURE_BOOT_SIGNING_CERT_HASH SECURE_BOOT_SIGNING_KEY_HASH')
|
||||
}
|
||||
|
||||
do_uefi_sign() {
|
||||
if [ -f ${SECURE_BOOT_SIGNING_KEY} ] && [ -f ${SECURE_BOOT_SIGNING_CERT} ]; then
|
||||
for i in `find ${SIGNING_DIR}/ -name '${SIGNING_BINARIES}'`; do
|
||||
sbsign --key ${SECURE_BOOT_SIGNING_KEY} --cert ${SECURE_BOOT_SIGNING_CERT} $i
|
||||
sbverify --cert ${SECURE_BOOT_SIGNING_CERT} $i.signed
|
||||
mv $i.signed $i
|
||||
done
|
||||
fi
|
||||
}
|
||||
|
||||
do_uefi_sign[depends] += "sbsigntool-native:do_populate_sysroot"
|
||||
|
||||
do_uefi_sign[vardeps] += "SECURE_BOOT_SIGNING_CERT_HASH \
|
||||
SECURE_BOOT_SIGNING_KEY_HASH \
|
||||
SIGNING_BINARIES SIGNING_DIR \
|
||||
SIGN_BEFORE SIGN_AFTER \
|
||||
"
|
|
@ -13,7 +13,6 @@ RECIPE_MAINTAINER:pn-intel-compute-runtime = "Naveen Saini <naveen.kumar.saini@i
|
|||
RECIPE_MAINTAINER:pn-intel-crypto-mb = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-intel-graphics-compiler = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-intel-media-driver = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-intel-mediasdk = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-intel-microcode = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-intel-vaapi-driver = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-ipmctl = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
|
@ -31,6 +30,7 @@ RECIPE_MAINTAINER:pn-libxcam = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
|||
RECIPE_MAINTAINER:pn-linux-intel = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-linux-intel-rt = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-linux-intel-dev = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-linux-npu-driver = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-lms = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-metee = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-metrics-discovery = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
|
@ -39,17 +39,9 @@ RECIPE_MAINTAINER:pn-onednn = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
|||
RECIPE_MAINTAINER:pn-onedpl = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-onevpl = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-onevpl-intel-gpu = "Yew Chang Ching <chang.ching.yew@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-open-model-zoo = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-opencl-clang = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-openvino-inference-engine = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-openvino-model-optimizer = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-openvkl = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-ospray = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-ovmf-shell-image-enrollkeys = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-rkcommon = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-sbsigntool-native = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-secureboot-selftest-image-signed = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-secureboot-selftest-image-unsigned = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-thermald = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-vc-intrinsics = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-xf86-video-ast = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
|
|
|
@ -19,7 +19,7 @@ LAYERRECOMMENDS_intel = "dpdk"
|
|||
# This should only be incremented on significant changes that will
|
||||
# cause compatibility issues with other layers
|
||||
LAYERVERSION_intel = "5"
|
||||
LAYERSERIES_COMPAT_intel = "kirkstone langdale mickledore"
|
||||
LAYERSERIES_COMPAT_intel = "scarthgap whinlatter"
|
||||
|
||||
BBFILES_DYNAMIC += " \
|
||||
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \
|
||||
|
@ -42,4 +42,4 @@ PREFERRED_PROVIDER_libva-utils ?= "libva-utils"
|
|||
PREFERRED_PROVIDER_libva-utils-native ?= "libva-utils-native"
|
||||
PREFERRED_PROVIDER_nativesdk-libva-utils ?= "nativesdk-libva-utils"
|
||||
|
||||
# addpylib ${LAYERDIR}/lib oeqa
|
||||
addpylib ${LAYERDIR}/lib oeqa
|
||||
|
|
|
@ -7,10 +7,10 @@
|
|||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-intel"
|
||||
PREFERRED_PROVIDER_virtual/kernel:poky-tiny ?= "linux-intel"
|
||||
|
||||
PREFERRED_VERSION_linux-intel ?= "6.1%"
|
||||
PREFERRED_VERSION_linux-intel-rt ?= "5.19%"
|
||||
PREFERRED_VERSION_linux-intel:poky-altcfg ?= "6.2%"
|
||||
PREFERRED_VERSION_linux-intel-rt:poky-altcfg ?= "5.19%"
|
||||
PREFERRED_VERSION_linux-intel ?= "6.12%"
|
||||
PREFERRED_VERSION_linux-intel-rt ?= "6.12%"
|
||||
PREFERRED_VERSION_linux-intel:poky-altcfg ?= "6.12%"
|
||||
PREFERRED_VERSION_linux-intel-rt:poky-altcfg ?= "6.12%"
|
||||
|
||||
# Need to point to latest version of libva needed for media components
|
||||
PREFERRED_PROVIDER_libva = "libva-intel"
|
||||
|
@ -21,10 +21,6 @@ PREFERRED_PROVIDER_libva-utils = "libva-intel-utils"
|
|||
PREFERRED_PROVIDER_libva-utils-native = "libva-intel-utils-native"
|
||||
PREFERRED_PROVIDER_nativesdk-libva-utils = "nativesdk-libva-intel-utils"
|
||||
|
||||
PREFERRED_VERSION_opencl-clang ?= "${@bb.utils.contains('LLVMVERSION', '14.0.3', '14.0.0', '15.0.0', d)}"
|
||||
PREFERRED_VERSION_opencl-clang-native ?= "${@bb.utils.contains('LLVMVERSION', '14.0.3', '14.0.0', '15.0.0', d)}"
|
||||
|
||||
|
||||
XSERVER_X86_ASPEED_AST = "xf86-video-ast \
|
||||
"
|
||||
|
||||
|
|
|
@ -15,5 +15,4 @@ QB_CPU_KVM:intel-skylake-64 = "-cpu Skylake-Client"
|
|||
QB_AUDIO_DRV = "alsa"
|
||||
QB_AUDIO_OPT = "-device AC97"
|
||||
QB_KERNEL_CMDLINE_APPEND = " oprofile.timer=1"
|
||||
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
|
||||
QB_OPT_APPEND = " -usb -usbdevice tablet -device virtio-rng-pci"
|
||||
QB_OPT_APPEND = " -usb -usbdevice tablet "
|
||||
|
|
|
@ -11,7 +11,7 @@ MACHINE_FEATURES += "pcbios efi"
|
|||
MACHINE_FEATURES += "wifi 3g nfc"
|
||||
MACHINE_FEATURES += "intel-ucode"
|
||||
|
||||
MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver intel-mediasdk', d)} gstreamer1.0-vaapi"
|
||||
MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver vpl-gpu-rt', d)} gstreamer1.0-vaapi"
|
||||
|
||||
# Enable optional dpdk:
|
||||
COMPATIBLE_MACHINE:pn-dpdk = "intel-corei7-64"
|
||||
|
|
|
@ -12,7 +12,7 @@ MACHINE_FEATURES += "efi"
|
|||
MACHINE_FEATURES += "wifi 3g nfc"
|
||||
MACHINE_FEATURES += "intel-ucode"
|
||||
|
||||
MACHINE_HWCODECS ?= "intel-media-driver intel-mediasdk gstreamer1.0-vaapi"
|
||||
MACHINE_HWCODECS ?= "intel-media-driver vpl-gpu-rt gstreamer1.0-vaapi"
|
||||
|
||||
COMPATIBLE_MACHINE:pn-dpdk = "intel-skylake-64"
|
||||
COMPATIBLE_MACHINE:pn-dpdk-module = "intel-skylake-64"
|
||||
|
|
134
documentation/building_and_booting.md
Normal file
134
documentation/building_and_booting.md
Normal file
|
@ -0,0 +1,134 @@
|
|||
### Building the Intel BSP layers
|
||||
|
||||
The intel-common BSP provide a few carefully selected tune options and
|
||||
generic hardware support to cover the majority of current Intel CPUs and
|
||||
devices. The naming follows the convention of intel-<TUNE>-<BITS>, where
|
||||
TUNE is the gcc cpu-type (used with mtune and march typically) and BITS
|
||||
is either 32 bit or 64 bit.
|
||||
|
||||
In order to build an image with BSP support for a given release, you
|
||||
need to clone the meta-intel layer from git repository:
|
||||
```
|
||||
git clone https://git.yoctoproject.org/meta-intel
|
||||
```
|
||||
|
||||
Check out the appropriate branch or release tags. The branch name and tags
|
||||
would align with Yocto Project
|
||||
[Release Codenames](https://wiki.yoctoproject.org/wiki/Releases).
|
||||
Assuming meta-intel repository is cloned at the top-level of
|
||||
OE-Core build tree, you can build a BSP image by adding the location of
|
||||
the meta-intel layer to bblayers.conf:
|
||||
```
|
||||
BBLAYERS = " \
|
||||
/openembedded-core/meta \
|
||||
/openembedded-core/meta-intel "
|
||||
```
|
||||
|
||||
To enable a particular machine, add a MACHINE line naming the BSP
|
||||
to the local.conf file:
|
||||
```
|
||||
MACHINE ?= "intel-corei7-64"
|
||||
```
|
||||
|
||||
where this can be replaced by other MACHINE types available:
|
||||
|
||||
- intel-core2-32
|
||||
|
||||
This BSP is optimized for the Core2 family of CPUs as well as all
|
||||
Atom CPUs prior to the Silvermont core.
|
||||
|
||||
- intel-corei7-64
|
||||
|
||||
This BSP is optimized for Nehalem and later Core and Xeon CPUs as
|
||||
well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.
|
||||
|
||||
- intel-skylake-64
|
||||
|
||||
This BSP uses [x86-64-v3 tuning](https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html).
|
||||
|
||||
You should then be able to build an image as such:
|
||||
```
|
||||
$ source oe-init-build-env
|
||||
$ bitbake core-image-sato
|
||||
```
|
||||
|
||||
At the end of a successful build, you should have an image that
|
||||
you can boot from a USB flash drive.
|
||||
|
||||
|
||||
## Booting the intel-common BSP images
|
||||
|
||||
If you've built your own image, you'll find the bootable
|
||||
image in the build/tmp/deploy/images/{MACHINE} directory, where
|
||||
'MACHINE' refers to the machine name used in the build.
|
||||
|
||||
Under Linux, insert a USB flash drive. Assuming the USB flash drive
|
||||
takes device /dev/sdf, use dd to copy the image to it. Before the image
|
||||
can be burned onto a USB drive, it should be un-mounted. Some Linux distros
|
||||
may automatically mount a USB drive when it is plugged in. Using USB device
|
||||
/dev/sdf as an example, find all mounted partitions:
|
||||
```
|
||||
$ mount | grep sdf
|
||||
```
|
||||
|
||||
and un-mount those that are mounted, for example:
|
||||
```
|
||||
$ umount /dev/sdf1
|
||||
$ umount /dev/sdf2
|
||||
```
|
||||
|
||||
Now burn the image onto the USB drive:
|
||||
```
|
||||
$ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress
|
||||
$ sync
|
||||
$ eject /dev/sdf
|
||||
```
|
||||
|
||||
This should give you a bootable USB flash device. Insert the device
|
||||
into a bootable USB socket on the target, and power on. This should
|
||||
result in a system booted to the Sato graphical desktop.
|
||||
|
||||
If you want a terminal, use the arrows at the top of the UI to move to
|
||||
different pages of available applications, one of which is named
|
||||
'Terminal'. Clicking that should give you a root terminal.
|
||||
|
||||
If you want to ssh into the system, you can use the root terminal to
|
||||
ifconfig the IP address and use that to ssh in. The root password is
|
||||
empty, so to log in type 'root' for the user name and hit 'Enter' at
|
||||
the Password prompt: and you should be in.
|
||||
|
||||
If you find you're getting corrupt images on the USB (it doesn't show
|
||||
the syslinux boot: prompt, or the boot: prompt contains strange
|
||||
characters), try doing this first:
|
||||
```
|
||||
$ dd if=/dev/zero of=/dev/sdf bs=1M count=512
|
||||
```
|
||||
|
||||
## Building the installer image
|
||||
|
||||
If you plan to install your image to your target machine, you can build a wic
|
||||
based installer image instead of default wic image. To build it, you need to
|
||||
add below configuration to local.conf :
|
||||
|
||||
```
|
||||
WKS_FILE = "image-installer.wks.in"
|
||||
IMAGE_FSTYPES:append = " ext4"
|
||||
IMAGE_TYPEDEP:wic = "ext4"
|
||||
INITRD_IMAGE_LIVE="core-image-minimal-initramfs"
|
||||
do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
|
||||
do_rootfs[depends] += "virtual/kernel:do_deploy"
|
||||
IMAGE_BOOT_FILES:append = "\
|
||||
${KERNEL_IMAGETYPE} \
|
||||
microcode.cpio \
|
||||
${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.rootfs.ext4;rootfs.img \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \
|
||||
${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} "
|
||||
```
|
||||
|
||||
Burn the wic image onto USB flash device, insert the device to target machine
|
||||
and power on. This should start the installation process.
|
||||
|
||||
|
92
documentation/openvino.md
Normal file
92
documentation/openvino.md
Normal file
|
@ -0,0 +1,92 @@
|
|||
Build a Yocto Image with OpenVINO™ toolkit
|
||||
==========================================
|
||||
|
||||
Follow the [Yocto Project official documentation](https://docs.yoctoproject.org/brief-yoctoprojectqs/index.html#compatible-linux-distribution) to set up and configure your host machine to be compatible with BitBake.
|
||||
|
||||
## Step 1: Set Up Environment
|
||||
|
||||
1. Clone the repositories.
|
||||
|
||||
```
|
||||
git clone https://git.yoctoproject.org/git/poky
|
||||
git clone https://github.com/openembedded/meta-openembedded
|
||||
git clone https://git.yoctoproject.org/git/meta-intel
|
||||
git clone https://github.com/intel/meta-openvino
|
||||
```
|
||||
|
||||
|
||||
2. Set up the OpenEmbedded build environment.
|
||||
|
||||
```
|
||||
source poky/oe-init-build-env
|
||||
|
||||
```
|
||||
|
||||
|
||||
|
||||
3. Add BitBake layers.
|
||||
|
||||
|
||||
```
|
||||
bitbake-layers add-layer ../meta-openembedded/meta-oe
|
||||
bitbake-layers add-layer ../meta-openembedded/meta-python
|
||||
bitbake-layers add-layer ../meta-intel
|
||||
bitbake-layers add-layer ../meta-openvino
|
||||
|
||||
```
|
||||
|
||||
|
||||
4. Set up BitBake configurations.
|
||||
Include extra configuration in the `conf/local.conf` file in your build directory as required.
|
||||
|
||||
|
||||
```
|
||||
MACHINE = "intel-skylake-64"
|
||||
|
||||
# Enable building OpenVINO Python API.
|
||||
# This requires meta-python layer to be included in bblayers.conf.
|
||||
PACKAGECONFIG:append:pn-openvino-inference-engine = " python3"
|
||||
|
||||
# This adds OpenVINO related libraries in the target image.
|
||||
CORE_IMAGE_EXTRA_INSTALL:append = " openvino-inference-engine"
|
||||
|
||||
# This adds OpenVINO samples in the target image.
|
||||
CORE_IMAGE_EXTRA_INSTALL:append = " openvino-inference-engine-samples"
|
||||
|
||||
# Include OpenVINO Python API package in the target image.
|
||||
CORE_IMAGE_EXTRA_INSTALL:append = " openvino-inference-engine-python3"
|
||||
|
||||
```
|
||||
|
||||
## Step 2: Build a Yocto Image with OpenVINO Packages
|
||||
|
||||
Run BitBake to build your image with OpenVINO packages. For example, to build the minimal image, run the following command:
|
||||
|
||||
|
||||
```
|
||||
bitbake core-image-minimal
|
||||
|
||||
```
|
||||
|
||||
## Step 3: Verify the Yocto Image
|
||||
|
||||
Verify that OpenVINO packages were built successfully. Run the following command:
|
||||
|
||||
```
|
||||
oe-pkgdata-util list-pkgs | grep openvino
|
||||
|
||||
```
|
||||
|
||||
|
||||
If the image build is successful, it will return the list of packages as below:
|
||||
|
||||
```
|
||||
openvino-inference-engine
|
||||
openvino-inference-engine-dbg
|
||||
openvino-inference-engine-dev
|
||||
openvino-inference-engine-python3
|
||||
openvino-inference-engine-samples
|
||||
openvino-inference-engine-src
|
||||
openvino-inference-engine-doc
|
||||
|
||||
```
|
22
documentation/reporting_bugs.md
Normal file
22
documentation/reporting_bugs.md
Normal file
|
@ -0,0 +1,22 @@
|
|||
## Reporting bugs
|
||||
|
||||
If you have problems with or questions about a particular BSP, please
|
||||
contact the maintainer listed in the [Maintainer](../README.md#maintainers) section directly (cc:ing
|
||||
the Yocto mailing list puts it in the archive and helps other people
|
||||
who might have the same questions in the future), but please try to do
|
||||
the following first:
|
||||
|
||||
- look in the [Yocto Project Bugzilla](http://bugzilla.yoctoproject.org/) to see if a
|
||||
problem has already been reported
|
||||
|
||||
- look through recent entries of the [meta-intel](https://lists.yoctoproject.org/g/meta-intel/messages)
|
||||
and [Yocto Archives](https://lists.yoctoproject.org/g/yocto/messages) mailing list archives to see
|
||||
if other people have run into similar problems or had similar questions answered.
|
||||
|
||||
If you believe you have encountered a bug, you can open a new bug and
|
||||
enter the details in the [Yocto Project Bugzilla](https://bugzilla.yoctoproject.org/).
|
||||
If you're relatively certain that it's a bug against the BSP itself, please use the
|
||||
'BSPs | bsps-meta-intel' category for the bug; otherwise, please submit the bug against
|
||||
the most likely category for the problem. if you're wrong, it's not a big deal and
|
||||
the bug will be recategorized upon triage.
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
Currently, only one implementation of Secure Boot is available out of the box,
|
||||
which is using a single signed EFI application to directly boot the kernel with
|
||||
an optional initramfs.
|
||||
|
||||
This can be added to your build either through local.conf, or via your own
|
||||
custom image recipe.
|
||||
|
||||
If you are adding it via local.conf, set the following variables:
|
||||
|
||||
IMAGE_FEATURES += "secureboot"
|
||||
WKS_FILE = "generic-bootdisk.wks.in"
|
||||
SECURE_BOOT_SIGNING_KEY = "/path/to/your/signing/key"
|
||||
SECURE_BOOT_SIGNING_CERT = "/path/to/your/signing/cert"
|
||||
IMAGE_CLASSES += "uefi-comboapp"
|
||||
|
||||
If working with an image recipe, you can inherit uefi-comboapp directly instead
|
||||
of using the IMAGE_CLASSES variable.
|
||||
|
||||
The signing keys and certs can be created via openssl commands. Here's an
|
||||
example:
|
||||
openssl req -new -x509 -newkey rsa:2048 -subj "/CN=your-subject/" -keyout \
|
||||
your-key.key -out your-key.crt -days 365 -nodes -sha256
|
||||
openssl x509 -in your-key.crt -out your-key.cer -outform DER
|
||||
|
||||
The .crt file is your SECURE_BOOT_SIGNING_CERT, and the .key file is your
|
||||
SECURE_BOOT_SIGNING_KEY.
|
||||
|
||||
You should enroll the .crt key in your firmware under the PK, KEK, and DB
|
||||
options (methods are different depending on your firmware). If a key should ever
|
||||
become invalid, enroll it under DBX to blacklist it.
|
||||
|
||||
The comboapp can be further manipulated in a number of ways. You can modify the
|
||||
kernel command line via the APPEND variable, you can change the default UUID via
|
||||
the DISK_SIGNATURE_UUID variable, and you can modify the contents of the
|
||||
initramfs via the INITRD_IMAGE or INITRD_LIVE variables.
|
||||
|
||||
A simple Secure Boot enabled image used for testing can be viewed at:
|
||||
common/recipes-selftest/images/secureboot-selftest-image-signed.bb
|
26
documentation/submitting_patches.md
Normal file
26
documentation/submitting_patches.md
Normal file
|
@ -0,0 +1,26 @@
|
|||
## Guidelines for submitting patches
|
||||
|
||||
Please submit any patches against meta-intel BSPs to the
|
||||
[meta-intel mailing list](https://lists.yoctoproject.org/g/meta-intel)
|
||||
(email: meta-intel@lists.yoctoproject.org). Also, if your patches are
|
||||
available via a public git repository, please also include a URL to
|
||||
the repo and branch containing your patches as that makes it easier
|
||||
for maintainers to grab and test your patches.
|
||||
|
||||
The patches should follow the suggestions outlined in the
|
||||
[Yocto Project and OpenEmbedded Contributor Guide](https://docs.yoctoproject.org/dev/contributor-guide/index.html).
|
||||
In addition, for any non-trivial patch, provide information about how you
|
||||
tested the patch, and for any non-trivial or non-obvious testing
|
||||
setup, provide details of that setup.
|
||||
|
||||
Doing a quick 'git log' in meta-intel will provide you with many
|
||||
examples of good example commits if you have questions about any
|
||||
aspect of the preferred format.
|
||||
|
||||
The meta-intel maintainers will do their best to review and/or pull in
|
||||
a patch or patch sets within 24 hours of the time it was posted. For
|
||||
larger and/or more involved patches and patch sets, the review process
|
||||
may take longer.
|
||||
|
||||
Please see the [maintainers](../README.md#maintainers) section for the list of maintainers. It's also
|
||||
a good idea to cc: the maintainer, if applicable.
|
21
documentation/tested_hardware.md
Normal file
21
documentation/tested_hardware.md
Normal file
|
@ -0,0 +1,21 @@
|
|||
## Tested Hardware
|
||||
|
||||
The following undergo regular testing with their respective MACHINE types:
|
||||
|
||||
- intel-corei7-64:
|
||||
* Alder Lake-P/S/PS
|
||||
* Amston Lake
|
||||
* Elkhart Lake
|
||||
* Metor Lake-P
|
||||
* Raptor Lake-P/S
|
||||
* Tiger Lake
|
||||
|
||||
- intel-skylake-64:
|
||||
* Alder Lake-P/S/PS
|
||||
* Amston Lake
|
||||
* Metor Lake-P
|
||||
* Raptor Lake-P/S
|
||||
* Tiger Lake
|
||||
|
||||
- intel-core2-32:
|
||||
* MinnowBoard Turbot
|
|
@ -3,7 +3,7 @@ SUMMARY = "Deep Neural Network Library"
|
|||
DESCRIPTION = "This software is a user mode library that accelerates\
|
||||
deep-learning applications and frameworks on Intel architecture."
|
||||
LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \
|
||||
file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
|
||||
file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \
|
||||
file://src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \
|
||||
|
@ -12,9 +12,10 @@ SECTION = "lib"
|
|||
|
||||
inherit pkgconfig cmake ptest
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "928065bd62372d2824900a86c5438bba407c98d1"
|
||||
SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=rls-v3.1;protocol=https \
|
||||
DNN_BRANCH = "rls-v${@'.'.join(d.getVar('PV').split('.')[0:2])}"
|
||||
|
||||
SRCREV = "66f0cb9eb66affd2da3bf5f8d897376f04aae6af"
|
||||
SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
From 51d248d3b470f3fa1cf2ed3f5742851091acb65f Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Fri, 12 May 2023 09:10:11 +0800
|
||||
Subject: [PATCH] CMakeLists.txt: allow to pick llvm-config from
|
||||
usr/bin/crossscripts/
|
||||
|
||||
ispc needs to invoke native llvm-config from target sysroot to list LLVM
|
||||
lib libraries. clang already provides crossscripts/llvm-config, which does
|
||||
the job.
|
||||
|
||||
However, using LLVM_TOOLS_BINARY_DIR leads to wrong llvm-config being
|
||||
used. So remove it from search path for llvm-config.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
cmake/FindLLVM.cmake | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/cmake/FindLLVM.cmake b/cmake/FindLLVM.cmake
|
||||
index d0297d5d..90d9fed2 100644
|
||||
--- a/cmake/FindLLVM.cmake
|
||||
+++ b/cmake/FindLLVM.cmake
|
||||
@@ -41,8 +41,7 @@ find_package(LLVM REQUIRED CONFIG)
|
||||
set(LLVM_VERSION "LLVM_${LLVM_VERSION_MAJOR}_${LLVM_VERSION_MINOR}")
|
||||
message(STATUS "Found LLVM ${LLVM_VERSION}")
|
||||
|
||||
-find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config
|
||||
- PATHS ${LLVM_TOOLS_BINARY_DIR} PATH_SUFFIXES bin NO_DEFAULT_PATH)
|
||||
+find_program(LLVM_CONFIG_EXECUTABLE NAMES llvm-config)
|
||||
if (NOT LLVM_CONFIG_EXECUTABLE)
|
||||
message(FATAL_ERROR "Failed to find llvm-config")
|
||||
endif()
|
||||
--
|
||||
2.37.3
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
From 0445d97c8ad66c9cbb2c6f88c52aadc0b01a1f15 Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Tue, 11 Oct 2022 16:43:22 +0800
|
||||
Subject: [PATCH] CMakeLists.txt: link with libclang-cpp library instead
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index f6199704..f979f1c1 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -288,7 +288,7 @@ if (WASM_ENABLED)
|
||||
list(APPEND ISPC_TARGETS wasm-i32x4)
|
||||
endif()
|
||||
|
||||
-set(CLANG_LIBRARY_LIST clangFrontend clangDriver clangSerialization clangParse clangSema clangAnalysis clangAST clangBasic clangEdit clangLex)
|
||||
+set(CLANG_LIBRARY_LIST clang-cpp)
|
||||
if (${LLVM_VERSION_NUMBER} VERSION_GREATER_EQUAL "15.0.0")
|
||||
list(APPEND CLANG_LIBRARY_LIST clangSupport)
|
||||
endif()
|
||||
--
|
||||
2.37.3
|
||||
|
|
@ -1,34 +1,34 @@
|
|||
From 0521d87f3f2cc1ceab89e72e1015d195cb9d17f0 Mon Sep 17 00:00:00 2001
|
||||
From 8c330d0cb5167612296801f0202b0de35e9ca88d Mon Sep 17 00:00:00 2001
|
||||
From: Dongwon Kim <dongwon.kim@intel.com>
|
||||
Date: Sat, 21 Aug 2021 16:09:39 -0700
|
||||
Subject: [PATCH] Build not able to locate cpp_generation_tool.
|
||||
Subject: [PATCH 2/5] Build not able to locate cpp_generation_tool.
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
|
||||
---
|
||||
shared/source/built_ins/kernels/CMakeLists.txt | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
shared/source/built_ins/kernels/CMakeLists.txt | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt
|
||||
index 8ac6faf4d6..031e128149 100644
|
||||
--- a/shared/source/built_ins/kernels/CMakeLists.txt
|
||||
+++ b/shared/source/built_ins/kernels/CMakeLists.txt
|
||||
@@ -81,9 +81,9 @@ function(compile_builtin core_type platform_type builtin bits builtin_options mo
|
||||
)
|
||||
Index: git/shared/source/built_ins/kernels/CMakeLists.txt
|
||||
===================================================================
|
||||
--- git.orig/shared/source/built_ins/kernels/CMakeLists.txt
|
||||
+++ git/shared/source/built_ins/kernels/CMakeLists.txt
|
||||
@@ -122,9 +122,9 @@ function(compile_builtin core_type platf
|
||||
endif()
|
||||
add_custom_command(
|
||||
OUTPUT ${OUTPUT_FILE_CPP}
|
||||
- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${platform_it_lower} --revision_id ${REVISION_ID}
|
||||
+ COMMAND cpp_generate_tool --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${platform_it_lower} --revision_id ${REVISION_ID}
|
||||
- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME}
|
||||
+ COMMAND cpp_generate_tool --file ${BINARY_OUTPUT}.bin --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --device ${RELEASE_FILENAME}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
- DEPENDS ${OUTPUT_FILES_BINARIES} $<TARGET_FILE:cpp_generate_tool>
|
||||
+ DEPENDS ${OUTPUT_FILES_BINARIES} cpp_generate_tool
|
||||
)
|
||||
list(APPEND BUILTINS_COMMANDS "${OUTPUT_FILE_CPP}")
|
||||
else()
|
||||
@@ -134,9 +134,9 @@ function(generate_cpp_spirv builtin)
|
||||
)
|
||||
@@ -176,9 +176,9 @@ function(generate_cpp_spirv builtin)
|
||||
endif()
|
||||
add_custom_command(
|
||||
OUTPUT ${OUTPUT_FILE_CPP}
|
||||
- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME}
|
||||
|
@ -39,6 +39,3 @@ index 8ac6faf4d6..031e128149 100644
|
|||
)
|
||||
set(OUTPUT_LIST_CPP_FILES ${OUTPUT_LIST_CPP_FILES} ${OUTPUT_FILE_CPP} PARENT_SCOPE)
|
||||
else()
|
||||
--
|
||||
2.37.3
|
||||
|
|
@ -1,7 +1,7 @@
|
|||
From 1f58c22992ddea4167b01b44448528de427f50d5 Mon Sep 17 00:00:00 2001
|
||||
From 0006db5f55a9f08bd3452558a53704cd3bbb790f Mon Sep 17 00:00:00 2001
|
||||
From: Dongwon Kim <dongwon.kim@intel.com>
|
||||
Date: Wed, 2 Mar 2022 15:52:45 -0800
|
||||
Subject: [PATCH] external ocloc
|
||||
Subject: [PATCH 3/5] external ocloc
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
|
@ -10,11 +10,11 @@ Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
|
|||
cmake/ocloc_cmd_prefix.cmake | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
diff --git a/cmake/ocloc_cmd_prefix.cmake b/cmake/ocloc_cmd_prefix.cmake
|
||||
index 2b44330831..03067c9df0 100644
|
||||
--- a/cmake/ocloc_cmd_prefix.cmake
|
||||
+++ b/cmake/ocloc_cmd_prefix.cmake
|
||||
@@ -4,12 +4,14 @@
|
||||
Index: git/cmake/ocloc_cmd_prefix.cmake
|
||||
===================================================================
|
||||
--- git.orig/cmake/ocloc_cmd_prefix.cmake
|
||||
+++ git/cmake/ocloc_cmd_prefix.cmake
|
||||
@@ -4,13 +4,15 @@
|
||||
# SPDX-License-Identifier: MIT
|
||||
#
|
||||
|
||||
|
@ -35,6 +35,4 @@ index 2b44330831..03067c9df0 100644
|
|||
+ endif()
|
||||
endif()
|
||||
endif()
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
|
@ -4,27 +4,22 @@ is an open source project to converge Intel's development efforts \
|
|||
on OpenCL(TM) compute stacks supporting the GEN graphics hardware \
|
||||
architecture."
|
||||
|
||||
LICENSE = "MIT"
|
||||
LICENSE = "MIT & Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eca6ec6997e18db166db7109cdbe611c \
|
||||
file://third_party/opencl_headers/LICENSE;md5=dcefc90f4c3c689ec0c2489064e7273b"
|
||||
file://third_party/opencl_headers/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=releases/23.09 \
|
||||
"
|
||||
SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https;branch=releases/25.13 \
|
||||
file://0002-Build-not-able-to-locate-cpp_generation_tool.patch \
|
||||
file://0003-external-ocloc.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:class-target = "file://allow-to-find-cpp-generation-tool.patch \
|
||||
file://external-ocloc.patch \
|
||||
"
|
||||
SRCREV = "a9961bdfaa07250fd52ff930bf8f31fb4e3b7799"
|
||||
|
||||
SRCREV = "d26a2d106c2f0973cdf9fd8c91ba35a377988c1e"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
DEPENDS += " intel-graphics-compiler gmmlib"
|
||||
DEPENDS:append:class-target = " intel-compute-runtime-native libva"
|
||||
DEPENDS += " intel-graphics-compiler gmmlib libva qemu-native"
|
||||
|
||||
RDEPENDS:${PN} += " intel-graphics-compiler gmmlib"
|
||||
|
||||
inherit cmake pkgconfig
|
||||
inherit cmake pkgconfig qemu
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
@ -40,14 +35,20 @@ EXTRA_OECMAKE = " \
|
|||
|
||||
EXTRA_OECMAKE:append:class-target = " \
|
||||
-Docloc_cmd_prefix=ocloc \
|
||||
"
|
||||
-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= ""
|
||||
PACKAGECONFIG[levelzero] = "-DBUILD_WITH_L0=ON, -DBUILD_WITH_L0=OFF, level-zero"
|
||||
|
||||
do_install:append:class-native() {
|
||||
install -d ${D}${bindir}
|
||||
install ${B}/bin/cpp_generate_tool ${D}${bindir}/
|
||||
do_configure:prepend:class-target () {
|
||||
# Write out a qemu wrapper that will be used by cmake.
|
||||
qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${B}/bin'),d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
|
||||
cat > ${WORKDIR}/qemuwrapper << EOF
|
||||
#!/bin/sh
|
||||
$qemu_binary "\$@"
|
||||
EOF
|
||||
chmod +x ${WORKDIR}/qemuwrapper
|
||||
}
|
||||
|
||||
FILES:${PN} += " \
|
||||
|
@ -57,6 +58,4 @@ FILES:${PN} += " \
|
|||
|
||||
FILES:${PN}-dev = "${includedir}"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
|
|
@ -1,4 +1,4 @@
|
|||
From 9abd198b13d4764ee2e34b385ac20fc11a56d8f3 Mon Sep 17 00:00:00 2001
|
||||
From 1b98a931c3bf8daccc48cd618335ff35e3d382da Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Tue, 12 Oct 2021 23:46:42 +0800
|
||||
Subject: [PATCH] BiF/CMakeLists.txt: remove opt from DEPENDS
|
||||
|
@ -13,21 +13,20 @@ using prebuilt binaries.
|
|||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
|
||||
---
|
||||
IGC/VectorCompiler/lib/BiF/CMakeLists.txt | 2 +-
|
||||
IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
||||
index c439f334a..756cc84c3 100644
|
||||
--- a/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
||||
+++ b/IGC/VectorCompiler/lib/BiF/CMakeLists.txt
|
||||
@@ -112,7 +112,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE)
|
||||
add_custom_command(OUTPUT ${BIF_OPT_BC_PATH}
|
||||
COMMAND ${LLVM_OPT_EXE} ${IGC_LLVM_DEPENDENT_OPT_FLAGS} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME}
|
||||
COMMENT "vc_build_bif: running opt with O2: ${BIF_CMCL_BC_NAME} -> ${BIF_OPT_BC_NAME}"
|
||||
- DEPENDS opt ${BIF_CMCL_BC_PATH})
|
||||
+ DEPENDS ${BIF_CMCL_BC_PATH})
|
||||
set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE)
|
||||
endfunction()
|
||||
Index: git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
|
||||
===================================================================
|
||||
--- git.orig/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
|
||||
+++ git/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake
|
||||
@@ -121,7 +121,7 @@ function(vc_build_bif RES_FILE CMCL_SRC_
|
||||
COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}"
|
||||
COMMAND CMCLTranslatorTool ${OPT_OPAQUE_ARG} -o ${BIF_CMCL_BC_PATH} ${BIF_CLANG_BC_PATH_FINAL}
|
||||
COMMAND ${LLVM_OPT_EXE} ${OPT_OPAQUE_ARG} --O2 -o ${BIF_OPT_BC_PATH} ${BIF_CMCL_BC_PATH}
|
||||
- DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${OPT_BC_DEPENDS})
|
||||
+ DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL})
|
||||
|
||||
add_custom_target(${TARGET_NAME}
|
||||
DEPENDS ${BIF_OPT_BC_PATH}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
From 048512728eea53b3772a3f80ac9743bfc462487e Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Thu, 2 Jan 2025 15:59:27 +0530
|
||||
Subject: [PATCH] Build not able to locate BiFManager-bin
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
---
|
||||
IGC/BiFModule/CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
Index: git/IGC/BiFModule/CMakeLists.txt
|
||||
===================================================================
|
||||
--- git.orig/IGC/BiFModule/CMakeLists.txt
|
||||
+++ git/IGC/BiFModule/CMakeLists.txt
|
||||
@@ -655,8 +655,8 @@ set(IGC_BUILD__PROJ__BiFModuleCache_OCL
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc"
|
||||
- COMMAND $<TARGET_FILE:BiFManager-bin> "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h"
|
||||
- DEPENDS "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc"$<TARGET_FILE:BiFManager-bin>
|
||||
+ COMMAND BiFManager-bin "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bifbc" "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.h"
|
||||
+ DEPENDS "${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_32.bc" "${IGC_BUILD__BIF_DIR}/IGCsize_t_64.bc" BiFManager-bin
|
||||
COMMENT "BiF: ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc: Spliting output .bc."
|
||||
COMMAND_EXPAND_LISTS
|
||||
)
|
|
@ -1,4 +1,4 @@
|
|||
From e69a3181482e5f442756a61c7b683914072884f1 Mon Sep 17 00:00:00 2001
|
||||
From 251e2854dd206ebf66e5908d3277e4585fe2a63b Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Mon, 9 Jan 2023 11:43:05 +0800
|
||||
Subject: [PATCH] external/SPIRV-Tools: change path to tools and headers
|
||||
|
@ -9,16 +9,15 @@ file path substitutions take place.
|
|||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
|
||||
---
|
||||
external/SPIRV-Tools/CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt
|
||||
index 9afa5746c..7ca24d5dc 100644
|
||||
--- a/external/SPIRV-Tools/CMakeLists.txt
|
||||
+++ b/external/SPIRV-Tools/CMakeLists.txt
|
||||
@@ -43,8 +43,8 @@ else() #By default use build from sources
|
||||
Index: git/external/SPIRV-Tools/CMakeLists.txt
|
||||
===================================================================
|
||||
--- git.orig/external/SPIRV-Tools/CMakeLists.txt
|
||||
+++ git/external/SPIRV-Tools/CMakeLists.txt
|
||||
@@ -45,8 +45,8 @@ else() #By default use build from source
|
||||
message(STATUS "[SPIRV-Tools] : Building from source")
|
||||
message(STATUS "[SPIRV-Tools] : Current source dir: ${CMAKE_CURRENT_SOURCE_DIR}")
|
||||
|
||||
|
|
|
@ -1,19 +1,18 @@
|
|||
From 5648568e597acd0fed82aac3e6aef0f95a1b78d1 Mon Sep 17 00:00:00 2001
|
||||
From 1641dc87b2ed6b6b87b2cef824e4d66da65b0b30 Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Thu, 19 May 2022 22:50:09 +0800
|
||||
Subject: [PATCH] fix tblgen
|
||||
|
||||
Upstream-Status: Inappropriate [OE specific]
|
||||
|
||||
---
|
||||
IGC/cmake/igc_llvm.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake
|
||||
index 10322533c..9020cb3c8 100644
|
||||
index b708cc904..fe4668890 100644
|
||||
--- a/IGC/cmake/igc_llvm.cmake
|
||||
+++ b/IGC/cmake/igc_llvm.cmake
|
||||
@@ -52,7 +52,7 @@ else()
|
||||
@@ -53,7 +53,7 @@ else()
|
||||
set(LLVM_OPT_EXE "opt" CACHE STRING "")
|
||||
|
||||
set(LLVM_TABLEGEN_EXE "llvm-tblgen")
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
From 0559332abd04b6c8bc70171d201f43d2e4735336 Mon Sep 17 00:00:00 2001
|
||||
From ca136c04d4ac60e3febc8ea2b9c4d4736365a424 Mon Sep 17 00:00:00 2001
|
||||
From: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||
Date: Wed, 2 Sep 2020 08:28:35 +0800
|
||||
Subject: [PATCH] Improve Reproducibility for src package
|
||||
|
@ -9,16 +9,15 @@ this only works on bison 3.7 onward, hence check for bison version
|
|||
before adding the flags.
|
||||
Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream]
|
||||
Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
|
||||
|
||||
---
|
||||
visa/CMakeLists.txt | 7 +++++--
|
||||
1 file changed, 5 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
|
||||
index 6be467587..930c386a6 100644
|
||||
--- a/visa/CMakeLists.txt
|
||||
+++ b/visa/CMakeLists.txt
|
||||
@@ -123,8 +123,11 @@ endif()
|
||||
Index: git/visa/CMakeLists.txt
|
||||
===================================================================
|
||||
--- git.orig/visa/CMakeLists.txt
|
||||
+++ git/visa/CMakeLists.txt
|
||||
@@ -135,8 +135,11 @@ endif()
|
||||
set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp)
|
||||
set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp)
|
||||
|
||||
|
|
|
@ -6,40 +6,40 @@ hardware architecture."
|
|||
LICENSE = "MIT & Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \
|
||||
file://LICENSE.md;md5=488d74376edf2765f6e78d271543dde3 \
|
||||
file://NOTICES.txt;md5=7f4fbc3eb2c34807465e63b1ec3c9d1a"
|
||||
file://NOTICES.txt;md5=b81a52411c84df3419f20bad4d755880"
|
||||
|
||||
SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.13463 \
|
||||
git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \
|
||||
git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \
|
||||
git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \
|
||||
SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/2.10.x \
|
||||
git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/vc-intrinsics;name=vc;nobranch=1 \
|
||||
git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/SPIRV-Tools;name=spirv-tools;branch=main \
|
||||
git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/SPIRV-Headers;name=spirv-headers;branch=main \
|
||||
file://0003-Improve-Reproducibility-for-src-package.patch \
|
||||
file://0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch \
|
||||
file://0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch \
|
||||
file://0001-Build-not-able-to-locate-BiFManager-bin.patch \
|
||||
"
|
||||
|
||||
SRC_URI:append:class-native = " file://0001-fix-tblgen.patch"
|
||||
|
||||
SRCREV_igc = "0efd329d2def513556b06f3138fec3766087c6da"
|
||||
SRCREV_vc = "dd72efa3b4aafdbbf599e6f3c6f8c55450e348de"
|
||||
SRCREV_spirv-tools = "44d72a9b36702f093dd20815561a56778b2d181e"
|
||||
SRCREV_spirv-headers = "1feaf4414eb2b353764d01d88f8aa4bcc67b60db"
|
||||
SRCREV_igc = "83925314d4fc32b017fcbfcd73e0667ba833fb8f"
|
||||
SRCREV_vc = "9d255266e1df8f1dc5d11e1fbb03213acfaa4fc7"
|
||||
SRCREV_spirv-tools = "f289d047f49fb60488301ec62bafab85573668cc"
|
||||
SRCREV_spirv-headers = "0e710677989b4326ac974fd80c5308191ed80965"
|
||||
|
||||
SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers"
|
||||
|
||||
# Used to replace with relative path in reproducibility patch
|
||||
export B
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake pkgconfig
|
||||
inherit cmake pkgconfig qemu python3native
|
||||
|
||||
CXXFLAGS:append = " -Wno-error=nonnull"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
DEPENDS += " flex-native bison-native clang opencl-clang"
|
||||
DEPENDS:append:class-target = " clang-cross-x86_64 intel-graphics-compiler-native"
|
||||
DEPENDS += " flex-native bison-native clang clang-cross-x86_64 opencl-clang qemu-native python3-mako-native \
|
||||
python3-pyyaml-native \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} += "opencl-clang"
|
||||
|
||||
|
@ -48,29 +48,29 @@ PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV
|
|||
|
||||
EXTRA_OECMAKE = " \
|
||||
-DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \
|
||||
-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 \
|
||||
-DVC_INTRINSICS_SRC="${S}/vc-intrinsics" \
|
||||
-DIGC_OPTION__LLVM_MODE=Prebuilds \
|
||||
-DLLVM_TABLEGEN=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
|
||||
-DLLVM_LINK_EXE=${STAGING_BINDIR_NATIVE}/llvm-link \
|
||||
-DCLANG_EXE=${STAGING_BINDIR_NATIVE}/clang \
|
||||
-DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \
|
||||
"
|
||||
|
||||
do_install:append:class-native () {
|
||||
install -d ${D}${bindir}
|
||||
install ${B}/IGC/Release/elf_packager ${D}${bindir}/
|
||||
if ${@bb.utils.contains('PACKAGECONFIG', 'vc', 'true', 'false', d)}; then
|
||||
install ${B}/IGC/Release/CMCLTranslatorTool ${D}${bindir}/
|
||||
install ${B}/IGC/Release/vcb ${D}${bindir}/
|
||||
fi
|
||||
do_configure:prepend:class-target () {
|
||||
# Write out a qemu wrapper that will be used by cmake.
|
||||
qemu_binary="${@qemu_wrapper_cmdline(d, d.getVar('STAGING_DIR_HOST'), [d.expand('${STAGING_DIR_HOST}${libdir}'),d.expand('${STAGING_DIR_HOST}${base_libdir}')])}"
|
||||
cat > ${WORKDIR}/qemuwrapper << EOF
|
||||
#!/bin/sh
|
||||
$qemu_binary "\$@"
|
||||
EOF
|
||||
chmod +x ${WORKDIR}/qemuwrapper
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$"
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${libdir}/igc/NOTICES.txt \
|
||||
${libdir}/igc2/NOTICES.txt \
|
||||
"
|
||||
|
||||
# libigc.so contains buildpaths
|
|
@ -0,0 +1,49 @@
|
|||
From 5aea653e611b59c70e529a1bd71885a509831557 Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Tue, 1 Aug 2023 11:15:31 +0800
|
||||
Subject: [PATCH] cl_headers/CMakeLists.txt: use clang from native sysroot
|
||||
|
||||
Allow clang to be found in target sysroot for target builds and dont try
|
||||
to compile cross binaries, we do that ourselves.
|
||||
|
||||
Upstream-Status: Inappropriate [oe-specific]
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
CMakeLists.txt | 8 ++++----
|
||||
cl_headers/CMakeLists.txt | 2 +-
|
||||
2 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 5864009..60ba39e 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -35,10 +35,10 @@ set(CMAKE_MODULE_PATH
|
||||
|
||||
include(CMakeFunctions)
|
||||
|
||||
-if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
|
||||
- include(CrossCompile)
|
||||
- llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
|
||||
-endif()
|
||||
+#if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
|
||||
+# include(CrossCompile)
|
||||
+# llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
|
||||
+#endif()
|
||||
|
||||
if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
|
||||
set(USE_PREBUILT_LLVM ON)
|
||||
diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
|
||||
index 16cabb7..4423536 100644
|
||||
--- a/cl_headers/CMakeLists.txt
|
||||
+++ b/cl_headers/CMakeLists.txt
|
||||
@@ -1,6 +1,6 @@
|
||||
set(CL_HEADERS_LIB cl_headers)
|
||||
if(USE_PREBUILT_LLVM)
|
||||
- find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH)
|
||||
+ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR})
|
||||
else()
|
||||
set(CLANG_COMMAND $<TARGET_FILE:clang>)
|
||||
endif()
|
||||
--
|
||||
2.37.3
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
From f3ef79a6301bab0b3a447f07ceb94c39a95009df Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Thu, 2 Apr 2020 08:59:20 +0800
|
||||
Subject: [PATCH] don't redefine LLVM_TABLEGEN_EXE
|
||||
|
||||
Use the value that has been passed by the user.
|
||||
|
||||
Upstream-Status: Submitted
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
CMakeLists.txt | 5 ++++-
|
||||
1 file changed, 4 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 6893e97..941b0ae 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -137,7 +137,10 @@ endif(NOT USE_PREBUILT_LLVM)
|
||||
set (COMPILE_OPTIONS_TD opencl_clang_options.td)
|
||||
set (COMPILE_OPTIONS_INC opencl_clang_options.inc)
|
||||
|
||||
-set(LLVM_TABLEGEN_EXE "llvm-tblgen")
|
||||
+if(NOT DEFINED LLVM_TABLEGEN_EXE)
|
||||
+ set(LLVM_TABLEGEN_EXE "llvm-tblgen")
|
||||
+endif()
|
||||
+
|
||||
set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD})
|
||||
if(USE_PREBUILT_LLVM)
|
||||
set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS})
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -0,0 +1,60 @@
|
|||
From 43c806ef321b1f677a49d28c89fb7ffecf539c2d Mon Sep 17 00:00:00 2001
|
||||
From: Tim Creech <timothy.m.creech@intel.com>
|
||||
Date: Wed, 28 Jun 2023 03:45:51 -0400
|
||||
Subject: [PATCH 2/2] Request native clang only when cross-compiling (#464)
|
||||
|
||||
* Request native clang only when cross-compiling
|
||||
|
||||
LLVM_USE_HOST_TOOLS may be set if LLVM is configured with
|
||||
LLVM_OPTIMIZED_TABLEGEN, which does not necessarily indicate
|
||||
cross-compilation or that clang will only execute on the target.
|
||||
|
||||
By checking that CMAKE_CROSSCOMPILING is set, we ensure that we only
|
||||
build/use clang again if necessary for host execution.
|
||||
|
||||
* fixup: CMAKE_CROSSCOMPILING implies LLVM_USE_HOST_TOOLS
|
||||
|
||||
Co-authored-by: Wenju He <wenju.he@intel.com>
|
||||
|
||||
* fixup: also use CMAKE_CROSSCOMPILING in top-level CMakeLists.txt
|
||||
|
||||
---------
|
||||
|
||||
Co-authored-by: Wenju He <wenju.he@intel.com>
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/53843eee13cfb2357919ee02714a43bef1af0f86]
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
cl_headers/CMakeLists.txt | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index e772de9..5864009 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -35,7 +35,7 @@ set(CMAKE_MODULE_PATH
|
||||
|
||||
include(CMakeFunctions)
|
||||
|
||||
-if(LLVM_USE_HOST_TOOLS AND OPENCL_CLANG_BUILD_EXTERNAL)
|
||||
+if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL)
|
||||
include(CrossCompile)
|
||||
llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release)
|
||||
endif()
|
||||
diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt
|
||||
index 18296c2..16cabb7 100644
|
||||
--- a/cl_headers/CMakeLists.txt
|
||||
+++ b/cl_headers/CMakeLists.txt
|
||||
@@ -4,7 +4,7 @@ if(USE_PREBUILT_LLVM)
|
||||
else()
|
||||
set(CLANG_COMMAND $<TARGET_FILE:clang>)
|
||||
endif()
|
||||
-if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
|
||||
+if(CMAKE_CROSSCOMPILING AND NOT OPENCL_CLANG_BUILD_EXTERNAL)
|
||||
build_native_tool(clang CLANG_COMMAND)
|
||||
endif()
|
||||
|
||||
--
|
||||
2.37.3
|
||||
|
|
@ -6,8 +6,9 @@ LICENSE = "NCSA"
|
|||
LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c"
|
||||
|
||||
SRC_URI = "git://github.com/intel/opencl-clang.git;branch=${BRANCH};protocol=https \
|
||||
file://0002-Request-native-clang-only-when-cross-compiling-464.patch \
|
||||
file://0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch \
|
||||
"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit cmake
|
||||
DEPENDS += "clang"
|
||||
|
@ -16,4 +17,17 @@ DEPENDS:append:class-target = " opencl-clang-native"
|
|||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
DEPENDS += " spirv-llvm-translator"
|
||||
|
||||
EXTRA_OECMAKE += "\
|
||||
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
|
||||
-DCMAKE_SKIP_RPATH=TRUE \
|
||||
-DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
|
||||
"
|
||||
|
||||
do_install:append:class-native() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
|
@ -1,20 +0,0 @@
|
|||
require opencl-clang.inc
|
||||
|
||||
SRC_URI:append = " file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \
|
||||
"
|
||||
SRCREV = "06c7c0d7f5cbd13810d79489a533fa6c5b6c7d9f"
|
||||
|
||||
BRANCH = "ocl-open-140"
|
||||
|
||||
DEPENDS += " spirv-llvm-translator"
|
||||
|
||||
EXTRA_OECMAKE += "\
|
||||
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
|
||||
-DCMAKE_SKIP_RPATH=TRUE \
|
||||
-DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
|
||||
"
|
||||
|
||||
do_install:append:class-native() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/
|
||||
}
|
|
@ -1,18 +1,5 @@
|
|||
require opencl-clang.inc
|
||||
|
||||
SRCREV = "c78c1f884ffe8b40e1681a90ebde1a919c08ddb1"
|
||||
SRCREV = "60fd799cc58755c16d951f9ebfde6d0f9b8554dd"
|
||||
|
||||
BRANCH = "ocl-open-150"
|
||||
|
||||
DEPENDS += " spirv-llvm-translator"
|
||||
|
||||
EXTRA_OECMAKE += "\
|
||||
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
|
||||
-DCMAKE_SKIP_RPATH=TRUE \
|
||||
-DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
|
||||
"
|
||||
|
||||
do_install:append:class-native() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/
|
||||
}
|
||||
|
|
|
@ -1,27 +0,0 @@
|
|||
SUMMARY = "VC Intrinsics"
|
||||
DESCRIPTION = "VC Intrinsics project contains a set of new intrinsics on \
|
||||
top of core LLVM IR instructions that represent SIMD semantics of a program \
|
||||
targeting GPU"
|
||||
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://Readme.md;beginline=1;endline=7;md5=3b2db19c3b0877bb312b7adbcb815adc"
|
||||
|
||||
SRC_URI = "git://github.com/intel/vc-intrinsics.git;protocol=https;branch=master \
|
||||
"
|
||||
SRCREV = "b2c98d943986a27016bc735b84ed1655943ef749"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
PE = "1"
|
||||
PV .= "+git${SRCPV}"
|
||||
|
||||
inherit cmake
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
DEPENDS += " clang"
|
||||
|
||||
EXTRA_OECMAKE = "-DLLVM_DIR=${STAGING_LIBDIR}"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
|
@ -1,32 +0,0 @@
|
|||
SUMMARY = "OpenVINO Model Optimzer"
|
||||
DESCRIPTION = "Model Optimizer is a cross-platform command-line tool that \
|
||||
facilitates the transition between the training and deployment \
|
||||
environment, performs static model analysis, and adjusts deep \
|
||||
learning models for optimal execution on end-point target devices."
|
||||
HOMEPAGE = "https://01.org/openvinotoolkit"
|
||||
|
||||
SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2022/3;lfs=0 \
|
||||
"
|
||||
SRCREV = "0a5ca5375265f0f12cdaee68574030408dd1c352"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
|
||||
|
||||
CVE_PRODUCT = "intel:openvino"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit setuptools3
|
||||
|
||||
SETUPTOOLS_SETUP_PATH = "${WORKDIR}/git/tools/mo"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
python3-numpy \
|
||||
python3-protobuf \
|
||||
python3-defusedxml \
|
||||
python3-networkx \
|
||||
python3-requests \
|
||||
python3-urllib3 \
|
||||
bash \
|
||||
"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$"
|
|
@ -0,0 +1,32 @@
|
|||
From 439af27f7641185933d7810b6c4eb17086438df3 Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Mon, 19 May 2025 17:50:40 +0530
|
||||
Subject: [PATCH] LMS : fix build issue with gcc 15
|
||||
|
||||
include cstdint header to resolve the below error with gcc 15
|
||||
|
||||
| In file included from /lms/2406.0.0.0/git/MEIClient/src/MEICommand.cpp:11:
|
||||
| /lms/2406.0.0.0/git/MEIClient/Include/MEICommand.h:40:54: error: 'uint8_t' was not declared in this scope
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/lms/pull/23]
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
---
|
||||
MEIClient/Include/MEICommand.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/MEIClient/Include/MEICommand.h b/MEIClient/Include/MEICommand.h
|
||||
index 6192d26..5332e44 100644
|
||||
--- a/MEIClient/Include/MEICommand.h
|
||||
+++ b/MEIClient/Include/MEICommand.h
|
||||
@@ -12,6 +12,7 @@
|
||||
#define __MEI_COMMAND_H__
|
||||
#include "heci.h"
|
||||
#include "MEIClientException.h"
|
||||
+#include <cstdint>
|
||||
#include <memory>
|
||||
#include <vector>
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
|
@ -10,30 +10,28 @@ COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
|
|||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
inherit cmake systemd features_check
|
||||
inherit cmake systemd features_check python3native
|
||||
|
||||
DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native pkgconfig-native"
|
||||
|
||||
EXTRA_OECMAKE += "-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3"
|
||||
DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native pkgconfig-native python3-packaging-native"
|
||||
|
||||
# Enable either connman or networkmanager or none but not both.
|
||||
PACKAGECONFIG ??= "connman"
|
||||
PACKAGECONFIG[connman] = "-DNETWORK_CN=ON, -DNETWORK_CN=OFF, connman"
|
||||
PACKAGECONFIG[networkmanager] = "-DNETWORK_NM=ON, -DNETWORK_NM=OFF, networkmanager"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES= "systemd"
|
||||
REQUIRED_DISTRO_FEATURES = "systemd"
|
||||
|
||||
FILES:${PN} += "${datadir}/dbus-1/system-services/*.service"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "lms.service"
|
||||
|
||||
SRC_URI = "git://github.com/intel/lms.git;branch=master;protocol=https \
|
||||
file://0001-LMS-fix-build-issue-with-gcc-15.patch \
|
||||
"
|
||||
SRCREV = "4db4ceb3f70cd1b907747646dda6785db7b247d7"
|
||||
SRCREV = "388f115b2aeb3ea11499971c65f828daefd32c47"
|
||||
|
||||
do_install:append() {
|
||||
install -d ${D}${sysconfdir}/lms
|
||||
install -d ${D}${systemd_system_unitdir}
|
||||
install -m 0644 ${B}/UNS/lms.service ${D}${systemd_system_unitdir}
|
||||
install -d ${D}${sysconfdir}/udev/rules.d
|
||||
|
@ -42,5 +40,4 @@ do_install:append() {
|
|||
|
||||
RDEPENDS:${PN} += "ace"
|
||||
|
||||
# This CVE is for Lan Management System software and not this lms.
|
||||
CVE_CHECK_IGNORE += "CVE-2018-1000535"
|
||||
CVE_STATUS[CVE-2018-1000535] = "cpe-incorrect: This CVE is for a different LMS - Lan Management System."
|
|
@ -7,14 +7,15 @@ compensation using available cooling methods."
|
|||
HOMEPAGE = "https://github.com/01org/thermal_daemon"
|
||||
|
||||
DEPENDS = "dbus dbus-glib dbus-glib-native libxml2 glib-2.0 glib-2.0-native upower libevdev"
|
||||
DEPENDS += "autoconf-archive-native"
|
||||
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848"
|
||||
|
||||
SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \
|
||||
"
|
||||
|
||||
SRCREV = "941e8121c0a8280264288cde921b490bc5a7ece7"
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "df3b9ab0ffe780c4fbad7750987eff76f659cfd5"
|
||||
|
||||
inherit pkgconfig autotools systemd gtk-doc
|
||||
|
||||
|
@ -28,7 +29,7 @@ EXTRA_OECONF = " \
|
|||
--with-systemdsystemunitdir=${systemd_system_unitdir} \
|
||||
"
|
||||
|
||||
FILES:${PN} += "${datadir}/dbus-1/system-services/*.service"
|
||||
FILES:${PN} += "${datadir}/dbus-1"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "thermald.service"
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 6ba81efe971fb6038af6e950e853d35ee6dd9cc3 Mon Sep 17 00:00:00 2001
|
||||
From deccc0c69c2c8759c52885be8bdda54d3cee481c Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Sun, 11 Dec 2022 22:34:15 +0800
|
||||
Subject: [PATCH] Add print function to print test run status in ptest format
|
||||
|
@ -11,10 +11,10 @@ Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
|||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/run_tests.py b/run_tests.py
|
||||
index 87305a06..4f2f0f59 100755
|
||||
index 1cd796dd..e3ffd1ab 100755
|
||||
--- a/run_tests.py
|
||||
+++ b/run_tests.py
|
||||
@@ -385,6 +385,9 @@ def run_test(testname, host, target):
|
||||
@@ -327,6 +327,9 @@ def run_test(testname, host, target):
|
||||
else:
|
||||
ispc_exe_rel = add_prefix(host.ispc_cmd, host, target)
|
||||
|
||||
|
@ -24,7 +24,7 @@ index 87305a06..4f2f0f59 100755
|
|||
# is this a test to make sure an error is issued?
|
||||
want_error = (filename.find("tests_errors") != -1)
|
||||
if want_error == True:
|
||||
@@ -844,6 +847,17 @@ def check_compiler_exists(compiler_exe):
|
||||
@@ -795,6 +798,17 @@ def check_compiler_exists(compiler_exe):
|
||||
return
|
||||
error("missing the required compiler: %s \n" % compiler_exe, 1)
|
||||
|
||||
|
@ -42,7 +42,7 @@ index 87305a06..4f2f0f59 100755
|
|||
def print_result(status, results, s, run_tests_log, csv):
|
||||
title = StatusStr[status]
|
||||
file_list = [fname for fname, fstatus in results if status == fstatus]
|
||||
@@ -987,6 +1001,8 @@ def run_tests(options1, args, print_version):
|
||||
@@ -938,6 +952,8 @@ def run_tests(options1, args, print_version):
|
||||
pass_rate = -1
|
||||
print_debug("PASSRATE (%d/%d) = %d%% \n\n" % (len(run_succeed_files), total_tests_executed, pass_rate), s, run_tests_log)
|
||||
|
||||
|
@ -51,6 +51,3 @@ index 87305a06..4f2f0f59 100755
|
|||
for status in Status:
|
||||
print_result(status, results, s, run_tests_log, options.csv)
|
||||
fails = [status != Status.Compfail and status != Status.Runfail for _, status in results]
|
||||
--
|
||||
2.37.3
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
From 139b94a7fb72114c31a2a6ab3f7e6024b4a738ec Mon Sep 17 00:00:00 2001
|
||||
From 7beff95c11071170eb27b6fa7d0cc77588caee8e Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Tue, 26 Jul 2022 15:25:10 +0800
|
||||
Subject: [PATCH] Fix QA Issues
|
||||
|
@ -8,16 +8,15 @@ Stop ispc from inserting host file path in generated headers which leads to repr
|
|||
Upstream-Status: Inappropriate [OE build specific]
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
|
||||
---
|
||||
src/module.cpp | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/module.cpp b/src/module.cpp
|
||||
index 58a2ae83..82673052 100644
|
||||
index e2084d2e..e2626865 100644
|
||||
--- a/src/module.cpp
|
||||
+++ b/src/module.cpp
|
||||
@@ -2105,7 +2105,7 @@ bool Module::writeHeader(const char *fn) {
|
||||
@@ -2555,7 +2555,7 @@ bool Module::writeHeader(const char *fn) {
|
||||
perror("fopen");
|
||||
return false;
|
||||
}
|
||||
|
@ -26,7 +25,7 @@ index 58a2ae83..82673052 100644
|
|||
fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
|
||||
|
||||
// Create a nice guard string from the filename, turning any
|
||||
@@ -2219,7 +2219,7 @@ bool Module::writeDispatchHeader(DispatchHeaderInfo *DHI) {
|
||||
@@ -2677,7 +2677,7 @@ bool Module::writeDispatchHeader(DispatchHeaderInfo *DHI) {
|
||||
FILE *f = DHI->file;
|
||||
|
||||
if (DHI->EmitFrontMatter) {
|
|
@ -1,4 +1,4 @@
|
|||
From 493e886d6dae2ed7bdc12ed03f717ee0e98dfe09 Mon Sep 17 00:00:00 2001
|
||||
From 16a2c22339287122d2c25d8bb33a5a51b4e6ee51 Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Thu, 24 Feb 2022 20:01:11 +0530
|
||||
Subject: [PATCH] cmake: don't build for 32-bit targets
|
||||
|
@ -16,14 +16,14 @@ Upstream-Status: Inappropriate
|
|||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
cmake/GenerateBuiltins.cmake | 8 ++++----
|
||||
1 file changed, 4 insertions(+), 4 deletions(-)
|
||||
cmake/GenerateBuiltins.cmake | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/cmake/GenerateBuiltins.cmake b/cmake/GenerateBuiltins.cmake
|
||||
index fa228247..7adc7e52 100644
|
||||
index f84494ed..d90cb1ec 100644
|
||||
--- a/cmake/GenerateBuiltins.cmake
|
||||
+++ b/cmake/GenerateBuiltins.cmake
|
||||
@@ -272,7 +272,7 @@ function(builtin_to_cpp bit os_name arch supported_archs supported_oses resultFi
|
||||
@@ -253,7 +253,7 @@ function(builtin_to_cpp bit os_name arch supported_archs supported_oses resultFi
|
||||
# In this case headers will be installed in /usr/arm-linux-gnueabihf/include and will not be picked up
|
||||
# by clang by default. So the following line adds such path explicitly. If this path doesn't exist and
|
||||
# the headers can be found in other locations, this should not be a problem.
|
||||
|
@ -32,7 +32,7 @@ index fa228247..7adc7e52 100644
|
|||
endif()
|
||||
endif()
|
||||
|
||||
@@ -354,7 +354,7 @@ function (generate_target_builtins resultList)
|
||||
@@ -339,7 +339,7 @@ function (generate_target_builtins resultList)
|
||||
set(regular_targets ${ARGN})
|
||||
list(FILTER regular_targets EXCLUDE REGEX wasm)
|
||||
foreach (ispc_target ${regular_targets})
|
||||
|
@ -41,24 +41,12 @@ index fa228247..7adc7e52 100644
|
|||
foreach (os_name ${TARGET_OS_LIST_FOR_LL})
|
||||
target_ll_to_cpp(target-${ispc_target} ${bit} ${os_name} output${os_name}${bit})
|
||||
list(APPEND tmpList ${output${os_name}${bit}})
|
||||
@@ -415,7 +415,7 @@ function (generate_common_builtins resultList)
|
||||
@@ -405,7 +405,7 @@ function (generate_common_builtins resultList)
|
||||
endif()
|
||||
|
||||
message (STATUS "ISPC will be built with support of ${supported_oses} for ${supported_archs}")
|
||||
- foreach (bit 32 64)
|
||||
+ foreach (bit 64)
|
||||
foreach (os_name "windows" "linux" "freebsd" "macos" "android" "ios" "ps4" "web")
|
||||
foreach (arch "x86" "arm" "wasm32")
|
||||
foreach (arch "x86" "arm" "wasm")
|
||||
builtin_to_cpp(${bit} ${os_name} ${arch} "${supported_archs}" "${supported_oses}" res${bit}${os_name}${arch})
|
||||
@@ -428,7 +428,7 @@ function (generate_common_builtins resultList)
|
||||
endforeach()
|
||||
endforeach()
|
||||
if (XE_ENABLED)
|
||||
- foreach (bit 32 64)
|
||||
+ foreach (bit 64)
|
||||
builtin_xe_to_cpp(${bit} res_xe_${bit})
|
||||
list(APPEND tmpList ${res_xe_${bit}} )
|
||||
if(MSVC)
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -5,22 +5,18 @@ HOMEPAGE = "https://github.com/ispc/ispc"
|
|||
|
||||
LICENSE = "BSD-3-Clause & Apache-2.0-with-LLVM-exception"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=da5ecffdd210b3cf776b32b41c182e87 \
|
||||
file://third-party-programs.txt;md5=3cd6f8a7c3bd9d2bb898fcb27c75221a"
|
||||
file://third-party-programs.txt;md5=2061218c7be521556719c8b504bf9ddd"
|
||||
|
||||
inherit cmake python3native ptest
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \
|
||||
file://0001-CMakeLists.txt-link-with-libclang-cpp-library-instea.patch \
|
||||
file://0002-cmake-don-t-build-for-32-bit-targets.patch \
|
||||
file://0001-Fix-QA-Issues.patch \
|
||||
file://0001-Add-print-function-to-print-test-run-status-in-ptest.patch \
|
||||
file://0001-CMakeLists.txt-allow-to-pick-llvm-config-from-usr-bi.patch \
|
||||
file://run-ptest \
|
||||
"
|
||||
|
||||
SRCREV = "ee43967286215a0511c2bc090e604848b4a32bed"
|
||||
SRCREV = "d394222aef59e4759b06e39ec160e4aba6ee5f40"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
|
||||
|
@ -28,7 +24,10 @@ DEPENDS += " clang-native bison-native flex-native"
|
|||
DEPENDS:append:class-target = " clang"
|
||||
RDEPENDS:${PN}-ptest += " python3-multiprocessing"
|
||||
|
||||
YFLAGS='-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}'
|
||||
PACKAGECONFIG ??= "tbb"
|
||||
PACKAGECONFIG[tbb] = "-DISPCRT_BUILD_TASK_MODEL=TBB, -DISPCRT_BUILD_TASK_MODEL=OpenMP, tbb"
|
||||
|
||||
YFLAGS = '-d -t -v -y --file-prefix-map=${WORKDIR}=/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}'
|
||||
|
||||
do_configure:prepend() {
|
||||
sed -i -e 's#\${BISON_EXECUTABLE}.*#\${BISON_EXECUTABLE} ${YFLAGS} #g' ${S}/CMakeLists.txt
|
||||
|
@ -47,18 +46,17 @@ do_install_ptest() {
|
|||
EXTRA_OECMAKE += " \
|
||||
-DISPC_INCLUDE_TESTS=OFF \
|
||||
-DISPC_INCLUDE_EXAMPLES=OFF \
|
||||
-DISPC_NO_DUMPS=ON \
|
||||
-DARM_ENABLED=OFF \
|
||||
-DISPC_CROSS=ON \
|
||||
-DISPC_ANDROID_TARGET=OFF \
|
||||
-DISPC_FREEBSD_TARGET=OFF \
|
||||
-DISPC_WINDOWS_TARGET=OFF \
|
||||
-DISPC_IOS_TARGET=OFF \
|
||||
-DISPC_PS4_TARGET=OFF \
|
||||
-DISPC_PS_TARGET=OFF \
|
||||
-DSYSROOT_DIR=${STAGING_DIR} \
|
||||
-DCLANG_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang \
|
||||
-DCLANGPP_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang++ \
|
||||
-DLLVM_DIS_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-dis \
|
||||
-DLLVM_AS_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-as \
|
||||
"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
|
@ -4,8 +4,7 @@ LICENSE = "MIT"
|
|||
LIC_FILES_CHKSUM = "file://LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc"
|
||||
|
||||
SRC_URI = "git://github.com/oneapi-src/level-zero.git;protocol=https;branch=master"
|
||||
SRCREV = "bb7fff05b801e26c3d7858e03e509d1089914d59"
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "9536683855b17a21508e5b54ba358225d6a976da"
|
||||
|
||||
inherit cmake
|
||||
DEPENDS += "opencl-headers"
|
|
@ -0,0 +1,99 @@
|
|||
From b57297c14d94dac9bdef7570b7b33d70b10171f3 Mon Sep 17 00:00:00 2001
|
||||
From: Jozef Wludzik <jozef.wludzik@intel.com>
|
||||
Date: Tue, 26 Mar 2024 14:43:29 +0100
|
||||
Subject: [PATCH 1/2] Fix the compilation warning when using gcc-13 (#25)
|
||||
|
||||
Added missing headers. Fixed compilation error about casting from
|
||||
unsigned to signed int.
|
||||
|
||||
Upstream-Status: Backport [https://github.com/intel/linux-npu-driver/commit/4bcbf2abe94eb4d9c083bd616b58e309a82d008a]
|
||||
|
||||
Signed-off-by: Jozef Wludzik <jozef.wludzik@intel.com>
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp | 7 ++++---
|
||||
umd/vpu_driver/include/umd_common.hpp | 1 +
|
||||
validation/umd-test/umd_prime_buffers.h | 9 +++++++--
|
||||
validation/umd-test/utilities/data_handle.h | 1 +
|
||||
4 files changed, 13 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp b/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp
|
||||
index f206ebe..682e5b4 100644
|
||||
--- a/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp
|
||||
+++ b/umd/level_zero_driver/ext/source/graph/vcl_symbols.hpp
|
||||
@@ -5,12 +5,13 @@
|
||||
*
|
||||
*/
|
||||
|
||||
-#include <dlfcn.h>
|
||||
-#include <memory>
|
||||
-
|
||||
#include "vpux_driver_compiler.h"
|
||||
#include "vpu_driver/source/utilities/log.hpp"
|
||||
|
||||
+#include <array>
|
||||
+#include <dlfcn.h>
|
||||
+#include <memory>
|
||||
+
|
||||
class Vcl {
|
||||
public:
|
||||
static Vcl &sym() {
|
||||
diff --git a/umd/vpu_driver/include/umd_common.hpp b/umd/vpu_driver/include/umd_common.hpp
|
||||
index 0c874a3..5ad9be2 100644
|
||||
--- a/umd/vpu_driver/include/umd_common.hpp
|
||||
+++ b/umd/vpu_driver/include/umd_common.hpp
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
+#include <cstdint>
|
||||
#include <limits>
|
||||
#include <linux/kernel.h>
|
||||
#include <stdexcept>
|
||||
diff --git a/validation/umd-test/umd_prime_buffers.h b/validation/umd-test/umd_prime_buffers.h
|
||||
index 6f7c7de..ab4814c 100644
|
||||
--- a/validation/umd-test/umd_prime_buffers.h
|
||||
+++ b/validation/umd-test/umd_prime_buffers.h
|
||||
@@ -6,12 +6,17 @@
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
+
|
||||
+#include "umd_test.h"
|
||||
+
|
||||
#include <fcntl.h>
|
||||
-#include <linux/kernel.h>
|
||||
#include <linux/dma-buf.h>
|
||||
#include <linux/dma-heap.h>
|
||||
+#include <linux/kernel.h>
|
||||
+#include <stdint.h>
|
||||
#include <sys/ioctl.h>
|
||||
#include <sys/mman.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#define ALLIGN_TO_PAGE(x) __ALIGN_KERNEL((x), (UmdTest::PAGE_SIZE))
|
||||
|
||||
@@ -60,7 +65,7 @@ class PrimeBufferHelper {
|
||||
return false;
|
||||
|
||||
bufferFd = heapAlloc.fd;
|
||||
- buffers.insert({heapAlloc.fd, {size, nullptr}});
|
||||
+ buffers.insert({static_cast<int>(heapAlloc.fd), {size, nullptr}});
|
||||
return true;
|
||||
}
|
||||
|
||||
diff --git a/validation/umd-test/utilities/data_handle.h b/validation/umd-test/utilities/data_handle.h
|
||||
index d6e0ec0..5d937b2 100644
|
||||
--- a/validation/umd-test/utilities/data_handle.h
|
||||
+++ b/validation/umd-test/utilities/data_handle.h
|
||||
@@ -6,6 +6,7 @@
|
||||
*/
|
||||
|
||||
#include <linux/kernel.h>
|
||||
+#include <stdint.h>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
From 561e3b5edc0ec3d8835aaf8ef8e5c9e8f9b53061 Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Wed, 28 May 2025 13:35:18 +0800
|
||||
Subject: [PATCH] linux-npu-driver : fix multilib install issue
|
||||
|
||||
Upstream-Status: Inappropriate [oe specific]
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
---
|
||||
firmware/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/firmware/CMakeLists.txt b/firmware/CMakeLists.txt
|
||||
index 0c093ca..ba346a0 100644
|
||||
--- a/firmware/CMakeLists.txt
|
||||
+++ b/firmware/CMakeLists.txt
|
||||
@@ -12,7 +12,7 @@ target_include_directories(${PROJECT_NAME} INTERFACE include)
|
||||
file(GLOB FIRMWARE_BINARIES ${CMAKE_CURRENT_SOURCE_DIR}/bin/*.bin)
|
||||
if (FIRMWARE_BINARIES)
|
||||
install(FILES ${FIRMWARE_BINARIES}
|
||||
- DESTINATION /lib/firmware/updates/intel/vpu/
|
||||
+ DESTINATION ${CMAKE_INSTALL_FIRMWARE_DIR}/firmware/updates/intel/vpu/
|
||||
PERMISSIONS OWNER_READ
|
||||
COMPONENT fw-npu)
|
||||
endif()
|
||||
--
|
||||
2.37.3
|
||||
|
|
@ -0,0 +1,110 @@
|
|||
From a9f51fd88effb7d324609e692ca7da576d6dad2e Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Tue, 28 May 2024 10:23:42 +0800
|
||||
Subject: [PATCH 2/2] Fix compilation failure with GCC-14
|
||||
|
||||
umd/level_zero_driver/core/source/event/event.cpp:65:31: error: 'remove_if' is not a member of 'std'; did you mean 'remove_cv'?
|
||||
| 65 | associatedJobs.erase(std::remove_if(associatedJobs.begin(),
|
||||
| | ^~~~~~~~~
|
||||
| | remove_cv
|
||||
|
||||
| umd/vpu_driver/source/command/vpu_command.cpp: In member function 'void VPU::VPUCommand::appendAssociateBufferObject(VPU::VPUBufferObject*)':
|
||||
| umd/vpu_driver/source/command/vpu_command.cpp:126:20: error: 'find' is not a member of 'std'; did you mean 'bind'?
|
||||
| 126 | auto it = std::find(bufferObjects.begin(), bufferObjects.end(), bo);
|
||||
| | ^~~~
|
||||
| | bind
|
||||
|
||||
| umd/vpu_driver/source/command/vpu_command_buffer.cpp: In member function 'bool VPU::VPUCommandBuffer::addCommand(VPU::VPUCommand*, uint64_t&, uint64_t&)':
|
||||
| umd/vpu_driver/source/command/vpu_command_buffer.cpp:185:24: error: 'find' is not a member of 'std'; did you mean 'bind'?
|
||||
| 185 | auto it = std::find(bufferHandles.begin(), bufferHandles.end(), bo->getHandle());
|
||||
| | ^~~~
|
||||
| | bind
|
||||
|
||||
| umd/level_zero_driver/ext/source/graph/elf_parser.cpp:301:32: error: 'max_element' is not a member of 'std'; did you mean 'tuple_element'?
|
||||
| 301 | std::max_element(stride_begin + TENSOR_5D_STRIDE_C, stride_end));
|
||||
| | ^~~~~~~~~~~
|
||||
| | tuple_element
|
||||
| umd/level_zero_driver/ext/source/graph/elf_parser.cpp:315:37: error: 'max_element' is not a member of 'std'; did you mean 'tuple_element'?
|
||||
| 315 | auto max_stride_val = *std::max_element(stride_begin + TENSOR_4D_STRIDE_C, stride_end);
|
||||
| | ^~~~~~~~~~~
|
||||
|
||||
| umd/level_zero_driver/tools/source/metrics/metric.cpp: In member function 'void L0::MetricContext::deactivateMetricGroups(int)':
|
||||
| umd/level_zero_driver/tools/source/metrics/metric.cpp:275:38: error: 'remove_if' is not a member of 'std'; did you mean 'remove_cv'?
|
||||
| 275 | activatedMetricGroups.erase(std::remove_if(activatedMetricGroups.begin(),
|
||||
| | ^~~~~~~~~
|
||||
| | remove_cv
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/linux-npu-driver/pull/30]
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
umd/level_zero_driver/core/source/event/event.cpp | 1 +
|
||||
umd/level_zero_driver/ext/source/graph/elf_parser.cpp | 1 +
|
||||
umd/level_zero_driver/tools/source/metrics/metric.cpp | 1 +
|
||||
umd/vpu_driver/source/command/vpu_command.cpp | 1 +
|
||||
umd/vpu_driver/source/command/vpu_command_buffer.cpp | 1 +
|
||||
5 files changed, 5 insertions(+)
|
||||
|
||||
diff --git a/umd/level_zero_driver/core/source/event/event.cpp b/umd/level_zero_driver/core/source/event/event.cpp
|
||||
index a92248f..196d176 100644
|
||||
--- a/umd/level_zero_driver/core/source/event/event.cpp
|
||||
+++ b/umd/level_zero_driver/core/source/event/event.cpp
|
||||
@@ -14,6 +14,7 @@
|
||||
|
||||
#include <level_zero/ze_api.h>
|
||||
#include <thread>
|
||||
+#include <algorithm>
|
||||
|
||||
namespace L0 {
|
||||
|
||||
diff --git a/umd/level_zero_driver/ext/source/graph/elf_parser.cpp b/umd/level_zero_driver/ext/source/graph/elf_parser.cpp
|
||||
index a1c8e14..dfbd61d 100644
|
||||
--- a/umd/level_zero_driver/ext/source/graph/elf_parser.cpp
|
||||
+++ b/umd/level_zero_driver/ext/source/graph/elf_parser.cpp
|
||||
@@ -21,6 +21,7 @@
|
||||
#include <vpux_headers/metadata.hpp>
|
||||
#include <vpux_elf/types/vpu_extensions.hpp>
|
||||
#include <vpux_elf/utils/error.hpp>
|
||||
+#include <algorithm>
|
||||
|
||||
namespace L0 {
|
||||
|
||||
diff --git a/umd/level_zero_driver/tools/source/metrics/metric.cpp b/umd/level_zero_driver/tools/source/metrics/metric.cpp
|
||||
index b67750f..9497311 100644
|
||||
--- a/umd/level_zero_driver/tools/source/metrics/metric.cpp
|
||||
+++ b/umd/level_zero_driver/tools/source/metrics/metric.cpp
|
||||
@@ -7,6 +7,7 @@
|
||||
|
||||
#include "level_zero_driver/tools/source/metrics/metric.hpp"
|
||||
#include "vpu_driver/source/utilities/log.hpp"
|
||||
+#include <algorithm>
|
||||
|
||||
namespace L0 {
|
||||
|
||||
diff --git a/umd/vpu_driver/source/command/vpu_command.cpp b/umd/vpu_driver/source/command/vpu_command.cpp
|
||||
index f4ca23f..75331d9 100644
|
||||
--- a/umd/vpu_driver/source/command/vpu_command.cpp
|
||||
+++ b/umd/vpu_driver/source/command/vpu_command.cpp
|
||||
@@ -14,6 +14,7 @@
|
||||
#include <cstdint>
|
||||
#include <vector>
|
||||
#include <map>
|
||||
+#include <algorithm>
|
||||
|
||||
namespace VPU {
|
||||
|
||||
diff --git a/umd/vpu_driver/source/command/vpu_command_buffer.cpp b/umd/vpu_driver/source/command/vpu_command_buffer.cpp
|
||||
index c4ad052..bbb80ec 100644
|
||||
--- a/umd/vpu_driver/source/command/vpu_command_buffer.cpp
|
||||
+++ b/umd/vpu_driver/source/command/vpu_command_buffer.cpp
|
||||
@@ -11,6 +11,7 @@
|
||||
#include "vpu_driver/source/command/vpu_command_buffer.hpp"
|
||||
#include "vpu_driver/source/command/vpu_copy_command.hpp"
|
||||
#include "vpu_driver/source/utilities/log.hpp"
|
||||
+#include <algorithm>
|
||||
|
||||
namespace VPU {
|
||||
|
||||
--
|
||||
2.43.0
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
SUMMARY = "User Mode Driver for Intel® NPU device"
|
||||
HOMEPAGE = "https://github.com/intel/linux-npu-driver"
|
||||
LICENSE = "MIT & Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=7b256470048be42466f7d10e1d6482e6 \
|
||||
file://third-party-programs.txt;md5=0ae40d7f1ef3bbd509197e427fdd7e70 \
|
||||
file://third_party/vpux_elf/LICENSE;md5=a7a2dfa2b52a22cf2257893ee87ba11c"
|
||||
|
||||
SRC_URI = "git://github.com/intel/linux-npu-driver.git;protocol=https;name=linux-npu-driver;branch=main;lfs=1 \
|
||||
git://github.com/openvinotoolkit/npu_plugin_elf.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/vpux_elf;name=vpux-elf;nobranch=1 \
|
||||
git://github.com/jbeder/yaml-cpp.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/yaml-cpp;name=yaml-cpp;nobranch=1 \
|
||||
git://github.com/intel/level-zero-npu-extensions.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/level-zero-npu-extensions;name=lzvext;nobranch=1 \
|
||||
git://github.com/google/googletest.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/googletest;name=googletest;nobranch=1 \
|
||||
file://0001-linux-npu-driver-fix-multilib-install-issue.patch \
|
||||
"
|
||||
|
||||
SRCREV_linux-npu-driver = "0fe92dd0720448fb571f0ac4e5e64ef9f2ec3bd7"
|
||||
SRCREV_vpux-elf = "50f2b13dbb6dd435c3e2ef6f8abb7393633bfcdd"
|
||||
SRCREV_yaml-cpp = "f7320141120f720aecc4c32be25586e7da9eb978"
|
||||
SRCREV_lzvext = "c7d8f849d6a8195c1db38cbaca8d431cbabf3a6e"
|
||||
SRCREV_googletest = "b514bdc898e2951020cbdca1304b75f5950d1f59"
|
||||
SRCREV_FORMAT = "linux-npu-driver_vpux-elf_yaml-cpp_lzvext_googletest"
|
||||
|
||||
inherit cmake
|
||||
|
||||
|
||||
# Fix warning _FORTIFY_SOURCE requires compiling with optimization (-O)
|
||||
EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release "
|
||||
EXTRA_OECMAKE += " -DCMAKE_CXX_FLAGS_RELEASE=-O2 "
|
||||
|
||||
EXTRA_OECMAKE += " -DCMAKE_CXX_FLAGS='-I${RECIPE_SYSROOT}/usr/include/level_zero'"
|
||||
EXTRA_OECMAKE += " -DCMAKE_INSTALL_FIRMWARE_DIR=${nonarch_base_libdir}"
|
||||
|
||||
DEPENDS = "level-zero dpkg-native pkgconfig-native"
|
||||
|
||||
PACKAGES =+ "${PN}-firmware ${PN}-tests"
|
||||
|
||||
FILES:${PN}-firmware = "${nonarch_base_libdir}/firmware/updates/intel/vpu/*"
|
||||
FILES:${PN}-tests = "${bindir}"
|
||||
|
||||
INSANE_SKIP:${PN} += "buildpaths"
|
||||
INSANE_SKIP:${PN}-dbg += "buildpaths"
|
||||
INSANE_SKIP:${PN}-tests += "buildpaths"
|
||||
INSANE_SKIP:${PN}-firmware += "buildpaths"
|
|
@ -1,59 +0,0 @@
|
|||
SUMMARY = "Intel® oneAPI DPC++/C++ Compiler & Intel® C++ Compiler Classic runtime common files"
|
||||
DESCRIPTION = "Intel® C++ Compiler Classic generates applications\
|
||||
that can run on Intel® 64 architecture and the IA-32 architecture.\
|
||||
Intel® oneAPI Data Parallel C++ (DPC++) is an open alternative \
|
||||
to single-architecture proprietary languages. It allows developers to reuse \
|
||||
code across hardware targets (CPUs and accelerators such as GPUs and FPGAs) \
|
||||
and also perform custom tuning for a specific accelerator."
|
||||
HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/documentation/cpp-compiler-developer-guide-and-reference/top/introducing-the-intel-c-compiler-classic.html"
|
||||
|
||||
LICENSE="EULA"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://opt/intel/oneapi/lib/licensing/compiler/Intel%20Developer%20Tools%20EULA;md5=7bfc91523de2e84e7131d0eacf2827d4 \
|
||||
file://opt/intel/oneapi/lib/licensing/compiler/openmp/third-party-programs.txt;md5=609c84e7d3e09211abf0dff68d29f7f0 \
|
||||
file://opt/intel/oneapi/lib/licensing/compiler/c/third-party-programs.txt;md5=0c2600ab9b332805bca9d7f86b772cbc \
|
||||
file://opt/intel/oneapi/lib/licensing/opencl/EULA.txt;md5=7bfc91523de2e84e7131d0eacf2827d4 \
|
||||
file://opt/intel/oneapi/lib/licensing/opencl/TBB_TPP.txt;md5=0a69156543e3e115c673c6041b6aee92 \
|
||||
file://opt/intel/oneapi/lib/licensing/opencl/third-party-programs.txt;md5=c660b8b0891e780a62da6a198e80e9ac \
|
||||
"
|
||||
|
||||
SRC_URI = " \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-compilers-${PV}_amd64.deb;subdir=${BPN};name=runtime-compilers \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-compilers-common-${PV}_all.deb;subdir=${BPN};name=common-compilers \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-dpcpp-cpp-${PV}_amd64.deb;subdir=${BPN};name=runtime-dpcpp-cpp \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-dpcpp-cpp-common-${PV}_all.deb;subdir=${BPN};name=common-dpcpp-cpp \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-openmp-${PV}_amd64.deb;subdir=${BPN};name=runtime-openmp \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-openmp-common-${PV}_all.deb;subdir=${BPN};name=common-openmp \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-opencl-${PV}_amd64.deb;subdir=${BPN};name=runtime-opencl \
|
||||
"
|
||||
|
||||
SRC_URI[runtime-compilers.sha256sum] = "46ef0bb45b3d0e812350f0e3666f41067b2850c8ba6fc819f64a489c9d620326"
|
||||
SRC_URI[common-compilers.sha256sum] = "40da8f3a627b14b333c8992659502e52162fb71267d032f94d5952a1ba5b5571"
|
||||
SRC_URI[runtime-dpcpp-cpp.sha256sum] = "108b4147a4dee19ae0fdd24e534a9c207230d813948205373cd14b82bdd4f68c"
|
||||
SRC_URI[common-dpcpp-cpp.sha256sum] = "0ab43f8a24e84fa094f01b2ecdc0d74394273e60291f2f725bd49734dd4d0050"
|
||||
SRC_URI[runtime-openmp.sha256sum] = "709f9a294db834e21d76ffc925adfa00108c0e862d6a21e484e0e43fbd5d2c17"
|
||||
SRC_URI[common-openmp.sha256sum] = "f14e031161bd732d7cd4a8b0ae4aa9ee81c7588c6d63bbea9efb3ddeffe72298"
|
||||
SRC_URI[runtime-opencl.sha256sum] = "9464fe5ef7454fd86868503afc4eafedffcae8356e1ebce9db1a32e8e3376abe"
|
||||
|
||||
S = "${WORKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package update-alternatives
|
||||
|
||||
ALTERNATIVE:${PN} = "Intel_FPGA_SSG_Emulator.icd"
|
||||
ALTERNATIVE_LINK_NAME[Intel_FPGA_SSG_Emulator.icd] = "/etc/OpenCL/vendors/intel64-fpgaemu.icd"
|
||||
ALTERNATIVE_TARGET[Intel_FPGA_SSG_Emulator.icd] = "/opt/intel/oneapi/lib/etc/Intel_FPGA_SSG_Emulator.icd"
|
||||
ALTERNATIVE_PRIORITY[Intel_FPGA_SSG_Emulator.icd] = "328736233"
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
RDEPENDS:${PN} += "perl elfutils virtual/opencl-icd level-zero-loader zlib tbb libelf setup-intel-oneapi-env"
|
||||
INSANE_SKIP:${PN} += "textrel dev-so file-rdeps staticdev"
|
||||
|
||||
# The libomptarget.rtl.x86_64.so library is not supported on Yocto 3.1+ due to using obsolete libffi.so.6
|
||||
do_install:append () {
|
||||
rm -f ${D}/opt/intel/oneapi/lib/libomptarget.rtl.x86_64.so
|
||||
echo "/opt/intel/oneapi/lib/emu/libintelocl_emu.so" > ${D}/opt/intel/oneapi/lib/etc/Intel_FPGA_SSG_Emulator.icd
|
||||
}
|
||||
SKIP_FILEDEPS:${PN} = '1'
|
|
@ -8,39 +8,40 @@ and compatible processors."
|
|||
|
||||
HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html"
|
||||
|
||||
LICENSE="EULA"
|
||||
LICENSE = "EULA"
|
||||
|
||||
COMPILERMAINVER = "2023.0.0"
|
||||
COMPILERMAINVER = "2024.0"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://opt/intel/oneapi/licensing/${COMPILERMAINVER}/license.htm;md5=f721d37d5ef65590e052bc47e15feec3 \
|
||||
file://opt/intel/oneapi/licensing/${COMPILERMAINVER}/licensing/${COMPILERMAINVER}/license.htm;md5=5ff64c6ff3ef98089ed69360e7a84c39 \
|
||||
"
|
||||
|
||||
COMPILERDOTVER = "2023.0.0-25325"
|
||||
DEVUTILITVERSION = "2021.8.0-2021.8.0-25328"
|
||||
COMPILERDOTVER = "2024.0.0-49406"
|
||||
DEVUTILITVERSION = "2024.0-2024.0.0-49320"
|
||||
SRC_URI = " \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-runtime-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=dpcpp-runtime \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-dpcpp-cpp-common-${COMPILERMAINVER}-${PV}_all.deb;subdir=${BPN};name=dpcpp-common \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-runtime-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=compiler-shared-runtime \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-common-vars-${COMPILERDOTVER}_all.deb;subdir=${BPN};name=common-vars \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-openmp-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=openmp \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-openmp-common-${COMPILERMAINVER}-${PV}_all.deb;subdir=${BPN};name=openmp-common \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-common-licensing-${COMPILERMAINVER}-${COMPILERDOTVER}_all.deb;subdir=${BPN};name=license \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-dev-utilities-${DEVUTILITVERSION}_amd64.deb;subdir=${BPN};name=dev-utils \
|
||||
"
|
||||
|
||||
SRC_URI[dpcpp-runtime.sha256sum] = "63f63e8e1f02ce34baec35d4892b89a940a745a488fff8d1e04437ab079e7543"
|
||||
SRC_URI[dpcpp-common.sha256sum] = "ef2791532a7f5afee609e2e81ddadebf1306a248a84b711959a1be3112d8a509"
|
||||
SRC_URI[compiler-shared-runtime.sha256sum] = "39c8f307c67129ef8d466561f39bbed3445548fc9bba48aabe58314cbcf0ae91"
|
||||
SRC_URI[common-vars.sha256sum] = "a7779af0502470d07db51789abc2d31a7f80e9ffd6ac77ed3ffcaad79dbecd82"
|
||||
SRC_URI[openmp-common.sha256sum] = "b324474eae8bd5bd010df52de880eea55566e91dc043462879fc295ea6b3039c"
|
||||
SRC_URI[license.sha256sum] = "801db78b05c548060638dc02b819ee9b4a714b920aca22c8d57cf89ec619e130"
|
||||
SRC_URI[dev-utils.sha256sum] = "df8513238bb753f9d169ffc7967784478ea10a2ab3cb26246c66a0d51d96d33f"
|
||||
SRC_URI[dpcpp-runtime.sha256sum] = "e24f0ba69daf3f66ceaf23d5e632f183cdb90bac69f65407fdb4407fc9034f33"
|
||||
SRC_URI[dpcpp-common.sha256sum] = "f5a3db6a725598224edf1099260955aee3e36beadcaed2af5b8b453e873a82fa"
|
||||
SRC_URI[compiler-shared-runtime.sha256sum] = "bce010cbe076259ddd3feb8e69792869e22fccd5b4e2c9af9e815826f2c1a394"
|
||||
SRC_URI[common-vars.sha256sum] = "368553c99db1b52060b8225355336778be0b00e5991d0f769c42f891c6328750"
|
||||
SRC_URI[openmp.sha256sum] = "154ff1e81adfdc872ba1d47bd860de70d62188417c7128422435dfd0ceca62fe"
|
||||
SRC_URI[openmp-common.sha256sum] = "8217001d78311cbef97dd139e684c6767932b532309c3843ba57d7894d15c07d"
|
||||
SRC_URI[license.sha256sum] = "9f9c8a12fc0bc82ab5b71e118e66745eff23f42224eba304068225b366cd74b6"
|
||||
SRC_URI[dev-utils.sha256sum] = "c675d960a5abca361cead9217d6e74adee499ee0a095c4e44092bd710b304d50"
|
||||
|
||||
S = "${WORKDIR}/${BPN}"
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
RDEPENDS:${PN} += "virtual/opencl-icd zlib tbb level-zero-loader bash tcsh"
|
||||
RDEPENDS:${PN} += "virtual-opencl-icd zlib tbb level-zero-loader bash tcsh"
|
||||
SKIP_FILEDEPS:${PN} = '1'
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
|
@ -8,12 +8,12 @@ and compatible processors."
|
|||
|
||||
HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html"
|
||||
|
||||
LICENSE="EULA"
|
||||
LICENSE = "EULA"
|
||||
|
||||
COMPILERMAINVER = "2023.0.0"
|
||||
COMPILERMAINVER = "2024.0"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://opt/intel/oneapi/compiler/${COMPILERMAINVER}/licensing/credist.txt;md5=0347b85fa78c51d1156ccc367202c66c \
|
||||
file://opt/intel/oneapi/compiler/${COMPILERMAINVER}/share/doc/compiler/credist.txt;md5=b41f55af9f479b9570fc35b955d5ba1a \
|
||||
"
|
||||
|
||||
SRC_URI = " \
|
||||
|
@ -22,11 +22,11 @@ SRC_URI = " \
|
|||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-common-${COMPILERMAINVER}-${PV}_all.deb;subdir=${BPN};name=shared-common \
|
||||
"
|
||||
|
||||
SRC_URI[icx-compiler.sha256sum] = "2aa3f782f8c5ea1920d7fbabd7758b95b110764c53418f73d3c156164d84f44a"
|
||||
SRC_URI[compiler-linker.sha256sum] = "2fa8d9f8bdbada124da24f1d161b4b882f85f54bcc341149ea5a5d1e9dcc826d"
|
||||
SRC_URI[shared-common.sha256sum] = "a1dcc49438fc1a83474a6f3bc4543ca6cf7dcb0b5a8dcd1bdffed9ac488825fd"
|
||||
SRC_URI[icx-compiler.sha256sum] = "0dcbac766d5a1519d4cf393f5a85e71d19024fef65f77638f3f849796b62cd82"
|
||||
SRC_URI[compiler-linker.sha256sum] = "e00faea6d797934d62143e4aa70b727ce30f80fdf30769d22122b3051140c236"
|
||||
SRC_URI[shared-common.sha256sum] = "cf490a4a790f349da79e618359598d3b32312ca3b2639e5d4c84e1cfa2745558"
|
||||
|
||||
S = "${WORKDIR}/${BPN}"
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
|
@ -4,17 +4,15 @@ intended to graphics application engineers that want to improve the \
|
|||
performance of their application."
|
||||
HOMEPAGE = "https://github.com/embree/embree"
|
||||
|
||||
LICENSE = "Apache-2.0 & syrah"
|
||||
LICENSE = "Apache-2.0 & BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
||||
file://third-party-programs.txt;md5=f989f5b74cfff0d45d3ccf0e1366cbdc \
|
||||
file://common/math/transcendental.h;beginline=6;endline=8;md5=73380bb2ab6613b30b8464f114bd0ca8"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/embree/embree.git;protocol=https;branch=master"
|
||||
SRCREV = "0fcb306c9176221219dd15e27fe0527ed334948f"
|
||||
SRCREV = "5730b150471602d6dc02d9b7d8a4a6ce9ceffe16"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
@ -28,3 +26,5 @@ EXTRA_OECMAKE += " \
|
|||
-DEMBREE_ISPC_SUPPORT=ON \
|
||||
-DEMBREE_ZIP_MODE=OFF \
|
||||
"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
|
|
@ -0,0 +1,35 @@
|
|||
DESCRIPTION = "Intel® Integrated Performance Primitives are production-ready \
|
||||
building blocks for cross-platform performance. Develop high-performance vision, \
|
||||
signal, security, and storage applications with this multithreaded software library."
|
||||
HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html"
|
||||
|
||||
LICENSE = "ISSL"
|
||||
|
||||
MAXVER = "2021.10"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://opt/intel/oneapi/ipp/${MAXVER}/share/doc/ipp/licensing/license.txt;md5=d7cdc92ed6c4de1263da879599ddc3e2 \
|
||||
file://opt/intel/oneapi/ipp/${MAXVER}/share/doc/ipp/licensing/third-party-programs.txt;md5=22bd13987911dcf790907041b43081f3 \
|
||||
"
|
||||
SRC_URI = " \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-${MAXVER}-${PV}_amd64.deb;subdir=${BPN};name=ipp \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-common-devel-${MAXVER}-${PV}_all.deb;subdir=${BPN};name=headers \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-common-${MAXVER}-${PV}_all.deb;subdir=${BPN};name=env \
|
||||
"
|
||||
|
||||
SRC_URI[ipp.sha256sum] = "b51e45c6e691aa46c7136b0ab61f5abe346388433e017a30cf53fd23e92bea07"
|
||||
SRC_URI[headers.sha256sum] = "342f37ab2f82bc9f4498435f848ee660591c2488b44d988bf6ee96b2a71fd005"
|
||||
SRC_URI[env.sha256sum] = "731e8c28a3b8b757730cd874d0941de2eb744856128f24ade59d36c12b415bf6"
|
||||
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
INHIBIT_DEFAULT_DEPS = ""
|
||||
|
||||
RDEPENDS:${PN} += "tbb setup-intel-oneapi-env"
|
||||
INSANE_SKIP:${PN} += "ldflags dev-so"
|
|
@ -1,46 +0,0 @@
|
|||
DESCRIPTION = "Intel® Integrated Performance Primitives are production-ready \
|
||||
building blocks for cross-platform performance. Develop high-performance vision, \
|
||||
signal, security, and storage applications with this multithreaded software library."
|
||||
HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html"
|
||||
|
||||
LICENSE = "ISSL"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://opt/intel/oneapi/lib/licensing/ipp/license.txt;md5=d7cdc92ed6c4de1263da879599ddc3e2 \
|
||||
file://opt/intel/oneapi/lib/licensing/ipp/third-party-programs.txt;md5=8a4cf3c62b53158d35a7bb8b85e44bf9 \
|
||||
"
|
||||
MAXVER = "2021.7.0"
|
||||
SRC_URI = " \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-ipp-${PV}_amd64.deb;subdir=${BPN};name=runtime \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-ipp-common-${PV}_all.deb;subdir=${BPN};name=common \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-common-devel-${MAXVER}-${PV}_all.deb;subdir=${BPN};name=headers \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-common-${MAXVER}-${PV}_all.deb;subdir=${BPN};name=env \
|
||||
"
|
||||
|
||||
SRC_URI[runtime.sha256sum] = "ffb637d9d34c28de157d7cff3bc39b5306b5958bc9a56ee40739b0a7d0da5169"
|
||||
SRC_URI[common.sha256sum] = "3bc7f2258e115e1e5ad6457f404b2cf3e75fc4f33acf2ceed3098052bb875bac"
|
||||
SRC_URI[headers.sha256sum] = "9c23b560ee4a035656c2f502aad171c65386d62f7180cfe099b08bb73adbf0a9"
|
||||
SRC_URI[env.sha256sum] = "c870add93cb529c23dabaf1e62bbb4d059a38ca85d930e5187989aa79a19b7c2"
|
||||
|
||||
S = "${WORKDIR}/${BPN}"
|
||||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
RDEPENDS:${PN} += "tbb setup-intel-oneapi-env"
|
||||
INSANE_SKIP:${PN} += "ldflags dev-so"
|
||||
|
||||
# Some libraries are linking against the unversioned lib and there's no soname entry.
|
||||
# Workaround errors like:
|
||||
# Problem: conflicting requests
|
||||
# - nothing provides libippcore_tl_omp.so()(64bit) needed by intel-oneapi-ipp-2021.3.0+333-r0.skylake_64
|
||||
do_install:append () {
|
||||
install -m 755 ${D}/opt/intel/oneapi/lib/intel64/libippcore_tl_omp.so.10.6 ${D}/opt/intel/oneapi/lib/intel64/libippcore_tl_omp.so
|
||||
install -m 755 ${D}/opt/intel/oneapi/lib/intel64/libippcore_tl_tbb.so.10.6 ${D}/opt/intel/oneapi/lib/intel64/libippcore_tl_tbb.so
|
||||
install -m 755 ${D}/opt/intel/oneapi/lib/intel64/libippi_tl_omp.so.10.6 ${D}/opt/intel/oneapi/lib/intel64/libippi_tl_omp.so
|
||||
install -m 755 ${D}/opt/intel/oneapi/lib/intel64/libippi_tl_tbb.so.10.6 ${D}/opt/intel/oneapi/lib/intel64/libippi_tl_tbb.so
|
||||
}
|
|
@ -11,40 +11,38 @@ HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/co
|
|||
|
||||
LICENSE = "ISSL"
|
||||
|
||||
MKLMAINVER = "2024.0"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://opt/intel/oneapi/lib/licensing/mkl/license.txt;md5=8510d21bf355a76e378c3216c3929ccd \
|
||||
file://opt/intel/oneapi/lib/licensing/mkl/third-party-programs-benchmarks.txt;md5=cb98e1a1f14c05ea85a979ea8982e7a4 \
|
||||
file://opt/intel/oneapi/lib/licensing/mkl/third-party-programs-ipp.txt;md5=a4b2bf15e38f5c1267cdafed18bc0b09 \
|
||||
file://opt/intel/oneapi/lib/licensing/mkl/third-party-programs-openmp.txt;md5=6b3c1aa2a11393060074c0346ce21e49 \
|
||||
file://opt/intel/oneapi/lib/licensing/mkl/third-party-programs-safestring.txt;md5=c3aeee91c6d35a0f0753aed6c2633b82 \
|
||||
file://opt/intel/oneapi/lib/licensing/mkl/third-party-programs.txt;md5=980965cf1f086d40998ca4981968b6a4 \
|
||||
file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/license.txt;md5=8510d21bf355a76e378c3216c3929ccd \
|
||||
file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs-benchmarks.txt;md5=cb98e1a1f14c05ea85a979ea8982e7a4 \
|
||||
file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs-ipp.txt;md5=a4b2bf15e38f5c1267cdafed18bc0b09 \
|
||||
file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs-openmp.txt;md5=6b3c1aa2a11393060074c0346ce21e49 \
|
||||
file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs-safestring.txt;md5=c3aeee91c6d35a0f0753aed6c2633b82 \
|
||||
file://opt/intel/oneapi/mkl/${MKLMAINVER}/share/doc/mkl/licensing/third-party-programs.txt;md5=27de873e4084d62530fe828406b33ca9 \
|
||||
"
|
||||
|
||||
MKLMAINVER = "2023.0.0"
|
||||
|
||||
SRC_URI = " \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-mkl-${PV}_amd64.deb;subdir=${BPN};name=runtime \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-runtime-mkl-common-${PV}_all.deb;subdir=${BPN};name=common \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-${MKLMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=runtime \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-common-devel-${MKLMAINVER}-${PV}_all.deb;subdir=${BPN};name=common-devel \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-devel-${MKLMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=devel \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-mkl-common-${MKLMAINVER}-${PV}_all.deb;subdir=${BPN};name=common-vars \
|
||||
"
|
||||
|
||||
SRC_URI[runtime.sha256sum] = "e681b760aa3ca669f56c535cae5bf5b990fbc768301d0d4885b4a6acffd51f3b"
|
||||
SRC_URI[common.sha256sum] = "5983af05c8f8873d3df772392b87612c09594ca0ee7c2f667857c517b0024062"
|
||||
SRC_URI[common-devel.sha256sum] = "114861a697500e5ee5e0e5f1e920bc0c96dbacd80145877e4974c582acb26c52"
|
||||
SRC_URI[devel.sha256sum] = "ee582b8e443b6104e3cc8813f990e8081a0e44d203aa0f65edca0f3406107793"
|
||||
SRC_URI[common-vars.sha256sum] = "47fc873a5c0b736016ed76b7b99fd93b6bd9c27ee052a23e1944d8095b1b0a6c"
|
||||
SRC_URI[runtime.sha256sum] = "10a86e24051d6ef4a80fd839c570e629190638a3c0ac9bcca99ab855f534b959"
|
||||
SRC_URI[common-devel.sha256sum] = "adbf0ea946f63946d29b7f9c750c38a42ea7a65d8c81655b268aa2c7bb908192"
|
||||
SRC_URI[devel.sha256sum] = "fab2a6f15e18bfd9b4d425f2703e4e98928c57f52c4feebc9ed886f097062e84"
|
||||
SRC_URI[common-vars.sha256sum] = "ec2b67813739fa4a2895f63479a41acba2174afe2d0cb8a0c1c9119d1317d8ef"
|
||||
|
||||
S = "${WORKDIR}/${BPN}"
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
do_install:append () {
|
||||
install -d ${D}${bindir}
|
||||
(cd ${D}${bindir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/bin/intel64/* .)
|
||||
(cd ${D}${bindir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/bin/* .)
|
||||
install -d ${D}${libdir}
|
||||
(cd ${D}${libdir} ; ln -s ../../opt/intel/oneapi/lib/intel64/*.so* .)
|
||||
(cd ${D}${libdir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/lib/intel64/*.so* .)
|
||||
(cd ${D}${libdir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/lib/intel64/*.a* .)
|
||||
install -d ${D}${libdir}/pkgconfig
|
||||
(cd ${D}${libdir}/pkgconfig ; ln -s ../../../opt/intel/oneapi/mkl/${MKLMAINVER}/lib/pkgconfig/* .)
|
||||
|
@ -62,13 +60,14 @@ do_install:append () {
|
|||
done
|
||||
}
|
||||
|
||||
AUTO_LIBNAME_PKGS = ""
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
RDEPENDS:${PN} += "bash tbb intel-oneapi-compiler setup-intel-oneapi-env virtual/opencl-icd"
|
||||
INSANE_SKIP:${PN} = "ldflags textrel dev-so staticdev"
|
||||
RDEPENDS:${PN} += "bash tbb intel-oneapi-dpcpp-cpp-runtime setup-intel-oneapi-env virtual-opencl-icd"
|
||||
INSANE_SKIP:${PN} = "ldflags textrel dev-so staticdev arch already-stripped"
|
||||
|
||||
FILES:${PN}-staticdev += "/opt/intel/oneapi/mkl/${MKLMAINVER}/lib/intel64/*.a*"
|
||||
FILES:${PN}-staticdev += "/opt/intel/oneapi/mkl/${MKLMAINVER}/lib/*.a*"
|
||||
|
||||
SKIP_FILEDEPS:${PN} = '1'
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
From 46b7de8c4ae0cc34805c2a11356c5a730fb8760a Mon Sep 17 00:00:00 2001
|
||||
From: Ezhilarasan <ezhilarasanx.s@intel.com>
|
||||
Date: Fri, 4 Mar 2022 21:04:47 +0530
|
||||
Subject: [PATCH] remove-redundant-RPATH
|
||||
|
||||
Error Log:
|
||||
ERROR: oidn-1.4.3-r0 do_package_qa: QA Issue: oidn: /usr/lib/libOpenImageDenoise.so.1.4.3 contains probably-redundant RPATH /usr/lib
|
||||
oidn: /usr/bin/oidnTest contains probably-redundant RPATH /usr/lib
|
||||
oidn: /usr/bin/oidnDenoise contains probably-redundant RPATH /usr/lib
|
||||
oidn: /usr/bin/oidnBenchmark contains probably-redundant RPATH /usr/lib [useless-rpaths]
|
||||
ERROR: oidn-1.4.3-r0 do_package_qa: Fatal QA errors were found, failing task.
|
||||
|
||||
Remove the redundant RPATH
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Ezhilarasan <ezhilarasanx.s@intel.com>
|
||||
---
|
||||
cmake/oidn_package.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/cmake/oidn_package.cmake b/cmake/oidn_package.cmake
|
||||
index 1f76af8..46c0854 100644
|
||||
--- a/cmake/oidn_package.cmake
|
||||
+++ b/cmake/oidn_package.cmake
|
||||
@@ -29,7 +29,7 @@ if(OIDN_ZIP_MODE)
|
||||
set(CMAKE_INSTALL_RPATH "$ORIGIN/../${CMAKE_INSTALL_LIBDIR}")
|
||||
endif()
|
||||
else()
|
||||
- set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
|
||||
+# set(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_FULL_LIBDIR}")
|
||||
endif()
|
||||
|
||||
## -----------------------------------------------------------------------------
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -7,18 +7,21 @@ HOMEPAGE = "https://www.openimagedenoise.org/"
|
|||
|
||||
LICENSE = "Apache-2.0 & BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
||||
file://mkl-dnn/LICENSE;md5=8e17c0f9656ebaf0c380d9b22707c846 \
|
||||
file://mkl-dnn/src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \
|
||||
file://mkl-dnn/src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \
|
||||
file://external/mkl-dnn/LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
|
||||
file://external/mkl-dnn/src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \
|
||||
file://external/mkl-dnn/src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \
|
||||
file://weights/LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
SRC_URI = "https://github.com/OpenImageDenoise/${BPN}/releases/download/v${PV}/${BP}.src.tar.gz\
|
||||
file://0001-remove-redundant-RPATH.patch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "3276e252297ebad67a999298d8f0c30cfb221e166b166ae5c955d88b94ad062a"
|
||||
SRC_URI[sha256sum] = "ce144ba582ff36563d9442ee07fa2a4d249bc85aa93e5b25fc527ff4ee755ed6"
|
||||
|
||||
inherit cmake
|
||||
|
||||
DEPENDS += "tbb ispc-native"
|
||||
|
||||
do_install:append() {
|
||||
chrpath -d ${D}${bindir}/* ${D}${libdir}/*${SOLIBS}
|
||||
}
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/OpenImageDenoise/oidn/releases"
|
|
@ -16,16 +16,14 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
|||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/openvkl/openvkl.git;protocol=https;branch=master \
|
||||
"
|
||||
SRCREV = "fac6c96b24ae73941716b7368ffc289eb9c47532"
|
||||
SRCREV = "8c6ba526813b871a624cb9d73d4cbb689ac7f4ce"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
DEPENDS = "ispc-native rkcommon embree"
|
||||
DEPENDS = "ispc ispc-native rkcommon embree"
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DISPC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/ispc \
|
|
@ -6,16 +6,17 @@ HOMEPAGE = "https://www.ospray.org/"
|
|||
|
||||
LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=1dece7821bf3fd70fe1309eaa37d52a2 \
|
||||
file://third-party-programs.txt;md5=978092834060d3f38dbcb11ade918e2c \
|
||||
file://third-party-programs.txt;md5=e37b77e3bd997abccc359c710fb1f1db \
|
||||
"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/ospray/ospray.git;protocol=https;branch=master \
|
||||
"
|
||||
SRCREV = "cdb39c88a2fb806feaae30de897acd30297f8e94"
|
||||
SRC_URI = "git://github.com/ospray/ospray.git;protocol=https;branch=master;name=ospray \
|
||||
git://github.com/nothings/stb;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/apps/common/external/stb_image/stb;name=stb;nobranch=1 \
|
||||
"
|
||||
SRCREV_ospray ?= "85af2929937d516997451cbd52d352cf93125ed2"
|
||||
SRCREV_stb ?= "af1a5bc36dff44f0a019df21c271db697d51f1a6"
|
||||
SRCREV_FORMAT = "ospray_stb"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
@ -26,6 +27,7 @@ EXTRA_OECMAKE += " \
|
|||
-DISPC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/ispc \
|
||||
-DOSPRAY_ENABLE_APPS_BENCHMARK=OFF \
|
||||
-DOSPRAY_ENABLE_APPS_TESTING=OFF \
|
||||
-DOSPRAY_ENABLE_APPS_EXAMPLES=OFF \
|
||||
"
|
||||
|
||||
PACKAGES =+ "${PN}-apps"
|
|
@ -8,11 +8,9 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
|||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRC_URI = "git://github.com/ospray/rkcommon.git;protocol=https;branch=master \
|
||||
"
|
||||
SRCREV = "f47553a875382a64c9998bb89a93cd5c8739cc07"
|
||||
SRCREV = "4a00047ae5a3ac705b6b33b4a7574588d91e7953"
|
||||
|
||||
DEPENDS = "tbb"
|
||||
|
|
@ -6,10 +6,10 @@ Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
|
|||
MdePkg/Include/Base.h | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h
|
||||
index d209e6de28..6e61b8f3d3 100644
|
||||
--- a/MdePkg/Include/Base.h
|
||||
+++ b/MdePkg/Include/Base.h
|
||||
Index: edk2/MdePkg/Include/Base.h
|
||||
===================================================================
|
||||
--- edk2.orig/MdePkg/Include/Base.h
|
||||
+++ edk2/MdePkg/Include/Base.h
|
||||
@@ -316,8 +316,12 @@ struct _LIST_ENTRY {
|
||||
#define NULL __null
|
||||
#endif
|
||||
|
@ -20,40 +20,43 @@ index d209e6de28..6e61b8f3d3 100644
|
|||
#endif
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
|
||||
//
|
||||
// Null character
|
||||
@@ -779,6 +783,8 @@ typedef UINTN *BASE_LIST;
|
||||
@@ -813,6 +817,8 @@ typedef UINTN *BASE_LIST;
|
||||
// Section 2.3.1 of the UEFI 2.3 Specification.
|
||||
//
|
||||
|
||||
|
||||
+#ifndef OS_BUILD
|
||||
+#ifndef UNIT_TEST_UEFI_BUILD
|
||||
STATIC_ASSERT (sizeof (BOOLEAN) == 1, "sizeof (BOOLEAN) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (INT8) == 1, "sizeof (INT8) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (UINT8) == 1, "sizeof (UINT8) does not meet UEFI Specification Data Type requirements");
|
||||
@@ -792,6 +798,8 @@ STATIC_ASSERT (sizeof (CHAR8) == 1, "sizeof (CHAR8) does not meet UEFI Specifi
|
||||
STATIC_ASSERT (sizeof (CHAR16) == 2, "sizeof (CHAR16) does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (L'A') == 2, "sizeof (L'A') does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (L"A") == 4, "sizeof (L\"A\") does not meet UEFI Specification Data Type requirements");
|
||||
@@ -841,7 +847,8 @@ STATIC_ASSERT (ALIGNOF (CHAR16) == size
|
||||
STATIC_ASSERT (ALIGNOF (INTN) == sizeof (INTN), "Alignment of INTN does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (ALIGNOF (UINTN) == sizeof (UINTN), "Alignment of UINTN does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (ALIGNOF (VOID *) == sizeof (VOID *), "Alignment of VOID * does not meet UEFI Specification Data Type requirements");
|
||||
-
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
//
|
||||
// The following three enum types are used to verify that the compiler
|
||||
@@ -812,9 +820,13 @@ typedef enum {
|
||||
__VerifyUint32EnumValue = 0xffffffff
|
||||
} __VERIFY_UINT32_ENUM_SIZE;
|
||||
|
||||
// configuration for enum types is compliant with Section 2.3.1 of the
|
||||
@@ -861,6 +868,8 @@ typedef enum {
|
||||
__VerifyInt32EnumValue = 0x7fffffff
|
||||
} __VERIFY_INT32_ENUM_SIZE;
|
||||
|
||||
+#ifndef OS_BUILD
|
||||
+#ifndef UNIT_TEST_UEFI_BUILD
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT8_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT16_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (__VERIFY_UINT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (sizeof (__VERIFY_INT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements");
|
||||
@@ -868,6 +877,8 @@ STATIC_ASSERT (sizeof (__VERIFY_INT32_EN
|
||||
STATIC_ASSERT (ALIGNOF (__VERIFY_UINT8_ENUM_SIZE) == sizeof (__VERIFY_UINT8_ENUM_SIZE), "Alignment of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (ALIGNOF (__VERIFY_UINT16_ENUM_SIZE) == sizeof (__VERIFY_UINT16_ENUM_SIZE), "Alignment of enum does not meet UEFI Specification Data Type requirements");
|
||||
STATIC_ASSERT (ALIGNOF (__VERIFY_INT32_ENUM_SIZE) == sizeof (__VERIFY_INT32_ENUM_SIZE), "Alignment of enum does not meet UEFI Specification Data Type requirements");
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
|
||||
/**
|
||||
Macro that returns a pointer to the data structure that contains a specified field of
|
||||
--
|
||||
2.37.3
|
||||
|
|
|
@ -15,17 +15,16 @@ LICENSE = "BSD-3-Clause | BSD-2-Clause"
|
|||
LIC_FILES_CHKSUM = "file://LICENSE;md5=72b9da60da6219d612ce30b746a0fe71 \
|
||||
file://edk2/License.txt;md5=6123e5bf044a66db96c4ce88a36b2d08"
|
||||
|
||||
SRC_URI = "git://github.com/intel/ipmctl.git;protocol=https;branch=master;name=ipmctl; \
|
||||
git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=git/edk2;branch=master \
|
||||
SRC_URI = "git://github.com/intel/ipmctl.git;protocol=https;branch=master_3_0;name=ipmctl; \
|
||||
git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/edk2;branch=master \
|
||||
file://0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch;patchdir=edk2 \
|
||||
file://0001-CMakeLists-disable-Werror.patch \
|
||||
"
|
||||
|
||||
SRCREV_ipmctl = "c75bd840ea7820c8f93a5488fcff75d08beedd51"
|
||||
#tag edk2-stable202302
|
||||
SRCREV_edk2 = "f80f052277c88a67c55e107b550f504eeea947d3"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV_ipmctl = "a71f2fb1c90dd07f9862b71c789881132193e8f9"
|
||||
#tag edk2-stable202408
|
||||
SRCREV_edk2 = "b158dad150bf02879668f72ce306445250838201"
|
||||
SRCREV_FORMAT = "ipmctl_edk2"
|
||||
|
||||
inherit cmake dos2unix
|
||||
|
|
@ -1,19 +0,0 @@
|
|||
Change the working directory to source to workaround cython
|
||||
embedding absolute path to the pyx file in output.
|
||||
|
||||
Upstream-Status: Inappropriate [OE build specific]
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
|
||||
diff --git a/src/bindings/python/src/compatibility/openvino/cmake/UseCython.cmake b/src/bindings/python/src/compatibility/openvino/cmake/UseCython.cmake
|
||||
index f14662ad50..8d199fe328 100644
|
||||
--- a/src/bindings/python/src/compatibility/openvino/cmake/UseCython.cmake
|
||||
+++ b/src/bindings/python/src/compatibility/openvino/cmake/UseCython.cmake
|
||||
@@ -259,7 +259,7 @@ function( compile_pyx _name generated_file )
|
||||
add_custom_command( OUTPUT ${_generated_file}
|
||||
COMMAND ${CYTHON_EXECUTABLE}
|
||||
ARGS ${cxx_arg} ${include_directory_arg} ${version_arg}
|
||||
- ${annotate_arg} ${no_docstrings_arg} ${cython_debug_arg} ${CYTHON_FLAGS}
|
||||
+ ${annotate_arg} ${no_docstrings_arg} ${cython_debug_arg} ${CYTHON_FLAGS} -w ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
--output-file ${_generated_file} ${pyx_locations}
|
||||
DEPENDS ${pyx_locations} ${pxd_dependencies} ${pxi_dependencies}
|
||||
IMPLICIT_DEPENDS ${pyx_lang} ${c_header_dependencies}
|
|
@ -1,87 +0,0 @@
|
|||
Yocto specific tweaks to the build process:
|
||||
|
||||
* Dont try to detect glibc version as that doesn't work when cross compiling.
|
||||
* Use shared protobuf and gflags libs.
|
||||
* Install sample binaries as well.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
|
||||
diff --git a/cmake/developer_package/target_flags.cmake b/cmake/developer_package/target_flags.cmake
|
||||
index e6c72540288..fec9996db14 100644
|
||||
--- a/cmake/developer_package/target_flags.cmake
|
||||
+++ b/cmake/developer_package/target_flags.cmake
|
||||
@@ -123,4 +123,4 @@ function(ov_glibc_version)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
-ov_glibc_version()
|
||||
+#ov_glibc_version()
|
||||
diff --git a/samples/c/common/opencv_c_wrapper/CMakeLists.txt b/samples/c/common/opencv_c_wrapper/CMakeLists.txt
|
||||
index 40c29d3c297..f6800592de9 100644
|
||||
--- a/samples/c/common/opencv_c_wrapper/CMakeLists.txt
|
||||
+++ b/samples/c/common/opencv_c_wrapper/CMakeLists.txt
|
||||
@@ -32,5 +32,4 @@ endif()
|
||||
install(
|
||||
TARGETS ${TARGET_NAME}
|
||||
RUNTIME DESTINATION samples_bin/ COMPONENT samples_bin EXCLUDE_FROM_ALL
|
||||
- LIBRARY DESTINATION samples_bin/ COMPONENT samples_bin EXCLUDE_FROM_ALL
|
||||
-)
|
||||
+ LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT samples_bin)
|
||||
diff --git a/samples/cpp/CMakeLists.txt b/samples/cpp/CMakeLists.txt
|
||||
index 1fe54c602e8..01c86d418d9 100644
|
||||
--- a/samples/cpp/CMakeLists.txt
|
||||
+++ b/samples/cpp/CMakeLists.txt
|
||||
@@ -230,9 +230,8 @@ macro(ie_add_sample)
|
||||
target_link_libraries(${IE_SAMPLE_NAME} PRIVATE ${ov_link_libraries} Threads::Threads ${IE_SAMPLE_DEPENDENCIES})
|
||||
|
||||
install(TARGETS ${IE_SAMPLE_NAME}
|
||||
- RUNTIME DESTINATION samples_bin/
|
||||
- COMPONENT samples_bin
|
||||
- EXCLUDE_FROM_ALL)
|
||||
+ DESTINATION ${CMAKE_INSTALL_BINDIR}
|
||||
+ COMPONENT samples_bin)
|
||||
|
||||
# create global target with all samples / demo apps
|
||||
if(NOT TARGET ie_samples)
|
||||
diff --git a/samples/cpp/common/format_reader/CMakeLists.txt b/samples/cpp/common/format_reader/CMakeLists.txt
|
||||
index 7c07bf07dbb..4cd566749e5 100644
|
||||
--- a/samples/cpp/common/format_reader/CMakeLists.txt
|
||||
+++ b/samples/cpp/common/format_reader/CMakeLists.txt
|
||||
@@ -44,5 +44,5 @@ endif()
|
||||
install(
|
||||
TARGETS ${TARGET_NAME}
|
||||
RUNTIME DESTINATION samples_bin/ COMPONENT samples_bin EXCLUDE_FROM_ALL
|
||||
- LIBRARY DESTINATION samples_bin/ COMPONENT samples_bin EXCLUDE_FROM_ALL
|
||||
+ LIBRARY DESTINATION ${IE_CPACK_LIBRARY_PATH} COMPONENT samples_bin
|
||||
)
|
||||
diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt
|
||||
index cf2863438c7..3ec5c5ed86b 100644
|
||||
--- a/thirdparty/CMakeLists.txt
|
||||
+++ b/thirdparty/CMakeLists.txt
|
||||
@@ -268,11 +268,11 @@ endif()
|
||||
|
||||
if(ENABLE_SAMPLES OR ENABLE_COMPILE_TOOL OR ENABLE_TESTS)
|
||||
if(LINUX)
|
||||
- if(OV_OS_RHEL)
|
||||
- set(gflag_component nothreads_shared)
|
||||
- elseif(OV_OS_DEBIAN)
|
||||
- set(gflag_component nothreads_static)
|
||||
- endif()
|
||||
+ #if(OV_OS_RHEL)
|
||||
+ set(gflag_component nothreads_shared)
|
||||
+ #elseif(OV_OS_DEBIAN)
|
||||
+ #set(gflag_component nothreads_static)
|
||||
+ #endif()
|
||||
find_package(gflags QUIET OPTIONAL_COMPONENTS ${gflag_component})
|
||||
endif()
|
||||
|
||||
@@ -329,7 +329,7 @@ endif()
|
||||
|
||||
if(ENABLE_OV_PADDLE_FRONTEND OR ENABLE_OV_ONNX_FRONTEND OR ENABLE_OV_TF_FRONTEND)
|
||||
if(ENABLE_SYSTEM_PROTOBUF)
|
||||
- set(Protobuf_USE_STATIC_LIBS ON)
|
||||
+ #set(Protobuf_USE_STATIC_LIBS ON)
|
||||
if(CMAKE_VERBOSE_MAKEFILE)
|
||||
set(Protobuf_DEBUG ON)
|
||||
endif()
|
|
@ -1,29 +0,0 @@
|
|||
From fe3e1d923399da1d71458f5c468563b61784380c Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Fri, 21 Oct 2022 11:38:23 +0800
|
||||
Subject: [PATCH] demos: use gflags from meta-oe
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
demos/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt
|
||||
index 1484a50d5..996934310 100644
|
||||
--- a/demos/CMakeLists.txt
|
||||
+++ b/demos/CMakeLists.txt
|
||||
@@ -140,7 +140,7 @@ endmacro()
|
||||
find_package(OpenCV REQUIRED COMPONENTS core highgui videoio imgproc imgcodecs)
|
||||
find_package(OpenVINO REQUIRED COMPONENTS Runtime)
|
||||
|
||||
-add_subdirectory(thirdparty/gflags)
|
||||
+#add_subdirectory(thirdparty/gflags)
|
||||
add_subdirectory(common/cpp)
|
||||
# TODO: remove wrapping if after OpenCV3 is dropped
|
||||
if(OpenCV_VERSION VERSION_GREATER_EQUAL 4.5.3)
|
||||
--
|
||||
2.25.1
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
SUMMARY = "OpenVINO(TM) Toolkit - Open Model Zoo repository"
|
||||
HOMEPAGE = "https://github.com/opencv/open_model_zoo"
|
||||
DESCRIPTION = "This repository includes optimized deep learning \
|
||||
models and a set of demos to expedite development of high-performance \
|
||||
deep learning inference applications."
|
||||
|
||||
SRC_URI = "git://github.com/opencv/open_model_zoo.git;protocol=https;branch=releases/2022/2 \
|
||||
file://0001-use-oe-gflags.patch \
|
||||
"
|
||||
|
||||
SRCREV = "1919ae9d42c19d8f3bafc2417256ab3a67b6db79"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
|
||||
"
|
||||
|
||||
inherit cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
OECMAKE_SOURCEPATH = "${S}/demos"
|
||||
|
||||
DEPENDS += "openvino-inference-engine opencv gflags"
|
||||
|
||||
RDEPENDS:${PN} += " \
|
||||
python3-decorator \
|
||||
python3-defusedxml \
|
||||
python3-networkx \
|
||||
python3-protobuf \
|
||||
python3-requests \
|
||||
python3-pyyaml \
|
||||
python3-numpy \
|
||||
bash \
|
||||
"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DENABLE_SAMPLES=ON \
|
||||
"
|
||||
|
||||
do_install(){
|
||||
install -d ${D}${libdir}
|
||||
install -d ${D}${bindir}
|
||||
install -d ${D}${datadir}/openvino/open-model-zoo/tools
|
||||
install -d ${D}${datadir}/openvino/open-model-zoo/demos
|
||||
cp -rf ${WORKDIR}/build/intel64/Release/*.a ${D}${libdir}
|
||||
cp -rf ${WORKDIR}/build/intel64/Release/*_demo* ${D}${bindir}
|
||||
cp -rf ${WORKDIR}/git/models ${D}${datadir}/openvino/open-model-zoo
|
||||
cp -rf ${WORKDIR}/git/demos ${D}${datadir}/openvino/open-model-zoo
|
||||
cp -rf ${WORKDIR}/git/tools/model_tools ${D}${datadir}/openvino/open-model-zoo/tools
|
||||
}
|
||||
|
||||
FILES:${PN} += "${datadir}/openvino"
|
|
@ -1,120 +0,0 @@
|
|||
SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit"
|
||||
HOMEPAGE = "https://github.com/opencv/dldt"
|
||||
DESCRIPTION = "This toolkit allows developers to deploy pre-trained \
|
||||
deep learning models through a high-level C++ Inference Engine API \
|
||||
integrated with application logic."
|
||||
|
||||
SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2022/3;lfs=0 \
|
||||
https://storage.openvinotoolkit.org/dependencies/myriad/firmware_usb-ma2x8x_20230121_38.zip;name=usb_ma2x8x \
|
||||
https://storage.openvinotoolkit.org/dependencies/myriad/firmware_pcie-ma2x8x_20230121_38.zip;name=pcie_ma2x8x \
|
||||
git://github.com/openvinotoolkit/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/onednn;name=mkl;nobranch=1 \
|
||||
git://github.com/oneapi-src/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_gpu/thirdparty/onednn_gpu;name=onednn;nobranch=1 \
|
||||
git://github.com/herumi/xbyak.git;protocol=https;destsuffix=git/thirdparty/xbyak;name=xbyak;branch=master \
|
||||
git://github.com/nlohmann/json.git;protocol=https;destsuffix=git/thirdparty/json/nlohmann_json;name=json;branch=develop \
|
||||
git://github.com/opencv/ade.git;protocol=https;destsuffix=git/thirdparty/ade;name=ade;nobranch=1 \
|
||||
file://fix-build.patch \
|
||||
file://cython-cmake.patch \
|
||||
"
|
||||
|
||||
SRCREV = "0a5ca5375265f0f12cdaee68574030408dd1c352"
|
||||
SRCREV_mkl = "44de3c3698b687c26e487fc8f0213fa487e8fe2c"
|
||||
SRCREV_onednn = "fbec3e25a559ee252022ae066817b204e106a6ba"
|
||||
SRCREV_xbyak = "f8ea5c28dfcdc98585881d0ca9e499580ca077ae"
|
||||
SRCREV_json = "bc889afb4c5bf1c0d8ee29ef35eaaf4c8bef8a5d"
|
||||
SRCREV_ade = "58b2595a1a95cc807be8bf6222f266a9a1f393a9"
|
||||
|
||||
SRC_URI[usb_ma2x8x.sha256sum] = "f7351b2e26f25d652a0539f6ace5797d7700735d52479c3e6ef354c236abbd3a"
|
||||
SRC_URI[pcie_ma2x8x.sha256sum] = "439219aeac010f8b85f19838420e9a247f2cdf23a6d00e7727cf92d96dbdaeeb"
|
||||
|
||||
LICENSE = "Apache-2.0 & MIT & BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
|
||||
file://thirdparty/xbyak/COPYRIGHT;md5=3c98edfaa50a86eeaef4c6109e803f16 \
|
||||
file://thirdparty/cnpy/LICENSE;md5=689f10b06d1ca2d4b1057e67b16cd580 \
|
||||
file://thirdparty/json/nlohmann_json/LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588 \
|
||||
file://thirdparty/ade/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
||||
file://src/plugins/intel_cpu/thirdparty/onednn/LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
|
||||
file://src/plugins/intel_gpu/thirdparty/onednn_gpu/LICENSE;md5=b48e3de3bfd47c27882a0d85b20823f5 \
|
||||
"
|
||||
|
||||
inherit cmake python3native pkgconfig
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
EXTRA_OECMAKE += " \
|
||||
-DENABLE_OPENCV=OFF \
|
||||
-DENABLE_INTEL_GNA=OFF \
|
||||
-DENABLE_SYSTEM_TBB=ON \
|
||||
-DPYTHON_EXECUTABLE=${PYTHON} \
|
||||
-DCMAKE_BUILD_TYPE=RelWithDebInfo \
|
||||
-DTHREADING=TBB -DTBB_DIR="${STAGING_LIBDIR}/cmake/TBB" \
|
||||
-DTREAT_WARNING_AS_ERROR=FALSE \
|
||||
-DENABLE_DATA=FALSE \
|
||||
-DENABLE_SYSTEM_PUGIXML=TRUE \
|
||||
-DENABLE_SYSTEM_PROTOBUF=TRUE \
|
||||
-DENABLE_OV_ONNX_FRONTEND=FALSE \
|
||||
-DUSE_BUILD_TYPE_SUBFOLDER=OFF \
|
||||
-DENABLE_FUZZING=OFF \
|
||||
-DENABLE_TBBBIND_2_5=OFF \
|
||||
-DCPACK_GENERATOR=RPM \
|
||||
"
|
||||
|
||||
|
||||
DEPENDS += "\
|
||||
gflags \
|
||||
libusb1 \
|
||||
protobuf \
|
||||
protobuf-native \
|
||||
protobuf-c \
|
||||
pugixml \
|
||||
python3-pybind11 \
|
||||
tbb \
|
||||
zlib \
|
||||
"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
PACKAGECONFIG ?= "vpu opencl samples"
|
||||
PACKAGECONFIG[opencl] = "-DENABLE_INTEL_GPU=TRUE, -DENABLE_INTEL_GPU=FALSE, virtual/opencl-icd opencl-headers opencl-clhpp,"
|
||||
PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR}, -DENABLE_PYTHON=OFF, python3-cython-native patchelf-native, python3 python3-numpy python3-progress python3-cython"
|
||||
PACKAGECONFIG[samples] = "-DENABLE_SAMPLES=ON -DENABLE_COMPILE_TOOL=ON, -DENABLE_SAMPLES=OFF -DENABLE_COMPILE_TOOL=OFF, opencv"
|
||||
PACKAGECONFIG[vpu] = "-DENABLE_INTEL_MYRIAD=ON -DVPU_FIRMWARE_USB-MA2X8X_FILE=../usb-ma2x8x.mvcmd -DVPU_FIRMWARE_PCIE-MA2X8X_FILE=../pcie-ma2x8x.mvcmd,-DENABLE_INTEL_MYRIAD=OFF,,${PN}-vpu-firmware"
|
||||
PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0"
|
||||
|
||||
do_configure:prepend() {
|
||||
# Dont set PROJECT_ROOT_DIR
|
||||
sed -i -e 's:\${OpenVINO_SOURCE_DIR}::;' ${S}/src/CMakeLists.txt
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
rm -rf ${D}${prefix}/install_dependencies
|
||||
rm -rf ${D}${prefix}/setupvars.sh
|
||||
|
||||
sed -i -e 's:^#include.*imp.hpp"$:#include "/usr/src/debug/${PN}/${EXTENDPE}${PV}-${PR}/git/src/plugins/intel_cpu/src/nodes/proposal_imp.hpp":g;' ${B}/src/plugins/intel_cpu/cross-compiled/proposal_imp_disp.cpp
|
||||
}
|
||||
|
||||
# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR
|
||||
# instead of RSS
|
||||
SSTATE_SCAN_FILES:append = " *.cmake"
|
||||
|
||||
FILES:${PN} += "\
|
||||
${libdir}/openvino-${PV}/lib*${SOLIBSDEV} \
|
||||
${libdir}/openvino-${PV}/plugins.xml \
|
||||
${libdir}/openvino-${PV}/cache.json \
|
||||
"
|
||||
|
||||
# Move inference engine samples into a separate package
|
||||
PACKAGES =+ "${PN}-samples ${PN}-vpu-firmware"
|
||||
|
||||
FILES:${PN}-samples = "${datadir}/openvino \
|
||||
${bindir} \
|
||||
${libdir}/libformat_reader.so \
|
||||
${libdir}/libopencv_c_wrapper.so \
|
||||
"
|
||||
FILES:${PN}-vpu-firmware += "${libdir}/openvino-${PV}/*.mvcmd"
|
||||
|
||||
# Package for inference engine python API
|
||||
PACKAGES =+ "${PN}-${PYTHON_PN}"
|
||||
|
||||
FILES:${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$"
|
|
@ -1,109 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget
|
||||
from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest
|
||||
from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest
|
||||
from oeqa.runtime.miutils.tests.dldt_inference_engine_test import DldtInferenceEngineTest
|
||||
from oeqa.runtime.miutils.dldtutils import get_testdata_config
|
||||
|
||||
class DldtInferenceEngine(OERuntimeTestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/ie/md')
|
||||
cls.sqn_download.setup()
|
||||
cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/ie/ir')
|
||||
cls.dldt_mo.setup()
|
||||
cls.dldt_ie = DldtInferenceEngineTest(OEQATarget(cls.tc.target), '/tmp/ie/inputs')
|
||||
cls.dldt_ie.setup()
|
||||
cls.ir_files_dir = cls.dldt_mo.work_dir
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.dldt_ie.tear_down()
|
||||
cls.dldt_mo.tear_down()
|
||||
cls.sqn_download.tear_down()
|
||||
|
||||
@OEHasPackage(['dldt-model-optimizer'])
|
||||
@OEHasPackage(['wget'])
|
||||
def test_dldt_ie_can_create_ir_and_download_input(self):
|
||||
proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY')
|
||||
if not proxy_port:
|
||||
self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").')
|
||||
(status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
(status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR')
|
||||
if not mo_exe_dir:
|
||||
self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").')
|
||||
mo_files_dir = self.sqn_download.work_dir
|
||||
(status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
(status, output) = self.dldt_ie.test_can_download_input_file(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-samples'])
|
||||
def test_dldt_ie_classification_with_cpu(self):
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('CPU', self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-samples'])
|
||||
@OEHasPackage(['intel-compute-runtime'])
|
||||
@OEHasPackage(['ocl-icd'])
|
||||
def test_dldt_ie_classification_with_gpu(self):
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('GPU', self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-samples'])
|
||||
@OEHasPackage(['dldt-inference-engine-vpu-firmware'])
|
||||
def test_dldt_ie_classification_with_myriad(self):
|
||||
device = 'MYRIAD'
|
||||
(status, output) = self.dldt_ie.test_check_if_openvino_device_available(device)
|
||||
if not status:
|
||||
self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output))
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_with_device(device, self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-python3'])
|
||||
@OEHasPackage(['python3-opencv'])
|
||||
@OEHasPackage(['python3-numpy'])
|
||||
def test_dldt_ie_classification_python_api_with_cpu(self):
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('CPU', self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-python3'])
|
||||
@OEHasPackage(['intel-compute-runtime'])
|
||||
@OEHasPackage(['ocl-icd'])
|
||||
@OEHasPackage(['python3-opencv'])
|
||||
@OEHasPackage(['python3-numpy'])
|
||||
def test_dldt_ie_classification_python_api_with_gpu(self):
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('GPU', self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
|
||||
@OEHasPackage(['dldt-inference-engine'])
|
||||
@OEHasPackage(['dldt-inference-engine-python3'])
|
||||
@OEHasPackage(['dldt-inference-engine-vpu-firmware'])
|
||||
@OEHasPackage(['python3-opencv'])
|
||||
@OEHasPackage(['python3-numpy'])
|
||||
def test_dldt_ie_classification_python_api_with_myriad(self):
|
||||
device = 'MYRIAD'
|
||||
(status, output) = self.dldt_ie.test_check_if_openvino_device_available(device)
|
||||
if not status:
|
||||
self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output))
|
||||
(status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device(device, self.ir_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
|
@ -1,38 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget
|
||||
from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest
|
||||
from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest
|
||||
from oeqa.runtime.miutils.dldtutils import get_testdata_config
|
||||
|
||||
class DldtModelOptimizer(OERuntimeTestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/mo/md')
|
||||
cls.sqn_download.setup()
|
||||
cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/mo/ir')
|
||||
cls.dldt_mo.setup()
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.dldt_mo.tear_down()
|
||||
cls.sqn_download.tear_down()
|
||||
|
||||
@OEHasPackage(['dldt-model-optimizer'])
|
||||
@OEHasPackage(['wget'])
|
||||
def test_dldt_mo_can_create_ir(self):
|
||||
proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY')
|
||||
if not proxy_port:
|
||||
self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").')
|
||||
(status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
(status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR')
|
||||
if not mo_exe_dir:
|
||||
self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").')
|
||||
mo_files_dir = self.sqn_download.work_dir
|
||||
(status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
|
@ -0,0 +1,9 @@
|
|||
# These should be reviewed to see if they are still needed
|
||||
ACPI: No _BQC method, cannot determine initial brightness
|
||||
[Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness
|
||||
(EE) Failed to load module "psb"
|
||||
(EE) Failed to load module "psbdrv"
|
||||
(EE) open /dev/fb0: No such file or directory
|
||||
(EE) AIGLX: reverting to software rendering
|
||||
dmi: Firmware registration failed.
|
||||
ioremap error for 0x78
|
14
lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt
Normal file
14
lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt
Normal file
|
@ -0,0 +1,14 @@
|
|||
# These should be reviewed to see if they are still needed
|
||||
can't set Max Payload Size to 256
|
||||
intel_punit_ipc: can't request region for resource
|
||||
[drm] parse error at position 4 in video mode 'efifb'
|
||||
ACPI Error: Could not enable RealTimeClock event
|
||||
ACPI Warning: Could not enable fixed event - RealTimeClock
|
||||
hci_intel INT33E1:00: Unable to retrieve gpio
|
||||
hci_intel: probe of INT33E1:00 failed
|
||||
can't derive routing for PCI INT A
|
||||
failed to read out thermal zone
|
||||
Bluetooth: hci0: Setting Intel event mask failed
|
||||
ttyS2 - failed to request DMA
|
||||
Bluetooth: hci0: Failed to send firmware data (-38)
|
||||
atkbd serio0: Failed to enable keyboard on isa0060/serio0
|
|
@ -1,135 +0,0 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Copyright (C) 2018-2019 Intel Corporation
|
||||
|
||||
Licensed under the Apache License, Version 2.0 (the "License");
|
||||
you may not use this file except in compliance with the License.
|
||||
You may obtain a copy of the License at
|
||||
|
||||
http://www.apache.org/licenses/LICENSE-2.0
|
||||
|
||||
Unless required by applicable law or agreed to in writing, software
|
||||
distributed under the License is distributed on an "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
"""
|
||||
from __future__ import print_function
|
||||
import sys
|
||||
import os
|
||||
from argparse import ArgumentParser, SUPPRESS
|
||||
import cv2
|
||||
import numpy as np
|
||||
import logging as log
|
||||
from time import time
|
||||
from openvino.inference_engine import IENetwork, IECore
|
||||
|
||||
|
||||
def build_argparser():
|
||||
parser = ArgumentParser(add_help=False)
|
||||
args = parser.add_argument_group('Options')
|
||||
args.add_argument('-h', '--help', action='help', default=SUPPRESS, help='Show this help message and exit.')
|
||||
args.add_argument("-m", "--model", help="Required. Path to an .xml file with a trained model.", required=True,
|
||||
type=str)
|
||||
args.add_argument("-i", "--input", help="Required. Path to a folder with images or path to an image files",
|
||||
required=True,
|
||||
type=str, nargs="+")
|
||||
args.add_argument("-l", "--cpu_extension",
|
||||
help="Optional. Required for CPU custom layers. "
|
||||
"MKLDNN (CPU)-targeted custom layers. Absolute path to a shared library with the"
|
||||
" kernels implementations.", type=str, default=None)
|
||||
args.add_argument("-d", "--device",
|
||||
help="Optional. Specify the target device to infer on; CPU, GPU, FPGA, HDDL, MYRIAD or HETERO: is "
|
||||
"acceptable. The sample will look for a suitable plugin for device specified. Default "
|
||||
"value is CPU",
|
||||
default="CPU", type=str)
|
||||
args.add_argument("--labels", help="Optional. Path to a labels mapping file", default=None, type=str)
|
||||
args.add_argument("-nt", "--number_top", help="Optional. Number of top results", default=10, type=int)
|
||||
|
||||
return parser
|
||||
|
||||
|
||||
def main():
|
||||
log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)
|
||||
args = build_argparser().parse_args()
|
||||
model_xml = args.model
|
||||
model_bin = os.path.splitext(model_xml)[0] + ".bin"
|
||||
|
||||
# Plugin initialization for specified device and load extensions library if specified
|
||||
log.info("Creating Inference Engine")
|
||||
ie = IECore()
|
||||
if args.cpu_extension and 'CPU' in args.device:
|
||||
ie.add_extension(args.cpu_extension, "CPU")
|
||||
# Read IR
|
||||
log.info("Loading network files:\n\t{}\n\t{}".format(model_xml, model_bin))
|
||||
net = IENetwork(model=model_xml, weights=model_bin)
|
||||
|
||||
if "CPU" in args.device:
|
||||
supported_layers = ie.query_network(net, "CPU")
|
||||
not_supported_layers = [l for l in net.layers.keys() if l not in supported_layers]
|
||||
if len(not_supported_layers) != 0:
|
||||
log.error("Following layers are not supported by the plugin for specified device {}:\n {}".
|
||||
format(args.device, ', '.join(not_supported_layers)))
|
||||
log.error("Please try to specify cpu extensions library path in sample's command line parameters using -l "
|
||||
"or --cpu_extension command line argument")
|
||||
sys.exit(1)
|
||||
|
||||
assert len(net.inputs.keys()) == 1, "Sample supports only single input topologies"
|
||||
assert len(net.outputs) == 1, "Sample supports only single output topologies"
|
||||
|
||||
log.info("Preparing input blobs")
|
||||
input_blob = next(iter(net.inputs))
|
||||
out_blob = next(iter(net.outputs))
|
||||
net.batch_size = len(args.input)
|
||||
|
||||
# Read and pre-process input images
|
||||
n, c, h, w = net.inputs[input_blob].shape
|
||||
images = np.ndarray(shape=(n, c, h, w))
|
||||
for i in range(n):
|
||||
image = cv2.imread(args.input[i])
|
||||
if image.shape[:-1] != (h, w):
|
||||
log.warning("Image {} is resized from {} to {}".format(args.input[i], image.shape[:-1], (h, w)))
|
||||
image = cv2.resize(image, (w, h))
|
||||
image = image.transpose((2, 0, 1)) # Change data layout from HWC to CHW
|
||||
images[i] = image
|
||||
log.info("Batch size is {}".format(n))
|
||||
|
||||
# Loading model to the plugin
|
||||
log.info("Loading model to the plugin")
|
||||
exec_net = ie.load_network(network=net, device_name=args.device)
|
||||
|
||||
# Start sync inference
|
||||
log.info("Starting inference in synchronous mode")
|
||||
res = exec_net.infer(inputs={input_blob: images})
|
||||
|
||||
# Processing output blob
|
||||
log.info("Processing output blob")
|
||||
res = res[out_blob]
|
||||
log.info("Top {} results: ".format(args.number_top))
|
||||
if args.labels:
|
||||
with open(args.labels, 'r') as f:
|
||||
labels_map = [x.split(sep=' ', maxsplit=1)[-1].strip() for x in f]
|
||||
else:
|
||||
labels_map = None
|
||||
classid_str = "classid"
|
||||
probability_str = "probability"
|
||||
for i, probs in enumerate(res):
|
||||
probs = np.squeeze(probs)
|
||||
top_ind = np.argsort(probs)[-args.number_top:][::-1]
|
||||
print("Image {}\n".format(args.input[i]))
|
||||
print(classid_str, probability_str)
|
||||
print("{} {}".format('-' * len(classid_str), '-' * len(probability_str)))
|
||||
for id in top_ind:
|
||||
det_label = labels_map[id] if labels_map else "{}".format(id)
|
||||
label_length = len(det_label)
|
||||
space_num_before = (len(classid_str) - label_length) // 2
|
||||
space_num_after = len(classid_str) - (space_num_before + label_length) + 2
|
||||
space_num_before_prob = (len(probability_str) - len(str(probs[id]))) // 2
|
||||
print("{}{}{}{}{:.7f}".format(' ' * space_num_before, det_label,
|
||||
' ' * space_num_after, ' ' * space_num_before_prob,
|
||||
probs[id]))
|
||||
print("\n")
|
||||
log.info("This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool\n")
|
||||
|
||||
if __name__ == '__main__':
|
||||
sys.exit(main() or 0)
|
|
@ -1,3 +0,0 @@
|
|||
|
||||
def get_testdata_config(testdata, config):
|
||||
return testdata.get(config)
|
|
@ -1,56 +0,0 @@
|
|||
import os
|
||||
script_path = os.path.dirname(os.path.realpath(__file__))
|
||||
files_path = os.path.join(script_path, '../../files/')
|
||||
|
||||
class DldtInferenceEngineTest(object):
|
||||
ie_input_files = {'ie_python_sample': 'classification_sample.py',
|
||||
'input': 'chicky_512.png',
|
||||
'input_download': 'https://raw.githubusercontent.com/opencv/opencv/master/samples/data/chicky_512.png',
|
||||
'model': 'squeezenet_v1.1.xml'}
|
||||
|
||||
def __init__(self, target, work_dir):
|
||||
self.target = target
|
||||
self.work_dir = work_dir
|
||||
|
||||
def setup(self):
|
||||
self.target.run('mkdir -p %s' % self.work_dir)
|
||||
self.target.copy_to(os.path.join(files_path, 'dldt-inference-engine', self.ie_input_files['ie_python_sample']),
|
||||
self.work_dir)
|
||||
python_cmd = 'from openvino.inference_engine import IENetwork, IECore; ie = IECore(); print(ie.available_devices)'
|
||||
__, output = self.target.run('python3 -c "%s"' % python_cmd)
|
||||
self.available_devices = output
|
||||
|
||||
def tear_down(self):
|
||||
self.target.run('rm -rf %s' % self.work_dir)
|
||||
|
||||
def test_check_if_openvino_device_available(self, device):
|
||||
if device not in self.available_devices:
|
||||
return False, self.available_devices
|
||||
return True, self.available_devices
|
||||
|
||||
def test_can_download_input_file(self, proxy_port):
|
||||
return self.target.run('cd %s; wget %s -e https_proxy=%s' %
|
||||
(self.work_dir,
|
||||
self.ie_input_files['input_download'],
|
||||
proxy_port))
|
||||
|
||||
def test_dldt_ie_classification_with_device(self, device, ir_files_dir):
|
||||
return self.target.run('classification_sample_async -d %s -i %s -m %s' %
|
||||
(device,
|
||||
os.path.join(self.work_dir, self.ie_input_files['input']),
|
||||
os.path.join(ir_files_dir, self.ie_input_files['model'])))
|
||||
|
||||
def test_dldt_ie_classification_python_api_with_device(self, device, ir_files_dir, extension=''):
|
||||
if extension:
|
||||
return self.target.run('python3 %s -d %s -i %s -m %s -l %s' %
|
||||
(os.path.join(self.work_dir, self.ie_input_files['ie_python_sample']),
|
||||
device,
|
||||
os.path.join(self.work_dir, self.ie_input_files['input']),
|
||||
os.path.join(ir_files_dir, self.ie_input_files['model']),
|
||||
extension))
|
||||
else:
|
||||
return self.target.run('python3 %s -d %s -i %s -m %s' %
|
||||
(os.path.join(self.work_dir, self.ie_input_files['ie_python_sample']),
|
||||
device,
|
||||
os.path.join(self.work_dir, self.ie_input_files['input']),
|
||||
os.path.join(ir_files_dir, self.ie_input_files['model'])))
|
|
@ -1,23 +0,0 @@
|
|||
import os
|
||||
|
||||
class DldtModelOptimizerTest(object):
|
||||
mo_input_files = {'model': 'squeezenet_v1.1.caffemodel',
|
||||
'prototxt': 'deploy.prototxt'}
|
||||
mo_exe = 'mo.py'
|
||||
|
||||
def __init__(self, target, work_dir):
|
||||
self.target = target
|
||||
self.work_dir = work_dir
|
||||
|
||||
def setup(self):
|
||||
self.target.run('mkdir -p %s' % self.work_dir)
|
||||
|
||||
def tear_down(self):
|
||||
self.target.run('rm -rf %s' % self.work_dir)
|
||||
|
||||
def test_dldt_mo_can_create_ir(self, mo_exe_dir, mo_files_dir):
|
||||
return self.target.run('python3 %s --input_model %s --input_proto %s --output_dir %s --data_type FP16' %
|
||||
(os.path.join(mo_exe_dir, self.mo_exe),
|
||||
os.path.join(mo_files_dir, self.mo_input_files['model']),
|
||||
os.path.join(mo_files_dir, self.mo_input_files['prototxt']),
|
||||
self.work_dir))
|
|
@ -1,25 +0,0 @@
|
|||
class SqueezenetModelDownloadTest(object):
|
||||
download_files = {'squeezenet1.1.prototxt': 'https://raw.githubusercontent.com/DeepScale/SqueezeNet/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/deploy.prototxt',
|
||||
'squeezenet1.1.caffemodel': 'https://github.com/DeepScale/SqueezeNet/raw/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/squeezenet_v1.1.caffemodel'}
|
||||
|
||||
def __init__(self, target, work_dir):
|
||||
self.target = target
|
||||
self.work_dir = work_dir
|
||||
|
||||
def setup(self):
|
||||
self.target.run('mkdir -p %s' % self.work_dir)
|
||||
|
||||
def tear_down(self):
|
||||
self.target.run('rm -rf %s' % self.work_dir)
|
||||
|
||||
def test_can_download_squeezenet_model(self, proxy_port):
|
||||
return self.target.run('cd %s; wget %s -e https_proxy=%s' %
|
||||
(self.work_dir,
|
||||
self.download_files['squeezenet1.1.caffemodel'],
|
||||
proxy_port))
|
||||
|
||||
def test_can_download_squeezenet_prototxt(self, proxy_port):
|
||||
return self.target.run('cd %s; wget %s -e https_proxy=%s' %
|
||||
(self.work_dir,
|
||||
self.download_files['squeezenet1.1.prototxt'],
|
||||
proxy_port))
|
|
@ -1,176 +0,0 @@
|
|||
#!/usr/bin/env python
|
||||
# ex:ts=4:sw=4:sts=4:et
|
||||
# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*-
|
||||
#
|
||||
# Copyright (c) 2017, Intel Corporation.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This program is free software; you can redistribute it and/or modify
|
||||
# it under the terms of the GNU General Public License version 2 as
|
||||
# published by the Free Software Foundation.
|
||||
#
|
||||
# This program is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
# GNU General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU General Public License along
|
||||
# with this program; if not, write to the Free Software Foundation, Inc.,
|
||||
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||
#
|
||||
# AUTHORS
|
||||
# Mikko Ylinen <mikko.ylinen@linux.intel.com>
|
||||
#
|
||||
# Based on meta/lib/oeqa/selftest/* and meta-refkit/lib/oeqa/selftest/*
|
||||
|
||||
"""Test cases for secure boot with QEMU running OVMF."""
|
||||
|
||||
import os
|
||||
import unittest
|
||||
import re
|
||||
import glob
|
||||
from shutil import rmtree, copy
|
||||
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.selftest.case import OESelftestTestCase
|
||||
from oeqa.utils.commands import runCmd, bitbake, get_bb_var, get_bb_vars, runqemu
|
||||
|
||||
class SecureBootTests(OESelftestTestCase):
|
||||
"""Secure Boot test class."""
|
||||
|
||||
ovmf_keys_enrolled = False
|
||||
ovmf_qemuparams = ''
|
||||
ovmf_dir = ''
|
||||
test_image_unsigned = 'secureboot-selftest-image-unsigned'
|
||||
test_image_signed = 'secureboot-selftest-image-signed'
|
||||
correct_key = 'refkit-db'
|
||||
incorrect_key = 'incorrect'
|
||||
|
||||
@classmethod
|
||||
def setUpLocal(self):
|
||||
|
||||
if not SecureBootTests.ovmf_keys_enrolled:
|
||||
bitbake('ovmf ovmf-shell-image-enrollkeys', output_log=self.logger)
|
||||
|
||||
bb_vars = get_bb_vars(['TMPDIR', 'DEPLOY_DIR_IMAGE'])
|
||||
|
||||
SecureBootTests.ovmf_dir = os.path.join(bb_vars['TMPDIR'], 'oeselftest', 'secureboot', 'ovmf')
|
||||
bb.utils.mkdirhier(SecureBootTests.ovmf_dir)
|
||||
|
||||
# Copy (all) OVMF in a temporary location
|
||||
for src in glob.glob('%s/ovmf.*' % bb_vars['DEPLOY_DIR_IMAGE']):
|
||||
copy(src, SecureBootTests.ovmf_dir)
|
||||
|
||||
SecureBootTests.ovmf_qemuparams = '-drive if=pflash,format=qcow2,file=%s/ovmf.secboot.qcow2' % SecureBootTests.ovmf_dir
|
||||
|
||||
cmd = ("runqemu "
|
||||
"qemuparams='%s' "
|
||||
"ovmf-shell-image-enrollkeys wic intel-corei7-64 "
|
||||
"nographic slirp") % SecureBootTests.ovmf_qemuparams
|
||||
print('Running "%s"' % cmd)
|
||||
status = runCmd(cmd)
|
||||
|
||||
if not re.search('info: success', status.output, re.M):
|
||||
self.fail('Failed to enroll keys. EFI shell log:\n%s' % status.output)
|
||||
else:
|
||||
# keys enrolled in ovmf.secboot.vars
|
||||
SecureBootTests.ovmf_keys_enrolled = True
|
||||
|
||||
@classmethod
|
||||
def tearDownLocal(self):
|
||||
# Seems this is mandatory between the tests (a signed image is booted
|
||||
# when running test_boot_unsigned_image after test_boot_signed_image).
|
||||
# bitbake('-c clean %s' % test_image, output_log=self.logger)
|
||||
#
|
||||
# Whatever the problem was, it no longer seems to be necessary, so
|
||||
# we can skip the time-consuming clean + full rebuild (5:04 min instead
|
||||
# of 6:55min here).
|
||||
pass
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(self):
|
||||
bitbake('ovmf-shell-image-enrollkeys:do_cleanall', output_log=self.logger)
|
||||
rmtree(self.ovmf_dir, ignore_errors=True)
|
||||
|
||||
def secureboot_with_image(self, boot_timeout=300, signing_key=None):
|
||||
"""Boot the image with UEFI SecureBoot enabled and see the result. """
|
||||
|
||||
config = ""
|
||||
|
||||
if signing_key:
|
||||
test_image = self.test_image_signed
|
||||
config += 'SECURE_BOOT_SIGNING_KEY = "${THISDIR}/files/%s.key"\n' % signing_key
|
||||
config += 'SECURE_BOOT_SIGNING_CERT = "${THISDIR}/files/%s.crt"\n' % signing_key
|
||||
else:
|
||||
test_image = self.test_image_unsigned
|
||||
|
||||
self.write_config(config)
|
||||
bitbake(test_image, output_log=self.logger)
|
||||
self.remove_config(config)
|
||||
|
||||
# Some of the cases depend on the timeout to expire. Allow overrides
|
||||
# so that we don't have to wait 1000s which is the default.
|
||||
overrides = {
|
||||
'TEST_QEMUBOOT_TIMEOUT': boot_timeout,
|
||||
}
|
||||
|
||||
print('Booting %s' % test_image)
|
||||
|
||||
try:
|
||||
with runqemu(test_image, ssh=False,
|
||||
runqemuparams='nographic slirp',
|
||||
qemuparams=self.ovmf_qemuparams,
|
||||
overrides=overrides,
|
||||
image_fstype='wic') as qemu:
|
||||
|
||||
cmd = 'uname -a'
|
||||
|
||||
status, output = qemu.run_serial(cmd)
|
||||
|
||||
self.assertTrue(status, 'Could not run \'uname -a\' (status=%s):\n%s' % (status, output))
|
||||
|
||||
# if we got this far without a correctly signed image, something went wrong
|
||||
if signing_key != self.correct_key:
|
||||
self.fail('The image not give a Security violation when expected. Boot log:\n%s' % output)
|
||||
|
||||
|
||||
except Exception:
|
||||
|
||||
# Currently runqemu() fails if 'login:' prompt is not seen and it's
|
||||
# not possible to login as 'root'. Those conditions aren't met when
|
||||
# booting to EFI shell (See [YOCTO #11438]). We catch the failure
|
||||
# and parse the boot log to determine the success. Note: the
|
||||
# timeout triggers verbose bb.error() but that's normal with some
|
||||
# of the test cases.
|
||||
|
||||
workdir = get_bb_var('WORKDIR', test_image)
|
||||
bootlog = "%s/testimage/qemu_boot_log" % workdir
|
||||
|
||||
with open(bootlog, "r") as log:
|
||||
|
||||
# This isn't right but all we can do at this point. The right
|
||||
# approach would run commands in the EFI shell to determine
|
||||
# the BIOS rejects unsigned and/or images signed with keys in
|
||||
# dbx key store but that needs changes in oeqa framework.
|
||||
|
||||
output = log.read()
|
||||
|
||||
# PASS if we see a security violation on unsigned or incorrectly signed images, otherwise fail
|
||||
if signing_key == self.correct_key:
|
||||
self.fail('Correctly signed image failed to boot. Boot log:\n%s' % output)
|
||||
elif not re.search('Security Violation', output):
|
||||
self.fail('The image not give a Security violation when expected. Boot log:\n%s' % output)
|
||||
|
||||
def test_boot_unsigned_image(self):
|
||||
""" Boot unsigned image with secureboot enabled in UEFI."""
|
||||
self.secureboot_with_image(boot_timeout=120, signing_key=None)
|
||||
|
||||
@OETestDepends(['secureboot.SecureBootTests.test_boot_unsigned_image'])
|
||||
def test_boot_incorrectly_signed_image(self):
|
||||
""" Boot (correctly) signed image with secureboot enabled in UEFI."""
|
||||
self.secureboot_with_image(boot_timeout=120, signing_key=self.incorrect_key)
|
||||
|
||||
@OETestDepends(['secureboot.SecureBootTests.test_boot_incorrectly_signed_image'])
|
||||
def test_boot_correctly_signed_image(self):
|
||||
""" Boot (correctly) signed image with secureboot enabled in UEFI."""
|
||||
self.secureboot_with_image(boot_timeout=150, signing_key=self.correct_key)
|
|
@ -7,9 +7,7 @@ LICENSE = "BSD-3-Clause"
|
|||
LIC_FILES_CHKSUM = "file://LICENSE;md5=4b63c65942e1c16fd897f8cd20abebf8"
|
||||
|
||||
SRC_URI = "git://github.com/intel/intel-cmt-cat;protocol=https;branch=master"
|
||||
SRCREV = "ba42217699ecfdf6a335285039a44ac4140fa8c4"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "17629d0b726875836af6c7d9cb38b8ed23f32089"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
|
@ -10,8 +10,7 @@ COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
|
|||
|
||||
inherit cmake
|
||||
|
||||
SRC_URI = "git://github.com/intel/metee.git;branch=master;protocol=https"
|
||||
SRCREV = "0d6f19420bebaa92b0e3dcb6b81e352820f1f1cc"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRC_URI = "git://github.com/intel/metee.git;branch=master;protocol=https \
|
||||
"
|
||||
SRCREV = "db45e37e146fd9c06907a15ade55eba06ad1f951"
|
||||
|
|
@ -6,7 +6,6 @@ SECTION = "lib"
|
|||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "231a1d5243cd45c7a6b511b667f1ec52178fdda8"
|
||||
SRC_URI = "git://github.com/intel/libxcam.git;branch=1.5.0;protocol=https \
|
||||
file://0001-fake_v4l2_device.h-fix-narrowing-warning.patch \
|
||||
|
@ -30,7 +29,7 @@ PACKAGECONFIG[dnn] = "--enable-dnn, --disable-dnn,"
|
|||
|
||||
do_install:append () {
|
||||
install -d ${D}${bindir}/libxcam
|
||||
cp -r ${WORKDIR}/build/tests/.libs/* ${D}${bindir}/libxcam/
|
||||
cp -r ${B}/tests/.libs/* ${D}${bindir}/libxcam/
|
||||
}
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-*/*.so"
|
||||
|
|
|
@ -16,10 +16,9 @@ LIC_FILES_CHKSUM = "file://license;md5=d8405101ec6e90c1d84b082b0c40c721"
|
|||
SRC_URI = "git://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git;protocol=https;branch=main \
|
||||
"
|
||||
|
||||
SRCREV = "752cd0a7f09244f9336b7bb6d570e780e502c290"
|
||||
SRCREV = "eeb93b7a818bb27cb6b7a2be0454f8a0a75f1bd6"
|
||||
|
||||
DEPENDS = "iucode-tool-native"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
COMPATIBLE_HOST = "(i.86|x86_64).*-linux"
|
||||
PACKAGE_ARCH = "${MACHINE_ARCH}"
|
|
@ -1,129 +0,0 @@
|
|||
From b2099e7184d48a6d05c8713b6fd5dac0e2e70963 Mon Sep 17 00:00:00 2001
|
||||
From: Mikko Ylinen <mikko.ylinen@linux.intel.com>
|
||||
Date: Wed, 2 Mar 2022 10:55:35 +0800
|
||||
Subject: [PATCH] ovmf: RefkitTestCA: TEST UEFI SecureBoot
|
||||
|
||||
This patch adds refkit-db.cer (via xxd -i) in OVMF's db
|
||||
signature database when used with EnrollDefaultKeys EFI
|
||||
application. It's used for testing purposes only.
|
||||
|
||||
Images signed with refkit-db keys are allowed to boot.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com>
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
OvmfPkg/EnrollDefaultKeys/AuthData.c | 69 +++++++++++++++++++
|
||||
OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 3 +
|
||||
OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h | 2 +
|
||||
3 files changed, 74 insertions(+)
|
||||
|
||||
diff --git a/OvmfPkg/EnrollDefaultKeys/AuthData.c b/OvmfPkg/EnrollDefaultKeys/AuthData.c
|
||||
index 53ee7f7003..127131cd05 100644
|
||||
--- a/OvmfPkg/EnrollDefaultKeys/AuthData.c
|
||||
+++ b/OvmfPkg/EnrollDefaultKeys/AuthData.c
|
||||
@@ -395,6 +395,75 @@ CONST UINT8 mMicrosoftUefiCa[] = {
|
||||
|
||||
CONST UINTN mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
|
||||
|
||||
+CONST UINT8 mRefkitTestCA[] = {
|
||||
+ 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01,
|
||||
+ 0x02, 0x02, 0x09, 0x00, 0xd4, 0xf6, 0x48, 0xc2, 0x68, 0x19, 0x91, 0xac,
|
||||
+ 0x30, 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01,
|
||||
+ 0x0b, 0x05, 0x00, 0x30, 0x14, 0x31, 0x12, 0x30, 0x10, 0x06, 0x03, 0x55,
|
||||
+ 0x04, 0x03, 0x0c, 0x09, 0x72, 0x65, 0x66, 0x6b, 0x69, 0x74, 0x2d, 0x64,
|
||||
+ 0x62, 0x30, 0x1e, 0x17, 0x0d, 0x31, 0x37, 0x30, 0x34, 0x32, 0x30, 0x31,
|
||||
+ 0x32, 0x30, 0x36, 0x33, 0x32, 0x5a, 0x17, 0x0d, 0x31, 0x38, 0x30, 0x34,
|
||||
+ 0x32, 0x30, 0x31, 0x32, 0x30, 0x36, 0x33, 0x32, 0x5a, 0x30, 0x14, 0x31,
|
||||
+ 0x12, 0x30, 0x10, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x09, 0x72, 0x65,
|
||||
+ 0x66, 0x6b, 0x69, 0x74, 0x2d, 0x64, 0x62, 0x30, 0x82, 0x01, 0x22, 0x30,
|
||||
+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x01,
|
||||
+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x0f, 0x00, 0x30, 0x82, 0x01, 0x0a, 0x02,
|
||||
+ 0x82, 0x01, 0x01, 0x00, 0xb4, 0x1c, 0x22, 0xa6, 0x22, 0x01, 0x57, 0xcd,
|
||||
+ 0xf1, 0x4f, 0xaf, 0x72, 0xe3, 0xd9, 0x01, 0x80, 0x50, 0x55, 0xef, 0x02,
|
||||
+ 0x5e, 0xeb, 0x99, 0x35, 0xcb, 0x7f, 0x2a, 0x79, 0xff, 0xb5, 0x3e, 0xec,
|
||||
+ 0x5d, 0x92, 0x06, 0x30, 0x20, 0xe7, 0x95, 0xad, 0xa4, 0x84, 0x2e, 0x3f,
|
||||
+ 0xfa, 0xd7, 0x46, 0xdd, 0x49, 0xa8, 0xe8, 0xe3, 0x79, 0x49, 0xf6, 0x8f,
|
||||
+ 0x0b, 0x1d, 0xfe, 0x63, 0xa8, 0xd1, 0x63, 0xa3, 0xd6, 0x0d, 0x4e, 0x6c,
|
||||
+ 0x66, 0x5c, 0xd6, 0x66, 0x26, 0xd1, 0x26, 0x98, 0xd4, 0x4f, 0x76, 0xc9,
|
||||
+ 0x65, 0x48, 0x58, 0x13, 0x08, 0x31, 0xbc, 0xe5, 0x47, 0x25, 0x65, 0x95,
|
||||
+ 0x39, 0x89, 0x5f, 0x02, 0xf1, 0xc5, 0x06, 0x17, 0x58, 0xca, 0x09, 0xfd,
|
||||
+ 0xf6, 0x1e, 0xc5, 0x97, 0xda, 0xa3, 0x4e, 0x1a, 0x48, 0xbe, 0xcf, 0x96,
|
||||
+ 0x27, 0x04, 0x4b, 0xb7, 0x6d, 0x67, 0xb6, 0x50, 0x18, 0x04, 0x73, 0x51,
|
||||
+ 0xd2, 0x6a, 0x2d, 0xdf, 0x3b, 0xab, 0xf2, 0x2d, 0x95, 0xd7, 0xa8, 0xb8,
|
||||
+ 0xa8, 0x30, 0xa1, 0xab, 0x8b, 0x92, 0x2b, 0x60, 0x3e, 0x3a, 0xe5, 0x86,
|
||||
+ 0x40, 0x71, 0xc1, 0x3f, 0x2d, 0x2e, 0x90, 0xe7, 0xd6, 0xec, 0xcc, 0xc2,
|
||||
+ 0x0b, 0x79, 0x83, 0x71, 0x6d, 0xf6, 0xa3, 0xa9, 0x4c, 0xcd, 0x46, 0x81,
|
||||
+ 0xdc, 0xef, 0xec, 0x51, 0xbe, 0x81, 0x2a, 0xf1, 0x78, 0x73, 0x41, 0xdb,
|
||||
+ 0x54, 0xce, 0x7c, 0xce, 0xa2, 0xe3, 0x90, 0x4f, 0x45, 0x1a, 0xf9, 0x3d,
|
||||
+ 0x88, 0xfc, 0x0e, 0xed, 0xd3, 0x69, 0x22, 0x4c, 0xfa, 0x0a, 0x69, 0xd1,
|
||||
+ 0x48, 0xc0, 0xaa, 0xa9, 0x3a, 0xb3, 0x8f, 0x10, 0x3a, 0x76, 0xa8, 0x0c,
|
||||
+ 0x7a, 0x3d, 0xd8, 0x79, 0xce, 0x1c, 0x96, 0x62, 0xf4, 0x06, 0xee, 0x47,
|
||||
+ 0xe8, 0xe0, 0x69, 0x91, 0xae, 0xea, 0x34, 0xcf, 0xda, 0xa8, 0xb4, 0x39,
|
||||
+ 0x5e, 0xf3, 0x7a, 0xd0, 0x88, 0x48, 0x47, 0x69, 0x02, 0x03, 0x01, 0x00,
|
||||
+ 0x01, 0xa3, 0x50, 0x30, 0x4e, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e,
|
||||
+ 0x04, 0x16, 0x04, 0x14, 0x68, 0x60, 0x11, 0x25, 0x85, 0x14, 0x78, 0x1b,
|
||||
+ 0x1a, 0x9f, 0x46, 0x12, 0xe6, 0x21, 0xe4, 0xef, 0xfb, 0x3b, 0xaa, 0xdd,
|
||||
+ 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80,
|
||||
+ 0x14, 0x68, 0x60, 0x11, 0x25, 0x85, 0x14, 0x78, 0x1b, 0x1a, 0x9f, 0x46,
|
||||
+ 0x12, 0xe6, 0x21, 0xe4, 0xef, 0xfb, 0x3b, 0xaa, 0xdd, 0x30, 0x0c, 0x06,
|
||||
+ 0x03, 0x55, 0x1d, 0x13, 0x04, 0x05, 0x30, 0x03, 0x01, 0x01, 0xff, 0x30,
|
||||
+ 0x0d, 0x06, 0x09, 0x2a, 0x86, 0x48, 0x86, 0xf7, 0x0d, 0x01, 0x01, 0x0b,
|
||||
+ 0x05, 0x00, 0x03, 0x82, 0x01, 0x01, 0x00, 0x8f, 0xd2, 0x84, 0x7c, 0x43,
|
||||
+ 0x47, 0xca, 0x6b, 0xfd, 0x87, 0x83, 0xd0, 0xef, 0x75, 0xd3, 0x20, 0x52,
|
||||
+ 0x73, 0x18, 0xaa, 0x32, 0x71, 0xfb, 0xa5, 0xf4, 0xc9, 0x11, 0xa3, 0x68,
|
||||
+ 0x4d, 0xb7, 0x9d, 0xe6, 0xd9, 0x46, 0x24, 0xdc, 0xc7, 0xc2, 0x3b, 0xf9,
|
||||
+ 0xb0, 0x98, 0xfc, 0xee, 0x34, 0x6e, 0x10, 0x9b, 0x3d, 0x44, 0x6e, 0x33,
|
||||
+ 0x09, 0x11, 0xb8, 0x29, 0xd6, 0x2d, 0x06, 0xcf, 0x67, 0x8f, 0x96, 0x85,
|
||||
+ 0x9d, 0x63, 0x72, 0xbf, 0x64, 0x5f, 0x0d, 0xe3, 0xc9, 0x63, 0x19, 0x71,
|
||||
+ 0xd4, 0x7d, 0x4c, 0x9c, 0x77, 0x46, 0xda, 0x20, 0x97, 0x6d, 0xbc, 0xdd,
|
||||
+ 0xc2, 0x1f, 0xf3, 0x40, 0x38, 0x1e, 0xe7, 0xcc, 0x55, 0x05, 0x72, 0xba,
|
||||
+ 0x24, 0x4f, 0xb3, 0x8a, 0x93, 0x0c, 0x30, 0x60, 0xda, 0x9f, 0x6f, 0x35,
|
||||
+ 0xf6, 0xfb, 0xb0, 0x1f, 0xb3, 0x00, 0xdd, 0xc4, 0xa6, 0xbc, 0xe2, 0x37,
|
||||
+ 0xc1, 0xa3, 0xef, 0xd9, 0xa1, 0x86, 0xf9, 0xeb, 0xa4, 0xa5, 0x45, 0x38,
|
||||
+ 0xff, 0x4e, 0x87, 0x4a, 0x41, 0xcf, 0x6e, 0x69, 0x7e, 0x97, 0xbe, 0x2d,
|
||||
+ 0x22, 0xbc, 0x8d, 0xa0, 0x1a, 0x21, 0x8f, 0x4b, 0x72, 0x90, 0x01, 0x5c,
|
||||
+ 0xba, 0xa5, 0x9c, 0x2d, 0xd7, 0x25, 0x24, 0xfc, 0xff, 0x5c, 0x58, 0x14,
|
||||
+ 0x46, 0x30, 0x09, 0x7c, 0x55, 0x64, 0x83, 0x0b, 0xb9, 0xdf, 0xcf, 0x25,
|
||||
+ 0xee, 0xec, 0xf7, 0xcb, 0xdb, 0xd1, 0x5b, 0x93, 0x93, 0xc8, 0x8a, 0x10,
|
||||
+ 0x46, 0xb8, 0xb0, 0x35, 0x1c, 0x6c, 0x0d, 0x8f, 0x03, 0x6a, 0x8f, 0x1b,
|
||||
+ 0x36, 0x68, 0xf3, 0x53, 0x89, 0x36, 0x5b, 0x21, 0x80, 0xde, 0xe3, 0x92,
|
||||
+ 0x52, 0x94, 0x97, 0x9d, 0x49, 0x89, 0x7d, 0x3e, 0xde, 0x29, 0x51, 0xba,
|
||||
+ 0x11, 0xf7, 0xba, 0x01, 0xf7, 0xab, 0xea, 0xc1, 0xa7, 0x2e, 0xa3, 0x4d,
|
||||
+ 0x65, 0xfd, 0x40, 0x71, 0xf1, 0xe2, 0x3f, 0x6c, 0x28, 0xcb, 0xd3
|
||||
+};
|
||||
+
|
||||
+CONST UINTN mSizeOfRefkitTestCA = sizeof mRefkitTestCA;
|
||||
+
|
||||
//
|
||||
// The Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmDBXisPresent test case
|
||||
// of the Secure Boot Logo Test in the Microsoft Hardware Certification Kit
|
||||
diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
|
||||
index 094e4c821b..0a7eef54dc 100644
|
||||
--- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
|
||||
+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c
|
||||
@@ -702,6 +702,9 @@ ShellAppMain (
|
||||
mMicrosoftUefiCa,
|
||||
mSizeOfMicrosoftUefiCa,
|
||||
&gMicrosoftVendorGuid,
|
||||
+ mRefkitTestCA,
|
||||
+ mSizeOfRefkitTestCA,
|
||||
+ &gEfiCallerIdGuid,
|
||||
NULL
|
||||
);
|
||||
}
|
||||
diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
|
||||
index 56da9c71d6..8de1dfe4e0 100644
|
||||
--- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
|
||||
+++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h
|
||||
@@ -133,4 +133,6 @@ extern CONST UINTN mSizeOfMicrosoftUefiCa;
|
||||
extern CONST UINT8 mSha256OfDevNull[];
|
||||
extern CONST UINTN mSizeOfSha256OfDevNull;
|
||||
|
||||
+extern CONST UINT8 mRefkitTestCA[];
|
||||
+extern CONST UINTN mSizeOfRefkitTestCA;
|
||||
#endif /* ENROLL_DEFAULT_KEYS_H_ */
|
||||
--
|
||||
2.17.1
|
||||
|
|
@ -1,13 +0,0 @@
|
|||
require recipes-core/ovmf/ovmf-shell-image.bb
|
||||
|
||||
WKS_SEARCH_PATH:append = ":${COREBASE}/meta/recipes-core/ovmf"
|
||||
|
||||
QB_DRIVE_TYPE = "/dev/vd"
|
||||
|
||||
do_image:append() {
|
||||
cat > ${IMAGE_ROOTFS}/startup.nsh << EOF
|
||||
EnrollDefaultKeys
|
||||
reset
|
||||
EOF
|
||||
|
||||
}
|
|
@ -1,6 +0,0 @@
|
|||
FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/files:"
|
||||
|
||||
SRC_URI:append:intel-x86-common = " \
|
||||
file://0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch \
|
||||
"
|
||||
PACKAGECONFIG:append:intel-x86-common = " secureboot"
|
|
@ -5,11 +5,10 @@ Operating Systems or Hypervisors."
|
|||
HOMEPAGE = "https://slimbootloader.github.io/tools/index.html"
|
||||
|
||||
SRC_URI = "git://github.com/slimbootloader/slimbootloader;protocol=https;branch=master"
|
||||
SRCREV = "df5bd0bc2a522afcb8945a6797592b04838db753"
|
||||
SRCREV = "a63818df94d3c9d8c04cdca5869ba7cde9fb5a38"
|
||||
PV = "0.0.0+git${SRCPV}"
|
||||
LICENSE = "BSD-2-Clause-Patent"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=ef7fba7be2819ac13aaf5d0f842ce5d9"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit python3native
|
||||
BBCLASSEXTEND = "native"
|
||||
|
|
|
@ -10,9 +10,7 @@ SRC_URI = " \
|
|||
git://github.com/intel/gmmlib.git;protocol=https;branch=master \
|
||||
"
|
||||
|
||||
SRCREV = "26ffef5199abcec625651562eb319e983037297d"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "aa4e5d6c8f1d798b78ffd7ea85296fdd3a3946b2"
|
||||
|
||||
COMPATIBLE_HOST:x86-x32 = "null"
|
||||
|
||||
|
@ -20,6 +18,9 @@ UPSTREAM_CHECK_GITTAGREGEX = "^intel-gmmlib-(?P<pver>(\d+(\.\d+)+))$"
|
|||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
EXTRA_OECMAKE += "-DRUN_TEST_SUITE=OFF"
|
||||
EXTRA_OECMAKE += " \
|
||||
-DRUN_TEST_SUITE=OFF \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
|
@ -9,7 +9,7 @@ exits, which causing hdcpd service failure.
|
|||
Added wait function to block parent process
|
||||
until child process exits.
|
||||
|
||||
Upstream-Status: Submitted[https://github.com/intel/hdcp/pull/17]
|
||||
Upstream-Status: Submitted [https://github.com/intel/hdcp/pull/17]
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
|
|
|
@ -13,7 +13,6 @@ SRC_URI = "git://github.com/intel/hdcp.git;branch=master;protocol=https \
|
|||
file://0001-main-fix-hdcpd-service-failure.patch \
|
||||
"
|
||||
SRCREV = "cacc352159c5bdaf1c21846cecdd1eb7b031e1d3"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
REQUIRED_DISTRO_FEATURES = "systemd"
|
||||
|
||||
|
|
|
@ -1,115 +0,0 @@
|
|||
From 124cea5f0ecb94320502d9f1923df53df61fa9f1 Mon Sep 17 00:00:00 2001
|
||||
From: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
Date: Tue, 7 Feb 2023 10:33:49 +0800
|
||||
Subject: [PATCH] Add missing libva.def
|
||||
|
||||
The libva.def is missing from tarball, but from github
|
||||
it did contains libva.def. Without this libva.def it will
|
||||
be fail in meson configure the source code, it complain missing
|
||||
va/libva.def.
|
||||
|
||||
This file is importing from:
|
||||
https://github.com/intel/libva/blob/2.17.0/va/libva.def
|
||||
|
||||
upstream-status: merged.
|
||||
|
||||
Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
|
||||
---
|
||||
va/libva.def | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++
|
||||
1 file changed, 85 insertions(+)
|
||||
create mode 100644 va/libva.def
|
||||
|
||||
diff --git a/va/libva.def b/va/libva.def
|
||||
new file mode 100644
|
||||
index 0000000..f57896e
|
||||
--- /dev/null
|
||||
+++ b/va/libva.def
|
||||
@@ -0,0 +1,85 @@
|
||||
+LIBRARY va
|
||||
+EXPORTS
|
||||
+ vaInitialize
|
||||
+ vaErrorStr
|
||||
+ vaTerminate
|
||||
+ vaQueryVendorString
|
||||
+ vaMaxNumProfiles
|
||||
+ vaMaxNumEntrypoints
|
||||
+ vaQueryConfigProfiles
|
||||
+ vaQueryConfigEntrypoints
|
||||
+ vaGetConfigAttributes
|
||||
+ vaProfileStr
|
||||
+ vaEntrypointStr
|
||||
+ vaConfigAttribTypeStr
|
||||
+ vaAcquireBufferHandle
|
||||
+ vaAssociateSubpicture
|
||||
+ vaBeginPicture
|
||||
+ vaCreateBuffer
|
||||
+ vaCreateConfig
|
||||
+ vaCreateContext
|
||||
+ vaCreateImage
|
||||
+ vaCreateSubpicture
|
||||
+ vaCreateSurfaces
|
||||
+ vaDeassociateSubpicture
|
||||
+ vaDeriveImage
|
||||
+ vaDestroyBuffer
|
||||
+ vaDestroyConfig
|
||||
+ vaDestroyContext
|
||||
+ vaDestroyImage
|
||||
+ vaDestroySubpicture
|
||||
+ vaDestroySurfaces
|
||||
+ vaEndPicture
|
||||
+ vaGetDisplayAttributes
|
||||
+ vaGetImage
|
||||
+ vaMapBuffer
|
||||
+ vaMaxNumDisplayAttributes
|
||||
+ vaMaxNumImageFormats
|
||||
+ vaMaxNumSubpictureFormats
|
||||
+ vaPutImage
|
||||
+ vaQueryDisplayAttributes
|
||||
+ vaQueryImageFormats
|
||||
+ vaQuerySubpictureFormats
|
||||
+ vaQuerySurfaceAttributes
|
||||
+ vaQuerySurfaceStatus
|
||||
+ vaQueryVideoProcFilterCaps
|
||||
+ vaQueryVideoProcFilters
|
||||
+ vaQueryVideoProcPipelineCaps
|
||||
+ vaReleaseBufferHandle
|
||||
+ vaRenderPicture
|
||||
+ vaSetDisplayAttributes
|
||||
+ vaSetErrorCallback
|
||||
+ vaSetInfoCallback
|
||||
+ vaSetSubpictureGlobalAlpha
|
||||
+ vaSyncSurface
|
||||
+ vaUnmapBuffer
|
||||
+ vaSetDriverName
|
||||
+ vaSyncBuffer
|
||||
+ vaQueryConfigAttributes
|
||||
+ vaBufferSetNumElements
|
||||
+ vaQuerySurfaceError
|
||||
+ vaSetImagePalette
|
||||
+ vaSetSubpictureChromakey
|
||||
+ vaBufferInfo
|
||||
+ vaLockSurface
|
||||
+ vaUnlockSurface
|
||||
+ vaCreateMFContext
|
||||
+ vaMFAddContext
|
||||
+ vaMFReleaseContext
|
||||
+ vaMFSubmit
|
||||
+ vaCreateBuffer2
|
||||
+ vaQueryProcessingRate
|
||||
+ vaExportSurfaceHandle
|
||||
+ va_newDisplayContext
|
||||
+ va_newDriverContext
|
||||
+ vaMaxNumConfigAttributes
|
||||
+ vaBufferTypeStr
|
||||
+ vaAttachProtectedSession
|
||||
+ vaCopy
|
||||
+ vaCreateProtectedSession
|
||||
+ vaDestroyProtectedSession
|
||||
+ vaDetachProtectedSession
|
||||
+ vaProtectedSessionExecute
|
||||
+ vaSetSubpictureImage
|
||||
+ vaStatusStr
|
||||
+ vaSyncSurface2
|
||||
--
|
||||
2.39.0
|
||||
|
|
@ -14,9 +14,8 @@ SECTION = "x11"
|
|||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
|
||||
|
||||
SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.17-branch;protocol=https"
|
||||
SRCREV = "3a291be22cfe70e41bad8a376fa278efa651fdff"
|
||||
S = "${WORKDIR}/git"
|
||||
SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.22-branch;protocol=https"
|
||||
SRCREV = "1a13ae13382b7b548f3a7e8035e1d7df66662c0a"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))"
|
||||
|
|
@ -17,12 +17,10 @@ SECTION = "x11"
|
|||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f"
|
||||
|
||||
SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2 \
|
||||
file://0001-Add-missing-libva.def.patch \
|
||||
SRC_URI = "git://github.com/intel/libva.git;protocol=https;branch=v2.22-branch \
|
||||
"
|
||||
SRC_URI[sha256sum] = "f3e5eb27c305e05a9bb62703d1915a127301cc0c4f9f209025767432230c4eac"
|
||||
|
||||
S = "${WORKDIR}/libva-${PV}"
|
||||
SRCREV = "217da1c28336d6a7e9c0c4cb8f1c303968a675f1"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
|
||||
|
|
@ -2,13 +2,12 @@ SUMMARY = "Intel Metrics Discovery Application Programming Interface"
|
|||
DESCRIPTION = "This software is a user mode library that provides access to \
|
||||
GPU performance data."
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=8c5c9ac8ffd04a5614befdf63fba6ba8"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=195912d57508b573e068231099eba64c"
|
||||
SECTION = "lib"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
SRCREV = "4ff7a8bffd54f01e534015cb020c39e22a3f1012"
|
||||
SRCREV = "65ffef89cf79d704f618768bcd3d95f4dd6d875b"
|
||||
SRC_URI = "git://github.com/intel/metrics-discovery.git;branch=master;protocol=https \
|
||||
"
|
||||
|
|
@ -1,25 +1,25 @@
|
|||
SUMMARY="ixgbe kernel driver for Intel Magnolia Park 10GbE"
|
||||
DESCRIPTION="The ixgbe driver supports 82598- and 82599-based \
|
||||
SUMMARY = "ixgbe kernel driver for Intel Magnolia Park 10GbE"
|
||||
DESCRIPTION = "The ixgbe driver supports 82598- and 82599-based \
|
||||
PCI Express* 10 Gigabit Network Connections."
|
||||
|
||||
HOMEPAGE = "https://sourceforge.net/projects/e1000/"
|
||||
SECTION = "kernel/network"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
|
||||
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
|
||||
|
||||
SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/${PV}/${BP}.tar.gz \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "4ca9cc8d9041b8c9b4fdbbab4fe079e5da422fa1697ca5a58ebfa95d21e62daa"
|
||||
SRC_URI[sha256sum] = "da7e7b62ffb85a820d7541623fbef5c4abef8d1df7ac0af3f1acc3b3d76c9822"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/"
|
||||
UPSTREAM_CHECK_REGEX = "ixgbe%20stable/(?P<pver>\d+(\.\d+)+)/"
|
||||
|
||||
CVE_PRODUCT = "linux:linux_kernel_ixgbe"
|
||||
|
||||
S = "${WORKDIR}/${BP}/src"
|
||||
S = "${UNPACKDIR}/${BP}/src"
|
||||
|
||||
EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
|
||||
EXTRA_OEMAKE = ' KSRC="${STAGING_KERNEL_DIR}" KOBJ="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
|
||||
|
||||
KERNEL_MODULE_AUTOLOAD:append:intel-core2-32 = " ixgbe"
|
||||
KERNEL_MODULE_AUTOLOAD:append:intel-corei7-64 = " ixgbe"
|
||||
|
@ -40,5 +40,4 @@ FILES:${PN}-script += "${sysconfdir}/network/set_irq_affinity"
|
|||
|
||||
EXCLUDE_FROM_WORLD = "1"
|
||||
|
||||
# This was fixed in kernel v4.4
|
||||
CVE_CHECK_IGNORE += "CVE-2015-1142857"
|
||||
CVE_STATUS[CVE-2015-1142857] = "fixed-version: Fixed from version 4.4-rc1"
|
|
@ -1,5 +1,5 @@
|
|||
SUMMARY="ixgbevf kernel driver for Intel Magnolia Park 10GbE"
|
||||
DESCRIPTION="This virtual function driver supports kernel versions 2.6.x and newer \
|
||||
SUMMARY = "ixgbevf kernel driver for Intel Magnolia Park 10GbE"
|
||||
DESCRIPTION = "This virtual function driver supports kernel versions 2.6.x and newer \
|
||||
This driver supports 82599, X540, X550, and X552-based virtual function devices \
|
||||
that can only be activated on kernels that support SR-IOV. \
|
||||
SR-IOV requires the correct platform and OS support. \
|
||||
|
@ -8,21 +8,21 @@ The guest OS loading this driver must support MSI-X interrupts."
|
|||
HOMEPAGE = "https://sourceforge.net/projects/e1000/"
|
||||
SECTION = "kernel/network"
|
||||
LICENSE = "GPL-2.0-only"
|
||||
LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
|
||||
LIC_FILES_CHKSUM = "file://${UNPACKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
|
||||
|
||||
SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/${PV}/${BP}.tar.gz \
|
||||
"
|
||||
|
||||
SRC_URI[sha256sum] = "59813a6f92e699b4cb6983b70b91137eece4609a113fa7bb60db0be9889d2b46"
|
||||
SRC_URI[sha256sum] = "73c6a27be324a48b069dbda0d1d07212a2214c71f54df57bca7177fc92b04881"
|
||||
|
||||
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/"
|
||||
UPSTREAM_CHECK_REGEX = "ixgbevf%20stable/(?P<pver>\d+(\.\d+)+)/"
|
||||
|
||||
CVE_PRODUCT = "linux:linux_kernel_ixgbe"
|
||||
|
||||
S = "${WORKDIR}/${BP}/src"
|
||||
S = "${UNPACKDIR}/${BP}/src"
|
||||
|
||||
EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
|
||||
EXTRA_OEMAKE = 'KSRC="${STAGING_KERNEL_DIR}" KOBJ="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"'
|
||||
|
||||
KERNEL_MODULE_AUTOLOAD:append:intel-core2-32 = " ixgbevf"
|
||||
KERNEL_MODULE_AUTOLOAD:append:intel-corei7-64 = " ixgbevf"
|
||||
|
@ -41,7 +41,6 @@ PACKAGES += "${PN}-script"
|
|||
|
||||
FILES:${PN}-script += "${sysconfdir}/network/set_irq_affinity"
|
||||
|
||||
# This was fixed in kernel v4.4
|
||||
CVE_CHECK_IGNORE += "CVE-2015-1142857"
|
||||
CVE_STATUS[CVE-2015-1142857] = "fixed-version: Fixed from version 4.4-rc1"
|
||||
|
||||
EXCLUDE_FROM_WORLD = "1"
|
|
@ -5,9 +5,9 @@ LICENSE = "GPL-2.0-only"
|
|||
|
||||
REQUIRED_DISTRO_FEATURES = "wifi"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
|
||||
LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
|
||||
|
||||
inherit module
|
||||
inherit module features_check
|
||||
|
||||
# For some iwfwifi LinuxCore supported wireless chips, the best/latest
|
||||
# firmware blobs are found in the iwlwifi's linux-firmware.git fork.
|
||||
|
@ -17,8 +17,8 @@ inherit module
|
|||
# When updating this recipe, ensure that the proper firmware is included from
|
||||
# either the linux-firmware or iwlwifi-firmware repos.
|
||||
|
||||
PV = "45"
|
||||
SRCREV = "a75c1de6b3fa87885556c67619429cfa87cc048f"
|
||||
PV = "96"
|
||||
SRCREV = "d16e74cc1c76ffbfc335153daa86660f199a90da"
|
||||
|
||||
SRC_URI = " \
|
||||
git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi;branch=release/core${PV} \
|
||||
|
@ -26,7 +26,6 @@ SRC_URI = " \
|
|||
file://iwlwifi.conf \
|
||||
"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
EXTRA_OEMAKE = "INSTALL_MOD_PATH=${D} KLIB_BUILD=${KBUILD_OUTPUT}"
|
||||
|
||||
|
@ -34,16 +33,18 @@ do_configure() {
|
|||
CC=gcc CFLAGS= LDFLAGS= make defconfig-iwlwifi-public KLIB_BUILD=${KBUILD_OUTPUT}
|
||||
}
|
||||
|
||||
MODULES_INSTALL_TARGET="install"
|
||||
MODULES_INSTALL_TARGET = "install"
|
||||
|
||||
do_install:append() {
|
||||
## install configs and service scripts
|
||||
install -d ${D}${sysconfdir}/modprobe.d
|
||||
install -m 0644 ${WORKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d
|
||||
install -m 0644 ${UNPACKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d
|
||||
}
|
||||
|
||||
RDEPENDS:${PN} = "linux-firmware-iwlwifi"
|
||||
|
||||
FILES:${PN} += "${sysconfdir}/modprobe.d/iwlwifi.conf"
|
||||
|
||||
KERNEL_MODULE_AUTOLOAD:append:core2-32-intel-common = " iwlwifi"
|
||||
KERNEL_MODULE_AUTOLOAD:append:corei7-64-intel-common = " iwlwifi"
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user