mirror of
git://git.yoctoproject.org/meta-intel
synced 2026-01-01 13:58:05 +00:00
Compare commits
No commits in common. "master" and "yocto-2.7" have entirely different histories.
87
CHANGELOG
Normal file
87
CHANGELOG
Normal file
|
|
@ -0,0 +1,87 @@
|
|||
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
Normal file
32
MAINTAINERS
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
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: *
|
||||
432
README
Normal file
432
README
Normal file
|
|
@ -0,0 +1,432 @@
|
|||
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
|
||||
branch: master
|
||||
|
||||
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
|
||||
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
|
||||
|
||||
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:
|
||||
NUC6i5SYH
|
||||
MinnowBoard Turbot
|
||||
|
||||
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@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.
|
||||
35
README.md
35
README.md
|
|
@ -1,35 +0,0 @@
|
|||
# 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
|
||||
|
||||
- Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
17
README.sources
Normal file
17
README.sources
Normal file
|
|
@ -0,0 +1,17 @@
|
|||
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.6.1/poky-thud-20.0.1.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
|
||||
|
|
@ -1,6 +0,0 @@
|
|||
# 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).
|
||||
|
||||
151
classes/uefi-comboapp.bbclass
Normal file
151
classes/uefi-comboapp.bbclass
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
# 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"
|
||||
50
classes/uefi-sign.bbclass
Normal file
50
classes/uefi-sign.bbclass
Normal file
|
|
@ -0,0 +1,50 @@
|
|||
# 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 \
|
||||
"
|
||||
|
|
@ -1,46 +1,21 @@
|
|||
# This file contains a list of recipe maintainers for meta-intel
|
||||
|
||||
RECIPE_MAINTAINER:pn-backport-iwlwifi = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-core-image-rt = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-core-image-rt-sdk = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-core-image-tiny = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-core-image-minimal-initramfs = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-embree = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-gmmlib = "Lim Siew Hoon <siew.hoon.lim@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-intel-cmt-cat = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-intel-compute-runtime = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
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-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>"
|
||||
RECIPE_MAINTAINER:pn-isa-l = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-ispc = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-itt = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-ixgbe = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-ixgbevf = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-iucode-tool = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-level-zero = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-libipt = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-libva-intel = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-libva-intel-utils = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
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>"
|
||||
RECIPE_MAINTAINER:pn-oidn = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
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-opencl-clang = "Naveen Saini <naveen.kumar.saini@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-rkcommon = "Naveen Saini <naveen.kumar.saini@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-thermald = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER:pn-xf86-video-ast = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-core-image-rt = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-core-image-rt-sdk = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-gma500-gfx-check = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-gmmlib = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-intel-gpu-tools = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-intel-media-driver = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-intel-mediasdk = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-intel-microcode = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-core-image-minimal-initramfs = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-iucode-tool = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-intel-vaapi-driver = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-libyami = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-libyami-utils = "Anuj Mittal <anuj.mittal@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-thermald = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-xf86-video-ast = "Anuj Mittal <anuj.mittal@intel.com>"
|
||||
RECIPE_MAINTAINER_pn-mkl-dnn = "Ankit Navik <ankit.tarot@gmail.com>"
|
||||
RECIPE_MAINTAINER_pn-metrics-discovery = "Ankit Navik <ankit.tarot@gmail.com>"
|
||||
|
|
|
|||
|
|
@ -10,36 +10,15 @@ BBFILE_PATTERN_intel := "^${LAYERDIR}/"
|
|||
BBFILE_PRIORITY_intel = "5"
|
||||
|
||||
# Additional license directories.
|
||||
CUSTOM_LICENSES_PATH = "${LAYERDIR}/custom-licenses"
|
||||
LICENSE_PATH += "${CUSTOM_LICENSES_PATH}"
|
||||
LICENSE_PATH += "${LAYERDIR}/custom-licenses"
|
||||
|
||||
LAYERDEPENDS_intel = "core"
|
||||
LAYERRECOMMENDS_intel = "dpdk"
|
||||
LAYERRECOMMENDS_intel = "dpdk intel-qat"
|
||||
|
||||
# This should only be incremented on significant changes that will
|
||||
# cause compatibility issues with other layers
|
||||
LAYERVERSION_intel = "5"
|
||||
LAYERSERIES_COMPAT_intel = "scarthgap whinlatter"
|
||||
LAYERSERIES_COMPAT_intel = "thud warrior"
|
||||
|
||||
BBFILES_DYNAMIC += " \
|
||||
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \
|
||||
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bbappend \
|
||||
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
|
||||
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
|
||||
meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bb \
|
||||
meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bbappend \
|
||||
"
|
||||
|
||||
require ${LAYERDIR}/conf/include/maintainers.inc
|
||||
|
||||
# Use the libva from OE-Core when layer is included but no MACHINE
|
||||
# from meta-intel is being used.
|
||||
PREFERRED_PROVIDER_libva ?= "libva"
|
||||
PREFERRED_PROVIDER_libva-native ?= "libva-native"
|
||||
PREFERRED_PROVIDER_nativesdk-libva ?= "nativesdk-libva"
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -1,15 +1,15 @@
|
|||
INTEL_COMMON_PACKAGE_ARCH ?= "${TUNE_PKGARCH}-intel-common"
|
||||
PACKAGE_ARCH:pn-linux-intel = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-linux-intel-rt = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-linux-intel-tiny = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-linux-intel-dev = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-linux-yocto = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-linux-yocto-rt = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-linux-yocto-tiny = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-linux-yocto-dev = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-intel-microcode = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-backport-iwlwifi = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-ixgbe = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH:pn-ixgbevf = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS:append = " ${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-linux-intel = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-linux-intel-rt = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-linux-intel-tiny = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-linux-intel-dev = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-linux-yocto = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-linux-yocto-rt = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-linux-yocto-tiny = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-linux-yocto-dev = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-intel-microcode = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-backport-iwlwifi = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-ixgbe = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_ARCH_pn-ixgbevf = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
PACKAGE_EXTRA_ARCHS_append += "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
MACHINEOVERRIDES =. "${INTEL_COMMON_PACKAGE_ARCH}:"
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@
|
|||
#
|
||||
|
||||
DEFAULTTUNE ?= "core2-32"
|
||||
require conf/machine/include/x86/tune-core2.inc
|
||||
require conf/machine/include/x86/x86-base.inc
|
||||
require conf/machine/include/tune-core2.inc
|
||||
require conf/machine/include/x86-base.inc
|
||||
|
|
|
|||
|
|
@ -3,5 +3,5 @@
|
|||
#
|
||||
|
||||
DEFAULTTUNE ?= "corei7-64"
|
||||
require conf/machine/include/x86/tune-corei7.inc
|
||||
require conf/machine/include/x86/x86-base.inc
|
||||
require conf/machine/include/tune-corei7.inc
|
||||
require conf/machine/include/x86-base.inc
|
||||
|
|
|
|||
|
|
@ -5,40 +5,28 @@
|
|||
#
|
||||
|
||||
PREFERRED_PROVIDER_virtual/kernel ?= "linux-intel"
|
||||
PREFERRED_PROVIDER_virtual/kernel:poky-tiny ?= "linux-intel"
|
||||
|
||||
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"
|
||||
PREFERRED_PROVIDER_libva-native = "libva-intel-native"
|
||||
PREFERRED_PROVIDER_nativesdk-libva = "nativesdk-libva-intel"
|
||||
|
||||
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_PROVIDER_virtual/kernel_poky-tiny ?= "linux-intel"
|
||||
PREFERRED_VERSION_linux-intel_linuxstdbase ?= "4.19%"
|
||||
PREFERRED_VERSION_linux-intel ?= "4.19%"
|
||||
PREFERRED_VERSION_linux-intel-rt ?= "4.19%"
|
||||
|
||||
XSERVER_X86_ASPEED_AST = "xf86-video-ast \
|
||||
"
|
||||
|
||||
# include the user space intel microcode loading support in the generated images.
|
||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', ' intel-microcode', '', d)}"
|
||||
MACHINE_ESSENTIAL_EXTRA_RDEPENDS_append = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', ' intel-microcode', '', d)} thermald"
|
||||
|
||||
# recommended extra packages common to all intel machines
|
||||
MACHINE_EXTRA_RRECOMMENDS:append = " kernel-modules linux-firmware"
|
||||
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS:append = " kernel-module-i915 linux-firmware-i915 kernel-module-igc kernel-module-r8152"
|
||||
MACHINE_EXTRA_RRECOMMENDS_append = " kernel-modules linux-firmware"
|
||||
|
||||
# for the early boot time kernel microcode loading support,
|
||||
# merge the microcode data in the final initrd image.
|
||||
INITRD_LIVE:prepend = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', '${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}"
|
||||
INITRD_LIVE_prepend = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', '${DEPLOY_DIR_IMAGE}/microcode.cpio ', '', d)}"
|
||||
|
||||
DISK_SIGNATURE_UUID ??= "deadbeef-dead-beef-dead-beefdeadbeef"
|
||||
|
||||
EFI_PROVIDER ?= "systemd-boot"
|
||||
EFI_PROVIDER:x86-x32 = "grub-efi"
|
||||
EFI_PROVIDER_x86-x32 = "grub-efi"
|
||||
|
||||
# Add general MACHINEOVERRIDE for meta-intel
|
||||
MACHINEOVERRIDES =. "intel-x86-common:"
|
||||
|
|
|
|||
|
|
@ -2,7 +2,7 @@
|
|||
# distro content (in particular the kernel) less than qemu.inc.
|
||||
|
||||
# Ensure that qemu gets built when building images.
|
||||
EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot"
|
||||
EXTRA_IMAGEDEPENDS += "qemu-native qemu-helper-native"
|
||||
|
||||
# Build ovmf firmware for uefi support in qemu.
|
||||
EXTRA_IMAGEDEPENDS += "ovmf"
|
||||
|
|
|
|||
|
|
@ -1,18 +1,15 @@
|
|||
# For runqemu
|
||||
IMAGE_CLASSES += "qemuboot"
|
||||
QB_SYSTEM_NAME:intel-core2-32 = "qemu-system-i386"
|
||||
QB_CPU:intel-core2-32 = "-cpu coreduo"
|
||||
QB_CPU_KVM:intel-core2-32 = "-cpu kvm32"
|
||||
QB_SYSTEM_NAME_intel-core2-32 = "qemu-system-i386"
|
||||
QB_CPU_intel-core2-32 = "-cpu coreduo"
|
||||
QB_CPU_KVM_intel-core2-32 = "-cpu kvm32"
|
||||
|
||||
QB_SYSTEM_NAME:intel-corei7-64 = "qemu-system-x86_64"
|
||||
QB_CPU:intel-corei7-64 = "-cpu Nehalem"
|
||||
QB_CPU_KVM:intel-corei7-64 = "-cpu kvm64"
|
||||
|
||||
QB_SYSTEM_NAME:intel-skylake-64 = "qemu-system-x86_64"
|
||||
QB_CPU:intel-skylake-64 = "-cpu Skylake-Client"
|
||||
QB_CPU_KVM:intel-skylake-64 = "-cpu Skylake-Client"
|
||||
QB_SYSTEM_NAME_intel-corei7-64 = "qemu-system-x86_64"
|
||||
QB_CPU_intel-corei7-64 = "-cpu Nehalem"
|
||||
QB_CPU_KVM_intel-corei7-64 = "-cpu kvm64"
|
||||
|
||||
QB_AUDIO_DRV = "alsa"
|
||||
QB_AUDIO_OPT = "-device AC97"
|
||||
QB_KERNEL_CMDLINE_APPEND = " oprofile.timer=1"
|
||||
QB_OPT_APPEND = " -usb -usbdevice tablet "
|
||||
QB_AUDIO_OPT = "-soundhw ac97,es1370"
|
||||
QB_KERNEL_CMDLINE_APPEND = "vga=0 uvesafb.mode_option=640x480-32 oprofile.timer=1 uvesafb.task_timeout=-1"
|
||||
# Add the 'virtio-rng-pci' device otherwise the guest may run out of entropy
|
||||
QB_OPT_APPEND = "-vga vmware -show-cursor -usb -usbdevice tablet -device virtio-rng-pci"
|
||||
|
|
|
|||
|
|
@ -13,6 +13,11 @@ MACHINE_FEATURES += "intel-ucode"
|
|||
|
||||
MACHINE_HWCODECS ?= "intel-vaapi-driver gstreamer1.0-vaapi"
|
||||
|
||||
MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "gma500-gfx-check"
|
||||
|
||||
# Enable optional QAT items:
|
||||
COMPATIBLE_MACHINE_pn-qat17 = "intel-core2-32"
|
||||
|
||||
XSERVER ?= "${XSERVER_X86_BASE} \
|
||||
${XSERVER_X86_EXT} \
|
||||
${XSERVER_X86_FBDEV} \
|
||||
|
|
@ -24,9 +29,9 @@ XSERVER ?= "${XSERVER_X86_BASE} \
|
|||
"
|
||||
|
||||
SYSLINUX_OPTS = "serial 0 115200"
|
||||
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyPCH0"
|
||||
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyPCH0"
|
||||
APPEND += "rootwait console=ttyS0,115200 console=ttyPCH0,115200 console=tty0"
|
||||
|
||||
IMAGE_FSTYPES += "wic"
|
||||
WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}"
|
||||
WKS_FILE_DEPENDS:append = " intel-microcode"
|
||||
WKS_FILE_DEPENDS_append = " intel-microcode"
|
||||
|
|
|
|||
|
|
@ -11,11 +11,15 @@ MACHINE_FEATURES += "pcbios efi"
|
|||
MACHINE_FEATURES += "wifi 3g nfc"
|
||||
MACHINE_FEATURES += "intel-ucode"
|
||||
|
||||
MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver vpl-gpu-rt', d)} gstreamer1.0-vaapi"
|
||||
MACHINE_HWCODECS ?= "intel-vaapi-driver gstreamer1.0-vaapi"
|
||||
|
||||
# Enable optional dpdk:
|
||||
COMPATIBLE_MACHINE:pn-dpdk = "intel-corei7-64"
|
||||
COMPATIBLE_MACHINE:pn-dpdk-module = "intel-corei7-64"
|
||||
COMPATIBLE_MACHINE_pn-dpdk = "intel-corei7-64"
|
||||
|
||||
# Enable optional QAT items:
|
||||
COMPATIBLE_MACHINE_pn-qat16 = "intel-corei7-64"
|
||||
COMPATIBLE_MACHINE_pn-qat17 = "intel-corei7-64"
|
||||
COMPATIBLE_MACHINE_pn-zlib-qat = "intel-corei7-64"
|
||||
|
||||
XSERVER ?= "${XSERVER_X86_BASE} \
|
||||
${XSERVER_X86_EXT} \
|
||||
|
|
@ -28,9 +32,9 @@ XSERVER ?= "${XSERVER_X86_BASE} \
|
|||
"
|
||||
|
||||
SYSLINUX_OPTS = "serial 0 115200"
|
||||
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyS2"
|
||||
SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyS2"
|
||||
APPEND += "rootwait console=ttyS0,115200 console=tty0"
|
||||
|
||||
IMAGE_FSTYPES += "wic"
|
||||
WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}"
|
||||
WKS_FILE_DEPENDS:append = " intel-microcode"
|
||||
WKS_FILE_DEPENDS_append = " intel-microcode"
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
#@TYPE: Machine
|
||||
#@NAME: intel-skylake-64
|
||||
|
||||
#@DESCRIPTION: Machine configuration for 64 bit Intel Skylake CPU (and later) with MMX, SSE, SSE2, SSE3, SSE4.1, SSE4.2, AVX, and AVX2 instruction set support. Supports a moderately wide range of drivers that should boot and be usable on "typical" hardware.
|
||||
|
||||
require conf/machine/include/meta-intel.inc
|
||||
require conf/machine/include/x86/x86-base.inc
|
||||
require conf/machine/include/x86/tune-x86-64-v3.inc
|
||||
require conf/machine/include/intel-common-pkgarch.inc
|
||||
|
||||
MACHINE_FEATURES += "efi"
|
||||
MACHINE_FEATURES += "wifi 3g nfc"
|
||||
MACHINE_FEATURES += "intel-ucode"
|
||||
|
||||
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"
|
||||
|
||||
XSERVER ?= "${XSERVER_X86_BASE} \
|
||||
${XSERVER_X86_EXT} \
|
||||
${XSERVER_X86_FBDEV} \
|
||||
${XSERVER_X86_I915} \
|
||||
${XSERVER_X86_I965} \
|
||||
${XSERVER_X86_MODESETTING} \
|
||||
${XSERVER_X86_VESA} \
|
||||
${XSERVER_X86_ASPEED_AST} \
|
||||
"
|
||||
|
||||
SYSLINUX_OPTS = "serial 0 115200"
|
||||
SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyS2"
|
||||
APPEND += "rootwait console=ttyS0,115200 console=tty0"
|
||||
|
||||
IMAGE_FSTYPES += "wic"
|
||||
WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}"
|
||||
WKS_FILE_DEPENDS:append = " intel-microcode"
|
||||
|
|
@ -1,392 +0,0 @@
|
|||
Intel End User License Agreement for Developer Tools (Version October 2021)
|
||||
|
||||
IMPORTANT NOTICE - PLEASE READ AND AGREE BEFORE DOWNLOADING, INSTALLING, COPYING
|
||||
OR USING
|
||||
|
||||
This Agreement is between you, or the company or other legal entity that you
|
||||
represent and warrant you have the legal authority to bind, (each, "You" or
|
||||
"Your") and Intel Corporation and its subsidiaries (collectively, "Intel")
|
||||
regarding Your use of the Materials. By downloading, installing, copying or
|
||||
using the Materials, You agree to be bound by the terms of this Agreement. If
|
||||
You do not agree to the terms of this Agreement, or do not have legal authority
|
||||
or required age to agree to them, do not download, install, copy or use the
|
||||
Materials.
|
||||
|
||||
1. LICENSE DEFINITIONS.
|
||||
|
||||
A. "Cloud Provider" means a third party service provider offering a cloud-based
|
||||
platform, infrastructure, application or storage services, such as Microsoft
|
||||
Azure or Amazon Web Services, which You may only utilize to host the
|
||||
Materials subject to the restrictions set forth in Section 2.3 B.
|
||||
|
||||
B. "Derivative Work" means a derivative work, as defined in 17 U.S.C. 101, of
|
||||
the Source Code.
|
||||
|
||||
C. "Executable Code" means computer programming code in binary form suitable
|
||||
for machine execution by a processor without the intervening steps of
|
||||
interpretation or compilation.
|
||||
|
||||
D. "Materials" mean the software, documentation, the software product serial
|
||||
number, and other collateral, including any updates, made available to You
|
||||
by Intel under this Agreement. Materials include Redistributables,
|
||||
Executable Code, Source Code, Sample Source Code, and Pre-Release Materials,
|
||||
but do not include Third Party Software.
|
||||
|
||||
E. "Pre-Release Materials" mean the Materials, or portions of the Materials,
|
||||
that are identified (in the product release notes, on Intel's download
|
||||
website for the Materials or elsewhere) or labeled as pre-release,
|
||||
prototype, alpha or beta code and, as such, are deemed to be pre-release
|
||||
code (i) which may not be fully functional or tested and may contain bugs or
|
||||
errors; (ii) which Intel may substantially modify in its development of a
|
||||
production version; or (iii) for which Intel makes no assurances that it
|
||||
will ever develop or make a production version generally available.
|
||||
Pre-Release Materials are subject to the terms of Section 3.2.
|
||||
|
||||
F. "Reciprocal Open Source Software" means any software that is subject to a
|
||||
license which requires that (i) it must be distributed in source code form;
|
||||
(ii) it must be licensed under the same open source license terms; and (iii)
|
||||
its derivative works must be licensed under the same open source license
|
||||
terms. Examples of this type of license are the GNU General Public License
|
||||
or the Mozilla Public License.
|
||||
|
||||
G. "Redistributables" mean the files (if any) listed in the "redist.txt,"
|
||||
"redist-rt.txt" or similarly-named text files that may be included in the
|
||||
Materials. Redistributables include Sample Source Code.
|
||||
|
||||
H. "Sample Source Code" means those portions of the Materials that are Source
|
||||
Code and are identified as sample code. Sample Source Code may not have been
|
||||
tested or validated by Intel and is provided purely as a programming example.
|
||||
|
||||
I. "Source Code" means the software portion of the Materials provided in human
|
||||
readable format.
|
||||
|
||||
J. "Third Party Software" mean the files (if any) listed in the
|
||||
"third-party-software.txt" or other similarly-named text file that may be
|
||||
included in the Materials for the applicable software. Third Party Software
|
||||
is subject to the terms of Section 2.2.
|
||||
|
||||
K. "Your Product" means one or more applications, products or projects
|
||||
developed by or for You using the Materials.
|
||||
|
||||
2. LICENSE GRANTS.
|
||||
|
||||
2.1 License to the Materials. Subject to the terms and conditions of this
|
||||
Agreement, Intel grants You a non-exclusive, worldwide, non-assignable,
|
||||
non-sublicensable, limited right and license under its copyrights, to:
|
||||
|
||||
A. reproduce internally a reasonable number of copies of the Materials for Your
|
||||
personal or business use;
|
||||
|
||||
B. use the Materials solely for Your personal or business use to develop Your
|
||||
Product, in accordance with the documentation included as part of the
|
||||
Materials;
|
||||
|
||||
C. modify or create Derivative Works only of the Redistributables, or any
|
||||
portions, that are provided to You in Source Code;
|
||||
|
||||
D. distribute (directly and through Your distributors, resellers, and other
|
||||
channel partners, if applicable), the Redistributables, including any
|
||||
modifications to or Derivative Works of the Redistributables or any portions
|
||||
made pursuant to Section 2.1.C subject to the following conditions:
|
||||
|
||||
(1) Any distribution of the Redistributables must only be as part of Your
|
||||
Product which must add significant primary functionality different than
|
||||
that of the Redistributables themselves;
|
||||
|
||||
(2) You must only distribute the Redistributables originally provided to You
|
||||
by Intel only in Executable Code subject to a license agreement that
|
||||
prohibits reverse engineering, decompiling or disassembling the
|
||||
Redistributables;
|
||||
|
||||
(3) This distribution right includes a limited right to sublicense only the
|
||||
Intel copyrights in the Redistributables and only to the extent necessary
|
||||
to perform, display, and distribute the Redistributables (including Your
|
||||
modifications and Derivative Works of the Redistributables provided in
|
||||
Source Code) solely as incorporated in Your Product; and
|
||||
|
||||
(4) You: (i) will be solely responsible to Your customers for any update,
|
||||
support obligation or other obligation or liability which may arise from
|
||||
the distribution of Your Product, (ii) will not make any statement that
|
||||
Your Product is "certified" or that its performance is guaranteed by Intel
|
||||
or its suppliers, (iii) will not use Intel's or its suppliers' names or
|
||||
trademarks to market Your Product, (iv) will comply with any additional
|
||||
restrictions which are included in the text files with the
|
||||
Redistributables and in Section 3 below, (v) will indemnify, hold
|
||||
harmless, and defend Intel and its suppliers from and against any claims
|
||||
or lawsuits, costs, damages, and expenses, including attorney's fees, that
|
||||
arise or result from (a) Your modifications or Derivative Works of the
|
||||
Materials or (b) Your distribution of Your Product.
|
||||
|
||||
2.2 Third Party Software. Third Party Software, even if included with the
|
||||
distribution of the Materials, may be governed by separate license terms,
|
||||
including without limitation, third party license terms, open source
|
||||
software notices and terms, and/or other Intel software license terms. These
|
||||
separate license terms solely govern Your use of the Third Party Software.
|
||||
|
||||
2.3 Third Party Use.
|
||||
|
||||
A. If You are an entity, Your contractors may use the Materials under the
|
||||
license specified in Section 2, provided: (i) their use of the Materials is
|
||||
solely on behalf of and in support of Your business, (ii) they agree to the
|
||||
terms and conditions of this Agreement, and (iii) You are solely responsible
|
||||
for their use, misuse or disclosure of the Materials.
|
||||
|
||||
B. You may utilize a Cloud Provider to host the Materials for You, provided:
|
||||
(i) the Cloud Provider may only host the Materials for Your exclusive use
|
||||
and may not use the Materials for any other purpose whatsoever, including the
|
||||
restriction set forth in Section 3.1(xi); (ii) the Cloud Provider's use of
|
||||
the Materials must be solely on behalf of and in support of Your Product, and
|
||||
(iii) You will indemnify, hold harmless, and defend Intel and its suppliers
|
||||
from and against any claims or lawsuits, costs, damages, and expenses,
|
||||
including attorney's fees, that arise or result from Your Cloud Provider's
|
||||
use, misuse or disclosure of the Materials.
|
||||
|
||||
3. LICENSE CONDITIONS.
|
||||
|
||||
3.1 Restrictions. Except as expressly provided in this Agreement, You may NOT:
|
||||
(i) use, reproduce, disclose, distribute, or publicly display the
|
||||
Materials; (ii) share, publish, rent or lease the Materials to any third
|
||||
party; (iii) assign this Agreement or transfer the Materials; (iv) modify,
|
||||
adapt, or translate the Materials in whole or in part; (v) reverse engineer,
|
||||
decompile, or disassemble the Materials, or otherwise attempt to derive the
|
||||
source code for the software; (vi) work around any technical limitations in
|
||||
the Materials; (vii) distribute, sublicense or transfer any Source Code,
|
||||
modifications or Derivative Works of any Source Code to any third party;
|
||||
(viii) remove, minimize, block or modify any notices of Intel or its
|
||||
suppliers in the Materials; (ix) include the Redistributables in malicious,
|
||||
deceptive, or unlawful programs or products or use the Materials in any way
|
||||
that is against the law; (x) modify, create a Derivative Work, link, or
|
||||
distribute the Materials so that any part of it becomes Reciprocal Open
|
||||
Source Software; (xi) use the Materials directly or indirectly for SaaS
|
||||
services or service bureau purposes (i.e., a service that allows use of or
|
||||
access to the Materials by a third party as part of that service, such as
|
||||
the salesforce.com service business model).
|
||||
|
||||
3.2 Pre-Release Materials. If You receive Pre-Release Materials, You may
|
||||
reproduce a reasonable number of copies and use the Pre-Release Materials
|
||||
for evaluation and testing purposes only. You may not (i) modify or
|
||||
incorporate the Pre-Release Materials into Your Product; (ii) continue to
|
||||
use the Pre-Release Materials once a commercial version is released; or
|
||||
(iii) disclose to any third party any benchmarks, performance results, or
|
||||
other information relating to the Pre-Release Materials. Intel may waive
|
||||
these restrictions in writing at its sole discretion; however, if You decide
|
||||
to use the Pre-Release Materials in Your Product (even with Intel's waiver),
|
||||
You acknowledge and agree that You are fully responsible for any and all
|
||||
issues that result from such use.
|
||||
|
||||
3.3 Safety-Critical, and Life-Saving Applications; Indemnity. The Materials may
|
||||
provide information relevant to safety-critical applications
|
||||
("Safety-Critical Applications") to allow compliance with functional safety
|
||||
standards or requirements. You acknowledge and agree that safety is Your
|
||||
responsibility. To the extent You use the Materials to create, or as part
|
||||
of, products used in Safety-Critical Applications, it is Your responsibility
|
||||
to design, manage, and ensure that there are system-level safeguards to
|
||||
anticipate, monitor, and control system failures, and You agree that You are
|
||||
solely responsible for all applicable regulatory standards and
|
||||
safety-related requirements concerning Your use of the Materials in Safety
|
||||
Critical Applications.
|
||||
|
||||
Should You use the Materials for Safety-Critical Applications or in any type
|
||||
of a system or application in which the failure of the Materials could
|
||||
create a situation where personal injury or death may occur (e.g., medical
|
||||
systems, life-sustaining or life-saving systems) ("Life-Saving
|
||||
Applications"), You agree to indemnify, defend, and hold Intel and its
|
||||
representatives harmless against any claims or lawsuits, costs, damages, and
|
||||
expenses, including reasonable attorney fees, arising in any way out of Your
|
||||
use of the Materials in Safety-Critical Applications or Life-Saving
|
||||
Applications and claims of product liability, personal injury or death
|
||||
associated with those applications; even if such claims allege that Intel
|
||||
was negligent or strictly liable regarding the design or manufacture of the
|
||||
Materials or its failure to warn regarding the Materials.
|
||||
|
||||
3.4 Media Format Codecs and Digital Rights Management. You acknowledge and agree
|
||||
that Your use of the Materials or distribution of the Redistributables with
|
||||
Your Product as permitted by this Agreement may require You to procure
|
||||
license(s) from third parties that may hold intellectual property rights
|
||||
applicable to any media decoding, encoding or transcoding technology (e.g.,
|
||||
the use of an audio or video codec) and/or digital rights management
|
||||
capabilities of the Materials, if any. Should any such additional licenses
|
||||
be required, You are solely responsible for obtaining any such licenses and
|
||||
agree to obtain any such licenses at Your own expense.
|
||||
|
||||
4. DATA COLLECTION AND PRIVACY.
|
||||
|
||||
4.1 Data Collection. The Materials may generate and collect anonymous data
|
||||
and/or provisioning data about the Materials and/or the development
|
||||
environment and transmit the data to Intel as a one-time event during
|
||||
installation. Optional data may also be collected by the Materials, however,
|
||||
You will be provided notice of the request to collect optional data and no
|
||||
optional data will be collected without Your consent. All data collection by
|
||||
Intel is performed pursuant to relevant privacy laws, including notice and
|
||||
consent requirements.
|
||||
|
||||
4.2 Intel's Privacy Notice. Intel is committed to respecting Your privacy. To
|
||||
learn more about Intel's privacy practices, please visit
|
||||
http://www.intel.com/privacy.
|
||||
|
||||
5. OWNERSHIP. Title to the Materials and all copies remain with Intel or its
|
||||
suppliers. The Materials are protected by intellectual property rights,
|
||||
including without limitation, United States copyright laws and international
|
||||
treaty provisions. You will not remove any copyright or other proprietary
|
||||
notices from the Materials. Except as expressly provided herein, no license
|
||||
or right is granted to You directly or by implication, inducement, estoppel
|
||||
or otherwise; specifically, Intel does not grant any express or implied right
|
||||
to You under Intel patents, copyrights, trademarks, or trade secrets.
|
||||
|
||||
6. NO WARRANTY AND NO SUPPORT.
|
||||
|
||||
6.1 No Warranty. Disclaimer. Intel disclaims all warranties of any kind and the
|
||||
terms and remedies provided in this Agreement are instead of any other
|
||||
warranty or condition, express, implied or statutory, including those
|
||||
regarding merchantability, fitness for any particular purpose,
|
||||
non-infringement or any warranty arising out of any course of dealing, usage
|
||||
of trade, proposal, specification or sample. Intel does not assume (and does
|
||||
not authorize any person to assume on its behalf) any liability.
|
||||
|
||||
6.2 No Support; Priority Support. Intel may make changes to the Materials, or to
|
||||
items referenced therein, at any time without notice, but is not obligated
|
||||
to support, update or provide training for the Materials under the terms of
|
||||
this Agreement. Intel offers free community and paid priority support
|
||||
options. More information on these support options can be found at:
|
||||
https://software.intel.com/content/www/us/en/develop/support/priority-support.html.
|
||||
|
||||
7. LIMITATION OF LIABILITY.
|
||||
|
||||
7.1 Intel will not be liable for any of the following losses or damages (whether
|
||||
such losses or damages were foreseen, foreseeable, known or otherwise): (i)
|
||||
loss of revenue; (ii) loss of actual or anticipated profits; (iii) loss of
|
||||
the use of money; (iv) loss of anticipated savings; (v) loss of business;
|
||||
(vi) loss of opportunity; (vii) loss of goodwill; (viii) loss of use of the
|
||||
Materials; (ix) loss of reputation; (x) loss of, damage to, or corruption of
|
||||
data; or (xi) any indirect, incidental, special or consequential loss of
|
||||
damage however caused (including loss or damage of the type specified in
|
||||
this Section 7).
|
||||
|
||||
7.2 Intel's total cumulative liability to You, including for direct damages for
|
||||
claims relating to this Agreement, and whether for breach of contract,
|
||||
negligence, or for any other reason, will not exceed $100.
|
||||
|
||||
7.3 You acknowledge that the limitations of liability provided in this Section 7
|
||||
are an essential part of this Agreement. You agree that the limitations of
|
||||
liability provided in this Agreement with respect to Intel will be conveyed
|
||||
to and made binding upon any customer of Yours that acquires the
|
||||
Redistributables.
|
||||
|
||||
8. USER SUBMISSIONS. Should you provide Intel with comments, modifications,
|
||||
corrections, enhancements or other input ("Feedback") related to the
|
||||
Materials, Intel will be free to use, disclose, reproduce, license or
|
||||
otherwise distribute or exploit the Feedback in its sole discretion without
|
||||
any obligations or restrictions of any kind, including without limitation,
|
||||
intellectual property rights or licensing obligations. If You wish to provide
|
||||
Intel with information that You intend to be treated as confidential
|
||||
information, Intel requires that such confidential information be provided
|
||||
pursuant to a non-disclosure agreement ("NDA"); please contact Your Intel
|
||||
representative to ensure the proper NDA is in place.
|
||||
|
||||
9. NON-DISCLOSURE. Information provided by Intel to You may include information
|
||||
marked as confidential. You must treat such information as confidential under
|
||||
the terms of the applicable NDA between Intel and You. If You have not
|
||||
entered into an NDA with Intel, You must not disclose, distribute or make use
|
||||
of any information marked as confidential, except as expressly authorized in
|
||||
writing by Intel. Intel retains all rights in and to its confidential
|
||||
information specifications, designs, engineering details, discoveries,
|
||||
inventions, patents, copyrights, trademarks, trade secrets, and other
|
||||
proprietary rights relating to the Materials. Any breach by You of the
|
||||
confidentiality obligations provided for in this Section 9 will cause
|
||||
irreparable injury to Intel for which money damages may be inadequate to
|
||||
compensate Intel for losses arising from such a breach. Intel may obtain
|
||||
equitable relief, including injunctive relief, if You breach or threaten to
|
||||
breach Your confidentiality obligations.
|
||||
|
||||
10. TERM AND TERMINATION. This Agreement becomes effective on the date You
|
||||
accept this Agreement and will continue until terminated as provided for in
|
||||
this Agreement. The term for any Pre-Release Materials terminates upon
|
||||
release of a commercial version. This Agreement will terminate if You are in
|
||||
breach of any of its terms and conditions. Upon termination, You will
|
||||
promptly destroy the Materials and all copies. In the event of termination of
|
||||
this Agreement, Your license to any Redistributables distributed by You in
|
||||
accordance with the terms and conditions of this Agreement, prior to the
|
||||
effective date of such termination, will survive any such termination of this
|
||||
Agreement. Sections 1, 2.1.D(4)(v), 2.2, 2.3.A(iii), 2.3.B(iii), 3.3, 5, 6,
|
||||
7, 8, 9, 10 (with respect to these survival provisions in the last sentence),
|
||||
and 12 will survive expiration or termination of this Agreement.
|
||||
|
||||
11. U.S. GOVERNMENT RESTRICTED RIGHTS. The technical data and computer software
|
||||
covered by this license is a "Commercial Item," as such term is defined by
|
||||
the FAR 2.101 (48 C.F.R. 2.101) and is "commercial computer software" and
|
||||
"commercial computer software documentation" as specified under FAR 12.212
|
||||
(48 C.F.R. 12.212) or DFARS 227.7202 (48 C.F.R. 227.7202), as applicable.
|
||||
This commercial computer software and related documentation is provided to
|
||||
end users for use by and on behalf of the U.S. Government with only those
|
||||
rights as are granted to all other end users pursuant to the terms and
|
||||
conditions of this Agreement.
|
||||
|
||||
12. GENERAL PROVISIONS.
|
||||
|
||||
12.1 ENTIRE AGREEMENT. This Agreement contains the complete and exclusive
|
||||
agreement and understanding between the parties concerning the subject
|
||||
matter of this Agreement, and supersedes all prior and contemporaneous
|
||||
proposals, agreements, understanding, negotiations, representations,
|
||||
warranties, conditions, and communications, oral or written, between the
|
||||
parties relating to the same subject matter. Each party acknowledges and
|
||||
agrees that in entering into this Agreement it has not relied on, and will
|
||||
not be entitled to rely on, any oral or written representations,
|
||||
warranties, conditions, understanding, or communications between the
|
||||
parties that are not expressly set forth in this Agreement. The express
|
||||
provisions of this Agreement control over any course of performance, course
|
||||
of dealing, or usage of the trade inconsistent with any of the provisions
|
||||
of this Agreement. The provisions of this Agreement will prevail
|
||||
notwithstanding any different, conflicting, or additional provisions that
|
||||
may appear on any purchase order, acknowledgement, invoice, or other
|
||||
writing issued by either party in connection with this Agreement. No
|
||||
modification or amendment to this Agreement will be effective unless in
|
||||
writing and signed by authorized representatives of each party, and must
|
||||
specifically identify this Agreement by its title and version (e.g., "Intel
|
||||
End User License Agreement for Developer Tools (Version October 2021)");
|
||||
except that Intel may make changes to this Agreement as it distributes new
|
||||
versions of the Materials. When changes are made, Intel will make a new
|
||||
version of the Agreement available on its website. If You received a copy
|
||||
of this Agreement translated into another language, the English language
|
||||
version of this Agreement will prevail in the event of any conflict between
|
||||
versions.
|
||||
|
||||
12.2 EXPORT. You acknowledge that the Materials and all related technical
|
||||
information are subject to export controls and you agree to comply with all
|
||||
laws and regulations of the United States and other applicable governments
|
||||
governing export, re-export, import, transfer, distribution, and use of the
|
||||
Materials. In particular, but without limitation, the Materials may not be
|
||||
exported or re-exported (i) into any U.S. embargoed countries or (ii) to
|
||||
any person or entity listed on a denial order published by the U.S.
|
||||
government or any other applicable governments. By using the Materials, You
|
||||
represent and warrant that You are not located in any such country or on
|
||||
any such list. You also agree that You will not use the Materials for, or
|
||||
sell or transfer them to a third party who is known or suspected to be
|
||||
involved in, any purposes prohibited by the U.S. government or other
|
||||
applicable governments, including, without limitation, the development,
|
||||
design, manufacture, or production of nuclear, missile, chemical or
|
||||
biological weapons.
|
||||
|
||||
12.3 GOVERNING LAW, JURISDICTION, AND VENUE. All disputes arising out of or
|
||||
related to this Agreement, whether based on contract, tort, or any other
|
||||
legal or equitable theory, will in all respects be governed by, and
|
||||
construed and interpreted under, the laws of the United States of America
|
||||
and the State of Delaware, without reference to conflict of laws
|
||||
principles. The parties agree that the United Nations Convention on
|
||||
Contracts for the International Sale of Goods (1980) is specifically
|
||||
excluded from and will not apply to this Agreement. All disputes arising
|
||||
out of or related to this Agreement, whether based on contract, tort, or
|
||||
any other legal or equitable theory, will be subject to the exclusive
|
||||
jurisdiction of the courts of the State of Delaware or of the Federal
|
||||
courts sitting in that State. Each party submits to the personal
|
||||
jurisdiction of those courts and waives all objections to that jurisdiction
|
||||
and venue for those disputes.
|
||||
|
||||
12.4 SEVERABILITY. The parties intend that if a court holds that any provision
|
||||
or part of this Agreement is invalid or unenforceable under applicable law,
|
||||
the court will modify the provision to the minimum extent necessary to make
|
||||
it valid and enforceable, or if it cannot be made valid and enforceable,
|
||||
the parties intend that the court will sever and delete the provision or
|
||||
part from this Agreement. Any change to or deletion of a provision or part
|
||||
of this Agreement under this Section will not affect the validity or
|
||||
enforceability of the remainder of this Agreement, which will continue in
|
||||
full force and effect.
|
||||
|
|
@ -1,73 +0,0 @@
|
|||
Intel Simplified Software License (Version August 2021)
|
||||
|
||||
Use and Redistribution. You may use and redistribute the software (the
|
||||
"Software"), without modification, provided the following conditions are met:
|
||||
|
||||
* Redistributions must reproduce the above copyright notice and the following
|
||||
terms of use in the Software and in the documentation and/or other materials
|
||||
provided with the distribution.
|
||||
* Neither the name of Intel nor the names of its suppliers may be used to
|
||||
endorse or promote products derived from this Software without specific
|
||||
prior written permission.
|
||||
* No reverse engineering, decompilation, or disassembly of this Software is
|
||||
permitted.
|
||||
|
||||
No other licenses. Except as provided in the preceding section, Intel grants no
|
||||
licenses or other rights by implication, estoppel or otherwise to, patent,
|
||||
copyright, trademark, trade name, service mark or other intellectual property
|
||||
licenses or rights of Intel.
|
||||
|
||||
Third party software. The Software may contain Third Party Software. "Third
|
||||
Party Software" is open source software, third party software, or other Intel
|
||||
software that may be identified in the Software itself or in the files (if any)
|
||||
listed in the "third-party-software.txt" or similarly named text file included
|
||||
with the Software. Third Party Software, even if included with the distribution
|
||||
of the Software, may be governed by separate license terms, including without
|
||||
limitation, open source software license terms, third party software license
|
||||
terms, and other Intel software license terms. Those separate license terms
|
||||
solely govern your use of the Third Party Software, and nothing in this license
|
||||
limits any rights under, or grants rights that supersede, the terms of the
|
||||
applicable license terms.
|
||||
|
||||
DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
|
||||
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE
|
||||
DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
|
||||
WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE
|
||||
THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND
|
||||
ATTORNEYS' FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT
|
||||
INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE SOFTWARE.
|
||||
|
||||
LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT,
|
||||
INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
|
||||
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
|
||||
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
No support. Intel may make changes to the Software, at any time without notice,
|
||||
and is not obligated to support, update or provide training for the Software.
|
||||
|
||||
Termination. Your right to use the Software is terminated in the event of your
|
||||
breach of this license.
|
||||
|
||||
Feedback. Should you provide Intel with comments, modifications, corrections,
|
||||
enhancements or other input ("Feedback") related to the Software, Intel will be
|
||||
free to use, disclose, reproduce, license or otherwise distribute or exploit the
|
||||
Feedback in its sole discretion without any obligations or restrictions of any
|
||||
kind, including without limitation, intellectual property rights or licensing
|
||||
obligations.
|
||||
|
||||
Compliance with laws. You agree to comply with all relevant laws and regulations
|
||||
governing your use, transfer, import or export (or prohibition thereof) of the
|
||||
Software.
|
||||
|
||||
Governing law. All disputes will be governed by the laws of the United States of
|
||||
America and the State of Delaware without reference to conflict of law
|
||||
principles and subject to the exclusive jurisdiction of the state or federal
|
||||
courts sitting in the State of Delaware, and each party agrees that it submits
|
||||
to the personal jurisdiction and venue of those courts and waives any
|
||||
objections. The United Nations Convention on Contracts for the International
|
||||
Sale of Goods (1980) is specifically excluded and will not apply to the
|
||||
Software.
|
||||
|
|
@ -1,37 +1,123 @@
|
|||
Copyright (c) 2018-2019 Intel Corporation.
|
||||
All rights reserved.
|
||||
|
||||
Redistribution.
|
||||
|
||||
Redistribution and use in binary form, without modification, are permitted,
|
||||
provided that the following conditions are met:
|
||||
|
||||
1. Redistributions must reproduce the above copyright notice and the
|
||||
following disclaimer in the documentation and/or other materials provided
|
||||
with the distribution.
|
||||
|
||||
2. Neither the name of Intel Corporation nor the names of its suppliers may
|
||||
be used to endorse or promote products derived from this software without
|
||||
specific prior written permission.
|
||||
|
||||
3. No reverse engineering, decompilation, or disassembly of this software
|
||||
is permitted.
|
||||
|
||||
|
||||
"Binary form" includes any format that is commonly used for electronic
|
||||
conveyance that is a reversible, bit-exact translation of binary
|
||||
representation to ASCII or ISO text, for example "uuencode".
|
||||
|
||||
DISCLAIMER.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGE.
|
||||
INTEL SOFTWARE LICENSE AGREEMENT
|
||||
|
||||
IMPORTANT - READ BEFORE COPYING, INSTALLING OR USING.
|
||||
Do not use or load this software and any associated materials (collectively,
|
||||
the "Software") until you have carefully read the following terms and
|
||||
conditions. By loading or using the Software, you agree to the terms of this
|
||||
Agreement. If you do not wish to so agree, do not install or use the Software.
|
||||
|
||||
LICENSES: Please Note:
|
||||
- If you are a network administrator, the "Site License" below shall
|
||||
apply to you.
|
||||
- If you are an end user, the "Single User License" shall apply to you.
|
||||
- If you are an original equipment manufacturer (OEM), the "OEM License"
|
||||
shall apply to you.
|
||||
|
||||
SITE LICENSE. You may copy the Software onto your organization's computers
|
||||
for your organization's use, and you may make a reasonable number of
|
||||
back-up copies of the Software, subject to these conditions:
|
||||
|
||||
1. This Software is licensed for use only in conjunction with Intel
|
||||
component products. Use of the Software in conjunction with non-Intel
|
||||
component products is not licensed hereunder.
|
||||
2. You may not copy, modify, rent, sell, distribute or transfer any part
|
||||
of the Software except as provided in this Agreement, and you agree to
|
||||
prevent unauthorized copying of the Software.
|
||||
3. You may not reverse engineer, decompile, or disassemble the Software.
|
||||
4. You may not sublicense or permit simultaneous use of the Software by
|
||||
more than one user.
|
||||
5. The Software may include portions offered on terms in addition to those
|
||||
set out here, as set out in a license accompanying those portions.
|
||||
|
||||
SINGLE USER LICENSE. You may copy the Software onto a single computer for
|
||||
your personal, noncommercial use, and you may make one back-up copy of the
|
||||
Software, subject to these conditions:
|
||||
|
||||
1. This Software is licensed for use only in conjunction with Intel
|
||||
component products. Use of the Software in conjunction with non-Intel
|
||||
component products is not licensed hereunder.
|
||||
2. You may not copy, modify, rent, sell, distribute or transfer any part
|
||||
of the Software except as provided in this Agreement, and you agree to
|
||||
prevent unauthorized copying of the Software.
|
||||
3. You may not reverse engineer, decompile, or disassemble the Software.
|
||||
4. You may not sublicense or permit simultaneous use of the Software by
|
||||
more than one user.
|
||||
5. The Software may include portions offered on terms in addition to those
|
||||
set out here, as set out in a license accompanying those portions.
|
||||
|
||||
OEM LICENSE: You may reproduce and distribute the Software only as an
|
||||
integral part of or incorporated in Your product or as a standalone
|
||||
Software maintenance update for existing end users of Your products,
|
||||
excluding any other standalone products, subject to these conditions:
|
||||
|
||||
1. This Software is licensed for use only in conjunction with Intel
|
||||
component products. Use of the Software in conjunction with non-Intel
|
||||
component products is not licensed hereunder.
|
||||
2. You may not copy, modify, rent, sell, distribute or transfer any part
|
||||
of the Software except as provided in this Agreement, and you agree to
|
||||
prevent unauthorized copying of the Software.
|
||||
3. You may not reverse engineer, decompile, or disassemble the Software.
|
||||
4. You may only distribute the Software to your customers pursuant to a
|
||||
written license agreement. Such license agreement may be a "break-the-
|
||||
seal" license agreement. At a minimum such license shall safeguard
|
||||
Intel's ownership rights to the Software.
|
||||
5. The Software may include portions offered on terms in addition to those
|
||||
set out here, as set out in a license accompanying those portions.
|
||||
|
||||
NO OTHER RIGHTS. No rights or licenses are granted by Intel to You, expressly
|
||||
or by implication, with respect to any proprietary information or patent,
|
||||
copyright, mask work, trademark, trade secret, or other intellectual property
|
||||
right owned or controlled by Intel, except as expressly provided in this
|
||||
Agreement.
|
||||
|
||||
OWNERSHIP OF SOFTWARE AND COPYRIGHTS. Title to all copies of the Software
|
||||
remains with Intel or its suppliers. The Software is copyrighted and
|
||||
protected by the laws of the United States and other countries, and
|
||||
international treaty provisions. You may not remove any copyright notices
|
||||
from the Software. Intel may make changes to the Software, or to items
|
||||
referenced therein, at any time without notice, but is not obligated to
|
||||
support or update the Software. Except as otherwise expressly provided, Intel
|
||||
grants no express or implied right under Intel patents, copyrights,
|
||||
trademarks, or other intellectual property rights. You may transfer the
|
||||
Software only if the recipient agrees to be fully bound by these terms and if
|
||||
you retain no copies of the Software.
|
||||
|
||||
LIMITED MEDIA WARRANTY. If the Software has been delivered by Intel on
|
||||
physical media, Intel warrants the media to be free from material physical
|
||||
defects for a period of ninety days after delivery by Intel. If such a defect
|
||||
is found, return the media to Intel for replacement or alternate delivery of
|
||||
the Software as Intel may select.
|
||||
|
||||
EXCLUSION OF OTHER WARRANTIES. EXCEPT AS PROVIDED ABOVE, THE SOFTWARE IS
|
||||
PROVIDED "AS IS" WITHOUT ANY EXPRESS OR IMPLIED WARRANTY OF ANY KIND
|
||||
INCLUDING WARRANTIES OF MERCHANTABILITY, NONINFRINGEMENT, OR FITNESS FOR A
|
||||
PARTICULAR PURPOSE. Intel does not warrant or assume responsibility for the
|
||||
accuracy or completeness of any information, text, graphics, links or other
|
||||
items contained within the Software.
|
||||
|
||||
LIMITATION OF LIABILITY. IN NO EVENT SHALL INTEL OR ITS SUPPLIERS BE LIABLE
|
||||
FOR ANY DAMAGES WHATSOEVER (INCLUDING, WITHOUT LIMITATION, LOST PROFITS,
|
||||
BUSINESS INTERRUPTION, OR LOST INFORMATION) ARISING OUT OF THE USE OF OR
|
||||
INABILITY TO USE THE SOFTWARE, EVEN IF INTEL HAS BEEN ADVISED OF THE
|
||||
POSSIBILITY OF SUCH DAMAGES. SOME JURISDICTIONS PROHIBIT EXCLUSION OR
|
||||
LIMITATION OF LIABILITY FOR IMPLIED WARRANTIES OR CONSEQUENTIAL OR INCIDENTAL
|
||||
DAMAGES, SO THE ABOVE LIMITATION MAY NOT APPLY TO YOU. YOU MAY ALSO HAVE
|
||||
OTHER LEGAL RIGHTS THAT VARY FROM JURISDICTION TO JURISDICTION.
|
||||
|
||||
TERMINATION OF THIS AGREEMENT. Intel may terminate this Agreement at any time
|
||||
if you violate its terms. Upon termination, you will immediately destroy the
|
||||
Software or return all copies of the Software to Intel.
|
||||
|
||||
APPLICABLE LAWS. Claims arising under this Agreement shall be governed by the
|
||||
laws of California, excluding its principles of conflict of laws and the
|
||||
United Nations Convention on Contracts for the Sale of Goods. You may not
|
||||
export the Software in violation of applicable export laws and regulations.
|
||||
Intel is not obligated under any other agreements unless they are in writing
|
||||
and signed by an authorized representative of Intel.
|
||||
|
||||
GOVERNMENT RESTRICTED RIGHTS. The Software is provided with "RESTRICTED
|
||||
RIGHTS." Use, duplication, or disclosure by the Government is subject to
|
||||
restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its
|
||||
successor. Use of the Software by the Government constitutes acknowledgment
|
||||
of Intel's proprietary rights therein. Contractor or Manufacturer is Intel
|
||||
2200 Mission College Blvd., Santa Clara, CA 95052.
|
||||
|
|
|
|||
|
|
@ -1,32 +0,0 @@
|
|||
Copyright (c) 2009, Stanford University, and authors listed below.
|
||||
All rights reserved.
|
||||
|
||||
Original authors:
|
||||
Solomon Boulos
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are
|
||||
met:
|
||||
|
||||
Redistributions of source code must retain the above copyright notice,
|
||||
this list of conditions and the following disclaimer.
|
||||
|
||||
Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
|
||||
Neither the name of Stanford University nor the names of its
|
||||
contributors may be used to endorse or promote products derived from
|
||||
this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
|
@ -1,134 +0,0 @@
|
|||
### 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.
|
||||
|
||||
|
||||
|
|
@ -1,107 +0,0 @@
|
|||
Intel(R) oneAPI DPC++/C++ Compiler (ICX) toolchain
|
||||
==========================================================================
|
||||
|
||||
Get Started with the Intel oneAPI DPC++/C++ Compiler:
|
||||
|
||||
https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html#
|
||||
|
||||
|
||||
Getting Started
|
||||
===============
|
||||
|
||||
Clone the required layers and include them in bblayers.conf:
|
||||
|
||||
```
|
||||
git clone https://git.openembedded.org/openembedded-core
|
||||
git clone https://git.openembedded.org/bitbake
|
||||
git clone https://git.openembedded.org/meta-openembedded
|
||||
git clone https://github.com/kraj/meta-clang.git
|
||||
git clone https://git.yoctoproject.org/meta-intel
|
||||
|
||||
$ source openembedded-core/oe-init-build-env
|
||||
|
||||
$ bitbake-layers add-layer ../meta-openembedded/meta-oe/
|
||||
$ bitbake-layers add-layer ../meta-intel
|
||||
$ bitbake-layers add-layer ../meta-clang
|
||||
```
|
||||
|
||||
Distro
|
||||
======
|
||||
|
||||
Note that oneAPI DPC++/C++ compiler currently only works when the vendor string is "oe".
|
||||
|
||||
```
|
||||
DISTRO ?= "nodistro"
|
||||
```
|
||||
|
||||
MACHINE configuration
|
||||
=====================
|
||||
|
||||
```
|
||||
MACHINE ?= "intel-skylake-64"
|
||||
```
|
||||
|
||||
Package installation
|
||||
====================
|
||||
|
||||
```
|
||||
# To include OpenCL driver that might be needed when compiling SYCL programs, include:
|
||||
IMAGE_INSTALL:append = " intel-compute-runtime intel-graphics-compiler"
|
||||
|
||||
# To install only runtime libraries, include:
|
||||
IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev"
|
||||
|
||||
# To install the toolchain, include:
|
||||
IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev"
|
||||
```
|
||||
in local.conf.
|
||||
|
||||
Build an image
|
||||
==============
|
||||
|
||||
```
|
||||
$ bitbake core-image-minimal
|
||||
```
|
||||
|
||||
Including oneAPI C++/DPC++ compiler in generated SDK toolchain
|
||||
==============================================================
|
||||
|
||||
The compiler is not included in the generated SDK by default. If it is expected to be part of SDK, add ICXSDK = "1" in local.conf:
|
||||
|
||||
```
|
||||
ICXSDK = "1"
|
||||
```
|
||||
|
||||
Generate SDK:
|
||||
```
|
||||
bitbake core-image-minimal -c populate_sdk
|
||||
```
|
||||
|
||||
|
||||
To setup PATH variables on target
|
||||
=================================
|
||||
|
||||
Once image is booted successfully, some variables would need to be exported to make sure compiler can be used:
|
||||
|
||||
```
|
||||
$ source /opt/intel/oneapi/compiler/2022.1.0/env/vars.sh
|
||||
|
||||
$ mkdir -p /lib64
|
||||
|
||||
$ ln -sf /lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
|
||||
```
|
||||
|
||||
Build application and run
|
||||
=========================
|
||||
|
||||
To compile a sycl application, for example:
|
||||
|
||||
```
|
||||
$ icpx --target=x86_64-oe-linux -fsycl simple-sycl-app.c -o simple-sycl-app
|
||||
```
|
||||
|
||||
To run:
|
||||
|
||||
```
|
||||
$ ./simple-sycl-app
|
||||
```
|
||||
|
|
@ -1,92 +0,0 @@
|
|||
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
|
||||
|
||||
```
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
## 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.
|
||||
|
||||
38
documentation/secureboot/README
Normal file
38
documentation/secureboot/README
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
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
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
## 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.
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
## 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
|
||||
|
|
@ -1,15 +0,0 @@
|
|||
#!/bin/sh
|
||||
|
||||
cd tests
|
||||
./api-c
|
||||
if [ $? -eq 0 ]; then
|
||||
echo 'PASS: api-c'
|
||||
else
|
||||
echo 'FAIL: api-c'
|
||||
fi
|
||||
./test_c_symbols-c
|
||||
if [ $? -eq 0 ]; then
|
||||
echo 'PASS: test_c_symbols-c'
|
||||
else
|
||||
echo 'FAIL: test_c_symbols-c'
|
||||
fi
|
||||
|
|
@ -1,57 +0,0 @@
|
|||
HOMEPAGE = "https://www.oneapi.com"
|
||||
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=3b64000f6e7d52516017622a37a94ce9 \
|
||||
file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
|
||||
file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \
|
||||
file://src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \
|
||||
"
|
||||
SECTION = "lib"
|
||||
|
||||
inherit pkgconfig cmake ptest
|
||||
|
||||
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 \
|
||||
"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
|
||||
|
||||
CVE_PRODUCT = "intel:math_kernel_library"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = 'null'
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DDNNL_LIBRARY_TYPE=SHARED \
|
||||
-DDNNL_BUILD_EXAMPLES=ON \
|
||||
-DDNNL_BUILD_TESTS=ON \
|
||||
-DDNNL_CPU_RUNTIME=OMP \
|
||||
-DDNNL_ARCH_OPT_FLAGS="" \
|
||||
-DCMAKE_SKIP_RPATH=ON \
|
||||
-DONEDNN_BUILD_GRAPH=OFF \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
|
||||
PACKAGECONFIG ??= "gpu"
|
||||
PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers virtual/opencl-icd, intel-compute-runtime"
|
||||
|
||||
do_install:append () {
|
||||
install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs
|
||||
install -m 0755 ${B}/tests/benchdnn/benchdnn ${D}${bindir}/mkl-dnn/tests/benchdnn
|
||||
cp -r ${B}/tests/benchdnn/inputs/* ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs
|
||||
}
|
||||
|
||||
do_install_ptest () {
|
||||
install -d ${D}${PTEST_PATH}/tests
|
||||
install -m 0755 ${B}/tests/api-c ${D}${PTEST_PATH}/tests
|
||||
install -m 0755 ${B}/tests/test_c_symbols-c ${D}${PTEST_PATH}/tests
|
||||
}
|
||||
|
||||
PACKAGES =+ "${PN}-test"
|
||||
|
||||
FILES:${PN}-test = "${bindir}/mkl-dnn/*"
|
||||
|
|
@ -1,41 +0,0 @@
|
|||
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 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 | 10 +++++-----
|
||||
1 file changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
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} --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()
|
||||
@@ -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}
|
||||
+ COMMAND cpp_generate_tool --file ${GENERATED_SPV_INPUT} --output ${OUTPUT_FILE_CPP} --array ${BASENAME}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
- DEPENDS ${GENERATED_SPV_INPUT} $<TARGET_FILE:cpp_generate_tool>
|
||||
+ DEPENDS ${GENERATED_SPV_INPUT} cpp_generate_tool
|
||||
)
|
||||
set(OUTPUT_LIST_CPP_FILES ${OUTPUT_LIST_CPP_FILES} ${OUTPUT_FILE_CPP} PARENT_SCOPE)
|
||||
else()
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
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 3/5] external ocloc
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Dongwon Kim <dongwon.kim@intel.com>
|
||||
---
|
||||
cmake/ocloc_cmd_prefix.cmake | 14 ++++++++------
|
||||
1 file changed, 8 insertions(+), 6 deletions(-)
|
||||
|
||||
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
|
||||
#
|
||||
|
||||
-if(WIN32)
|
||||
- set(ocloc_cmd_prefix ocloc)
|
||||
-else()
|
||||
- if(DEFINED NEO__IGC_LIBRARY_PATH)
|
||||
- set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>)
|
||||
+if(NOT DEFINED ocloc_cmd_prefix)
|
||||
+ if(WIN32)
|
||||
+ set(ocloc_cmd_prefix ocloc)
|
||||
else()
|
||||
- set(ocloc_cmd_prefix ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib>" $<TARGET_FILE:ocloc>)
|
||||
+ if(DEFINED NEO__IGC_LIBRARY_PATH)
|
||||
+ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:${NEO__IGC_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
|
||||
+ else()
|
||||
+ set(ocloc_cmd_prefix LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$<TARGET_FILE_DIR:ocloc_lib> $<TARGET_FILE:ocloc>)
|
||||
+ endif()
|
||||
endif()
|
||||
endif()
|
||||
|
||||
|
|
@ -1,61 +0,0 @@
|
|||
SUMMARY = "The Intel(R) Graphics Compute Runtime for OpenCL(TM)"
|
||||
DESCRIPTION = "The Intel(R) Graphics Compute Runtime for OpenCL(TM) \
|
||||
is an open source project to converge Intel's development efforts \
|
||||
on OpenCL(TM) compute stacks supporting the GEN graphics hardware \
|
||||
architecture."
|
||||
|
||||
LICENSE = "MIT & Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eca6ec6997e18db166db7109cdbe611c \
|
||||
file://third_party/opencl_headers/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
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 \
|
||||
"
|
||||
|
||||
SRCREV = "a9961bdfaa07250fd52ff930bf8f31fb4e3b7799"
|
||||
|
||||
DEPENDS += " intel-graphics-compiler gmmlib libva qemu-native"
|
||||
|
||||
RDEPENDS:${PN} += " intel-graphics-compiler gmmlib"
|
||||
|
||||
inherit cmake pkgconfig qemu
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
EXTRA_OECMAKE = " \
|
||||
-DIGC_DIR=${STAGING_INCDIR}/igc \
|
||||
-DBUILD_TYPE=Release \
|
||||
-DSKIP_UNIT_TESTS=1 \
|
||||
-DCCACHE_ALLOWED=FALSE \
|
||||
-DNEO_DISABLE_LD_LLD=ON \
|
||||
-DNEO_DISABLE_LD_GOLD=ON \
|
||||
"
|
||||
|
||||
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_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} += " \
|
||||
${libdir}/intel-opencl/libigdrcl.so \
|
||||
${libdir}/libocloc.so \
|
||||
"
|
||||
|
||||
FILES:${PN}-dev = "${includedir}"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
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
|
||||
|
||||
Otherwise it starts failing with:
|
||||
|
||||
| ninja: error: 'IGC/VectorCompiler/lib/BiF/opt', needed by 'IGC/VectorCompiler/lib/BiF/VCBiFPrintfOCL32.opt.bc', missing and no known rule to make it
|
||||
|
||||
We don't need to explicitly make sure opt is built when
|
||||
using prebuilt binaries.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
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}
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
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,30 +0,0 @@
|
|||
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
|
||||
|
||||
We clone the SPIRV headers and tools in a different directory to ensure
|
||||
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(-)
|
||||
|
||||
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}")
|
||||
|
||||
- set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Headers") # used in subdirectory
|
||||
- set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../../SPIRV-Tools")
|
||||
+ set(SPIRV-Headers_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Headers") # used in subdirectory
|
||||
+ set(SPIRV-Tools_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/../SPIRV-Tools")
|
||||
|
||||
set(SPIRV-Tools_OUTPUT_DIR "${IGC_OPTION__OUTPUT_DIR}/external/SPIRV-Tools/build")
|
||||
set(IGC_BUILD__SPIRV-Headers_DIR "${SPIRV-Headers_SOURCE_DIR}")
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
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 b708cc904..fe4668890 100644
|
||||
--- a/IGC/cmake/igc_llvm.cmake
|
||||
+++ b/IGC/cmake/igc_llvm.cmake
|
||||
@@ -53,7 +53,7 @@ else()
|
||||
set(LLVM_OPT_EXE "opt" CACHE STRING "")
|
||||
|
||||
set(LLVM_TABLEGEN_EXE "llvm-tblgen")
|
||||
- if(CMAKE_CROSSCOMPILING)
|
||||
+ if(TRUE)
|
||||
if(DEFINED LLVM_TABLEGEN)
|
||||
set(LLVM_TABLEGEN_EXE ${LLVM_TABLEGEN})
|
||||
else()
|
||||
|
|
@ -1,33 +0,0 @@
|
|||
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
|
||||
|
||||
Improve reproducibility for intel-graphics-compiler-src package.
|
||||
needs to pass build path as environment variable to the build.
|
||||
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(-)
|
||||
|
||||
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)
|
||||
|
||||
-BISON_TARGET(CISAParser CISA.y ${bison_output_file} COMPILE_FLAGS "-vt -p CISA")
|
||||
-FLEX_TARGET(CISAScanner CISA.l ${flex_output_file} COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}")
|
||||
+if(BISON_VERSION VERSION_GREATER_EQUAL "3.7.0")
|
||||
+ set(BISON_EXTRA_FLAGS " --file-prefix-map=$ENV{B}=/igc/ ")
|
||||
+endif()
|
||||
+BISON_TARGET(CISAParser CISA.y ${bison_output_file} COMPILE_FLAGS "-l -vt -p CISA ${BISON_EXTRA_FLAGS} ")
|
||||
+FLEX_TARGET(CISAScanner CISA.l ${flex_output_file} COMPILE_FLAGS "-PCISA -L ${WIN_FLEX_FLAG} ")
|
||||
ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
|
||||
set(CISAScanner_dependencies)
|
||||
|
||||
|
|
@ -1,78 +0,0 @@
|
|||
SUMMARY = "The Intel(R) Graphics Compiler for OpenCL(TM)"
|
||||
DESCRIPTION = "The Intel(R) Graphics Compiler for OpenCL(TM) is an \
|
||||
llvm based compiler for OpenCL(TM) targeting Intel Gen graphics \
|
||||
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=b81a52411c84df3419f20bad4d755880"
|
||||
|
||||
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 = "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
|
||||
|
||||
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 clang-cross-x86_64 opencl-clang qemu-native python3-mako-native \
|
||||
python3-pyyaml-native \
|
||||
"
|
||||
|
||||
RDEPENDS:${PN} += "opencl-clang"
|
||||
|
||||
PACKAGECONFIG ??= "vc"
|
||||
PACKAGECONFIG[vc] = "-DIGC_BUILD__VC_ENABLED=ON -DIGC_OPTION__LINK_KHRONOS_SPIRV_TRANSLATOR=ON -DIGC_OPTION__SPIRV_TRANSLATOR_MODE=Prebuilds,-DIGC_BUILD__VC_ENABLED=OFF,"
|
||||
|
||||
EXTRA_OECMAKE = " \
|
||||
-DIGC_OPTION__LLVM_PREFERRED_VERSION=${LLVMVERSION} \
|
||||
-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 \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
|
||||
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
|
||||
}
|
||||
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>\d+(\.\d+)+)$"
|
||||
|
||||
FILES:${PN} += " \
|
||||
${libdir}/igc2/NOTICES.txt \
|
||||
"
|
||||
|
||||
# libigc.so contains buildpaths
|
||||
INSANE_SKIP:${PN} += "buildpaths"
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
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,60 +0,0 @@
|
|||
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
|
||||
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
SUMMARY = "Common clang is a thin wrapper library around clang"
|
||||
DESCRIPTION = "Common clang has OpenCL-oriented API and is capable \
|
||||
to compile OpenCL C kernels to SPIR-V modules."
|
||||
|
||||
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 \
|
||||
"
|
||||
|
||||
inherit cmake
|
||||
DEPENDS += "clang"
|
||||
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} \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
|
||||
do_install:append:class-native() {
|
||||
install -d ${D}${bindir}
|
||||
install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/
|
||||
}
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
require opencl-clang.inc
|
||||
|
||||
SRCREV = "60fd799cc58755c16d951f9ebfde6d0f9b8554dd"
|
||||
|
||||
BRANCH = "ocl-open-150"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
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
|
||||
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From e1f6129390706044112496b6f10baee5b604b4c8 Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Wed, 23 Jul 2025 23:48:41 +0800
|
||||
Subject: [PATCH] cmake: Bump required CMake version to 3.5 to allow builds
|
||||
with CMake 4+
|
||||
|
||||
This enables builds with CMake 4+, fixing:
|
||||
|
||||
CMake Error at CMakeLists.txt:1 (cmake_minimum_required):
|
||||
Compatibility with CMake < 3.5 has been removed from CMake.
|
||||
|
||||
Update the VERSION argument <min> value. Or, use the <min>...<max> syntax
|
||||
to tell CMake that the project requires at least <min> but has been
|
||||
updated to work with policies introduced by <max> or earlier.
|
||||
|
||||
Or, add -DCMAKE_POLICY_VERSION_MINIMUM=3.5 to try configuring anyway.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
---
|
||||
CIM_Framework/openwsman/CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CIM_Framework/openwsman/CMakeLists.txt b/CIM_Framework/openwsman/CMakeLists.txt
|
||||
index 6e54c66..e2ffa5f 100644
|
||||
--- a/CIM_Framework/openwsman/CMakeLists.txt
|
||||
+++ b/CIM_Framework/openwsman/CMakeLists.txt
|
||||
@@ -6,7 +6,7 @@ PROJECT(openwsman)
|
||||
|
||||
# 2.6 minimum because of CMP0005 (escaping defines)
|
||||
# 2.8.12 minimum because CMake 3.19.7 says so
|
||||
-cmake_minimum_required(VERSION 2.8.12)
|
||||
+cmake_minimum_required(VERSION 3.5)
|
||||
|
||||
include(CTest)
|
||||
enable_testing()
|
||||
--
|
||||
2.37.3
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
SUMMARY = "Intel(R) Local Managability Service"
|
||||
DESCRIPTION = "Intel Local Manageability Service allows applications \
|
||||
to access the Intel Active Management Technology (AMT) firmware via \
|
||||
the Intel Management Engine Interface (MEI)."
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93"
|
||||
|
||||
COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
|
||||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
inherit cmake systemd features_check python3native
|
||||
|
||||
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"
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
|
||||
FILES:${PN} += "${datadir}/dbus-1/system-services/*.service"
|
||||
|
||||
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 \
|
||||
file://0001-cmake-Bump-required-CMake-version-to-3.5-to-allow-bu.patch \
|
||||
"
|
||||
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
|
||||
install -m 0644 ${S}/UNS/linux_scripts/70-mei-wdt.rules ${D}${sysconfdir}/udev/rules.d/70-mei-wdt.rules
|
||||
}
|
||||
|
||||
RDEPENDS:${PN} += "ace"
|
||||
|
||||
CVE_STATUS[CVE-2018-1000535] = "cpe-incorrect: This CVE is for a different LMS - Lan Management System."
|
||||
|
|
@ -1,53 +0,0 @@
|
|||
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
|
||||
|
||||
Upstream-Status: Inappropriate [OE ptest specific]
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
---
|
||||
run_tests.py | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/run_tests.py b/run_tests.py
|
||||
index 1cd796dd..e3ffd1ab 100755
|
||||
--- a/run_tests.py
|
||||
+++ b/run_tests.py
|
||||
@@ -327,6 +327,9 @@ def run_test(testname, host, target):
|
||||
else:
|
||||
ispc_exe_rel = add_prefix(host.ispc_cmd, host, target)
|
||||
|
||||
+ # to reslove the error '.rodata' can not be used when making a PIE object
|
||||
+ ispc_exe_rel = ispc_exe_rel + " --pic"
|
||||
+
|
||||
# is this a test to make sure an error is issued?
|
||||
want_error = (filename.find("tests_errors") != -1)
|
||||
if want_error == True:
|
||||
@@ -795,6 +798,17 @@ def check_compiler_exists(compiler_exe):
|
||||
return
|
||||
error("missing the required compiler: %s \n" % compiler_exe, 1)
|
||||
|
||||
+def print_test_run_status(results):
|
||||
+ for fstatus in results:
|
||||
+ if (fstatus[1] == Status.Success):
|
||||
+ print( "%s: %s" % ("PASS", fstatus[0]))
|
||||
+ elif (fstatus[1] == Status.Compfail):
|
||||
+ print( "%s: %s" % ("FAIL", fstatus[0]))
|
||||
+ elif (fstatus[1] == Status.Runfail):
|
||||
+ print( "%s: %s" % ("FAIL", fstatus[0]))
|
||||
+ elif (fstatus[1] == Status.Skip):
|
||||
+ print( "%s: %s" % ("SKIP", fstatus[0]))
|
||||
+
|
||||
def print_result(status, results, s, run_tests_log, csv):
|
||||
title = StatusStr[status]
|
||||
file_list = [fname for fname, fstatus in results if status == fstatus]
|
||||
@@ -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)
|
||||
|
||||
+ print_test_run_status(results)
|
||||
+
|
||||
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]
|
||||
|
|
@ -1,36 +0,0 @@
|
|||
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
|
||||
|
||||
Stop ispc from inserting host file path in generated headers which leads to reproducibility problems.
|
||||
|
||||
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 e2084d2e..e2626865 100644
|
||||
--- a/src/module.cpp
|
||||
+++ b/src/module.cpp
|
||||
@@ -2555,7 +2555,7 @@ bool Module::writeHeader(const char *fn) {
|
||||
perror("fopen");
|
||||
return false;
|
||||
}
|
||||
- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", fn);
|
||||
+ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n");
|
||||
fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
|
||||
|
||||
// Create a nice guard string from the filename, turning any
|
||||
@@ -2677,7 +2677,7 @@ bool Module::writeDispatchHeader(DispatchHeaderInfo *DHI) {
|
||||
FILE *f = DHI->file;
|
||||
|
||||
if (DHI->EmitFrontMatter) {
|
||||
- fprintf(f, "//\n// %s\n// (Header automatically generated by the ispc compiler.)\n", DHI->fn);
|
||||
+ fprintf(f, "//\n// \n// (Header automatically generated by the ispc compiler.)\n");
|
||||
fprintf(f, "// DO NOT EDIT THIS FILE.\n//\n\n");
|
||||
}
|
||||
// Create a nice guard string from the filename, turning any
|
||||
|
|
@ -1,52 +0,0 @@
|
|||
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
|
||||
|
||||
Error log:
|
||||
| tmp/work/corei7-64-poky-linux/ispc/1.16.0-r0/recipe-sysroot/usr/include/bits/long-double.h:23:10: fatal error: 'bits/long-double-32.h' file not found
|
||||
| #include <bits/long-double-32.h>
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~
|
||||
| 1 error generated.
|
||||
|
||||
Remove SYSTEM include search path and set -isysroot dir path
|
||||
for root dir for cross compilation.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
cmake/GenerateBuiltins.cmake | 6 +++---
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/cmake/GenerateBuiltins.cmake b/cmake/GenerateBuiltins.cmake
|
||||
index f84494ed..d90cb1ec 100644
|
||||
--- a/cmake/GenerateBuiltins.cmake
|
||||
+++ b/cmake/GenerateBuiltins.cmake
|
||||
@@ -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.
|
||||
- set(includePath -isystem/usr/${debian_triple}/include)
|
||||
+ set(includePath -isysroot${SYSROOT_DIR})
|
||||
endif()
|
||||
endif()
|
||||
|
||||
@@ -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})
|
||||
- foreach (bit 32 64)
|
||||
+ foreach (bit 64)
|
||||
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}})
|
||||
@@ -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" "wasm")
|
||||
builtin_to_cpp(${bit} ${os_name} ${arch} "${supported_archs}" "${supported_oses}" res${bit}${os_name}${arch})
|
||||
|
|
@ -1,2 +0,0 @@
|
|||
#!/bin/sh
|
||||
python3 run_tests.py
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
SUMMARY = "Intel(R) Implicit SPMD Program Compiler"
|
||||
DESCRIPTION = "ispc is a compiler for a variant of the C programming language, \
|
||||
with extensions for single program, multiple data programming."
|
||||
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=2061218c7be521556719c8b504bf9ddd"
|
||||
|
||||
inherit cmake python3native ptest
|
||||
|
||||
SRC_URI = "git://github.com/ispc/ispc.git;protocol=https;branch=main \
|
||||
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://run-ptest \
|
||||
"
|
||||
|
||||
SRCREV = "d394222aef59e4759b06e39ec160e4aba6ee5f40"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
|
||||
DEPENDS += " clang-native bison-native flex-native"
|
||||
DEPENDS:append:class-target = " clang"
|
||||
RDEPENDS:${PN}-ptest += " python3-multiprocessing"
|
||||
|
||||
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
|
||||
sed -i -e 's#\${FLEX_EXECUTABLE}.*#\${FLEX_EXECUTABLE} \-L #g' ${S}/CMakeLists.txt
|
||||
}
|
||||
|
||||
do_install_ptest() {
|
||||
cp -rf ${S}/run_tests.py ${D}${PTEST_PATH}
|
||||
cp -rf ${S}/common.py ${D}${PTEST_PATH}
|
||||
cp -rf ${S}/tests ${D}${PTEST_PATH}
|
||||
cp -rf ${S}/test_static.isph ${D}${PTEST_PATH}
|
||||
cp -rf ${S}/fail_db.txt ${D}${PTEST_PATH}
|
||||
cp -rf ${S}/test_static.cpp ${D}${PTEST_PATH}
|
||||
}
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DISPC_INCLUDE_TESTS=OFF \
|
||||
-DISPC_INCLUDE_EXAMPLES=OFF \
|
||||
-DARM_ENABLED=OFF \
|
||||
-DISPC_CROSS=ON \
|
||||
-DISPC_ANDROID_TARGET=OFF \
|
||||
-DISPC_FREEBSD_TARGET=OFF \
|
||||
-DISPC_WINDOWS_TARGET=OFF \
|
||||
-DISPC_IOS_TARGET=OFF \
|
||||
-DISPC_PS_TARGET=OFF \
|
||||
-DSYSROOT_DIR=${STAGING_DIR} \
|
||||
-DCLANG_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang \
|
||||
-DCLANGPP_EXECUTABLE=${STAGING_BINDIR_NATIVE}/clang++ \
|
||||
-DLLVM_AS_EXECUTABLE=${STAGING_BINDIR_NATIVE}/llvm-as \
|
||||
"
|
||||
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
@ -1,32 +0,0 @@
|
|||
SUMMARY = "oneAPI Level Zero Specification Headers and Loader"
|
||||
HOMEPAGE = "https://github.com/oneapi-src/level-zero"
|
||||
LICENSE = "MIT"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc"
|
||||
|
||||
SRC_URI = "git://github.com/oneapi-src/level-zero.git;protocol=https;branch=master"
|
||||
SRCREV = "9536683855b17a21508e5b54ba358225d6a976da"
|
||||
|
||||
inherit cmake
|
||||
DEPENDS += "opencl-headers"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
|
||||
|
||||
PACKAGES =+ "${PN}-headers ${PN}-samples ${PN}-loader"
|
||||
|
||||
do_install:append () {
|
||||
install -d ${D}${bindir} ${D}${libdir}
|
||||
install -m 755 ${B}/bin/zello* ${D}${bindir}
|
||||
|
||||
oe_libinstall -C lib libze_null ${D}${libdir}
|
||||
}
|
||||
|
||||
|
||||
FILES:${PN}-headers = "${includedir}"
|
||||
FILES:${PN}-samples = "${bindir} ${libdir}/libze_null* ${libdir}/libze_validation*"
|
||||
FILES:${PN}-loader = "${libdir}"
|
||||
|
||||
# PN-loader (non -dev/-dbg/nativesdk- package) contains symlink .so
|
||||
INSANE_SKIP:${PN}-loader = "dev-so"
|
||||
INSANE_SKIP:${PN}-samples = "dev-so"
|
||||
ALLOW_EMPTY:${PN} = "1"
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
@ -1,99 +0,0 @@
|
|||
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
|
||||
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
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
|
||||
|
||||
|
|
@ -1,110 +0,0 @@
|
|||
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
|
||||
|
||||
|
|
@ -1,47 +0,0 @@
|
|||
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=5f51ea09f42b161b3013558e48d0fb20 \
|
||||
file://third_party/level-zero/LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc \
|
||||
"
|
||||
|
||||
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 \
|
||||
git://github.com/oneapi-src/level-zero.git;protocol=https;destsuffix=${BB_GIT_DEFAULT_DESTSUFFIX}/third_party/level-zero;name=level-zero;nobranch=1 \
|
||||
file://0001-linux-npu-driver-fix-multilib-install-issue.patch \
|
||||
"
|
||||
|
||||
SRCREV_linux-npu-driver = "59845101f5445e66dcc691f4f8be6371700fbdf5"
|
||||
SRCREV_vpux-elf = "4b0a4a06ae09c0c3a973f8f18761c549ec2309eb"
|
||||
SRCREV_yaml-cpp = "f7320141120f720aecc4c32be25586e7da9eb978"
|
||||
SRCREV_lzvext = "8cf113bd4a4568f6555d81f316504d7ac3b82ee8"
|
||||
SRCREV_googletest = "b514bdc898e2951020cbdca1304b75f5950d1f59"
|
||||
SRCREV_level-zero = "e3b6efdd91d67bb03024b266094afabd39e213bf"
|
||||
SRCREV_FORMAT = "linux-npu-driver_vpux-elf_yaml-cpp_lzvext_googletest_level-zero"
|
||||
|
||||
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_INSTALL_FIRMWARE_DIR=${nonarch_base_libdir}"
|
||||
EXTRA_OECMAKE += " -DCMAKE_POLICY_VERSION_MINIMUM=3.5"
|
||||
|
||||
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,54 +0,0 @@
|
|||
SUMMARY = "Intel® oneAPI DPC++/C++ Compiler runtime files"
|
||||
DESCRIPTION = "The Intel® oneAPI DPC++/C++ Compiler provides optimizations \
|
||||
that help your applications run faster on Intel® 64 architectures with support \
|
||||
for the latest C, C++, and SYCL language standards. This compiler produces \
|
||||
optimized code that can run significantly faster by taking advantage of the \
|
||||
ever-increasing core count and vector register width in Intel® Xeon® processors \
|
||||
and compatible processors."
|
||||
|
||||
HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html"
|
||||
|
||||
LICENSE = "EULA"
|
||||
|
||||
COMPILERMAINVER = "2024.0"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://opt/intel/oneapi/licensing/${COMPILERMAINVER}/licensing/${COMPILERMAINVER}/license.htm;md5=5ff64c6ff3ef98089ed69360e7a84c39 \
|
||||
"
|
||||
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] = "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 = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
RDEPENDS:${PN} += "virtual-opencl-icd zlib tbb level-zero-loader bash tcsh"
|
||||
SKIP_FILEDEPS:${PN} = '1'
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
# doesn't have GNU_HASH (didn't pass LDFLAGS?)
|
||||
INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags already-stripped staticdev rpaths arch useless-rpaths file-rdeps"
|
||||
|
||||
FILES_SOLIBSDEV = ""
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
@ -1,45 +0,0 @@
|
|||
SUMMARY = "Intel® oneAPI DPC++/C++ Compiler"
|
||||
DESCRIPTION = "The Intel® oneAPI DPC++/C++ Compiler provides optimizations \
|
||||
that help your applications run faster on Intel® 64 architectures with support \
|
||||
for the latest C, C++, and SYCL language standards. This compiler produces \
|
||||
optimized code that can run significantly faster by taking advantage of the \
|
||||
ever-increasing core count and vector register width in Intel® Xeon® processors \
|
||||
and compatible processors."
|
||||
|
||||
HOMEPAGE = "https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html"
|
||||
|
||||
LICENSE = "EULA"
|
||||
|
||||
COMPILERMAINVER = "2024.0"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
file://opt/intel/oneapi/compiler/${COMPILERMAINVER}/share/doc/compiler/credist.txt;md5=b41f55af9f479b9570fc35b955d5ba1a \
|
||||
"
|
||||
|
||||
SRC_URI = " \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-dpcpp-cpp-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=icx-compiler \
|
||||
https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-compiler-shared-${COMPILERMAINVER}-${PV}_amd64.deb;subdir=${BPN};name=compiler-linker \
|
||||
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] = "0dcbac766d5a1519d4cf393f5a85e71d19024fef65f77638f3f849796b62cd82"
|
||||
SRC_URI[compiler-linker.sha256sum] = "e00faea6d797934d62143e4aa70b727ce30f80fdf30769d22122b3051140c236"
|
||||
SRC_URI[shared-common.sha256sum] = "cf490a4a790f349da79e618359598d3b32312ca3b2639e5d4c84e1cfa2745558"
|
||||
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
RDEPENDS:${PN} += "intel-oneapi-dpcpp-cpp-runtime"
|
||||
SKIP_FILEDEPS:${PN} = '1'
|
||||
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
# doesn't have GNU_HASH (didn't pass LDFLAGS?)
|
||||
INSANE_SKIP:${PN} += "textrel dev-so dev-elf ldflags already-stripped file-rdeps staticdev rpaths arch useless-rpaths"
|
||||
|
||||
FILES_SOLIBSDEV = ""
|
||||
|
||||
EXCLUDE_FROM_SHLIBS = "1"
|
||||
BBCLASSEXTEND = "native nativesdk"
|
||||
|
|
@ -1,30 +0,0 @@
|
|||
SUMMARY = "Collection of high-performance ray tracing kernels"
|
||||
DESCRIPTION = "A collection of high-performance ray tracing kernels \
|
||||
intended to graphics application engineers that want to improve the \
|
||||
performance of their application."
|
||||
HOMEPAGE = "https://github.com/embree/embree"
|
||||
|
||||
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
|
||||
|
||||
SRC_URI = "git://github.com/embree/embree.git;protocol=https;branch=master"
|
||||
SRCREV = "5730b150471602d6dc02d9b7d8a4a6ce9ceffe16"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
DEPENDS = "tbb jpeg libpng glfw ispc-native"
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DEMBREE_IGNORE_CMAKE_CXX_FLAGS=OFF \
|
||||
-DEMBREE_MAX_ISA=DEFAULT \
|
||||
-DEMBREE_TUTORIALS=OFF \
|
||||
-DEMBREE_ISPC_SUPPORT=ON \
|
||||
-DEMBREE_ZIP_MODE=OFF \
|
||||
"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
|
||||
|
|
@ -1,35 +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"
|
||||
|
||||
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,74 +0,0 @@
|
|||
SUMMARY = "Intel® oneAPI Math Kernel Library (oneMKL)"
|
||||
DESCRIPTION = "The Intel® oneAPI Math Kernel Library (oneMKL) is a computing \
|
||||
math library of highly optimized and extensively parallelized routines \
|
||||
for applications that require maximum performance. oneMKL contains \
|
||||
the high-performance optimizations from the full Intel® Math Kernel Library \
|
||||
for CPU architectures (with C/Fortran programming language interfaces)\
|
||||
and adds to them a set of DPC++ programming language interfaces for \
|
||||
achieving performance on various CPU architectures \
|
||||
and Intel Graphics Technology for certain key functionalities."
|
||||
HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onemkl.html"
|
||||
|
||||
LICENSE = "ISSL"
|
||||
|
||||
MKLMAINVER = "2024.0"
|
||||
|
||||
LIC_FILES_CHKSUM = " \
|
||||
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 \
|
||||
"
|
||||
|
||||
SRC_URI = " \
|
||||
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] = "10a86e24051d6ef4a80fd839c570e629190638a3c0ac9bcca99ab855f534b959"
|
||||
SRC_URI[common-devel.sha256sum] = "adbf0ea946f63946d29b7f9c750c38a42ea7a65d8c81655b268aa2c7bb908192"
|
||||
SRC_URI[devel.sha256sum] = "fab2a6f15e18bfd9b4d425f2703e4e98928c57f52c4feebc9ed886f097062e84"
|
||||
SRC_URI[common-vars.sha256sum] = "ec2b67813739fa4a2895f63479a41acba2174afe2d0cb8a0c1c9119d1317d8ef"
|
||||
|
||||
S = "${UNPACKDIR}/${BPN}"
|
||||
|
||||
inherit bin_package
|
||||
|
||||
do_install:append () {
|
||||
install -d ${D}${bindir}
|
||||
(cd ${D}${bindir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/bin/* .)
|
||||
install -d ${D}${libdir}
|
||||
(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/* .)
|
||||
install -d ${D}${libdir}/cmake
|
||||
(cd ${D}${libdir}/cmake ; ln -s ../../../opt/intel/oneapi/mkl/${MKLMAINVER}/lib/cmake/* .)
|
||||
|
||||
install -d ${D}${includedir}
|
||||
find ${D}/opt/intel/oneapi/mkl/${MKLMAINVER}/include/ -mindepth 1 -maxdepth 1 -type d -printf '%f\n' | while read srcdir; do
|
||||
install -d ${D}${includedir}/$srcdir
|
||||
(cd ${D}${includedir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/include/$srcdir/* ./$srcdir/)
|
||||
done
|
||||
|
||||
find ${D}/opt/intel/oneapi/mkl/${MKLMAINVER}/include/ -mindepth 1 -maxdepth 1 -type f -printf '%f\n' | while read srcfile; do
|
||||
(cd ${D}${includedir} ; ln -s ../../opt/intel/oneapi/mkl/${MKLMAINVER}/include/$srcfile .)
|
||||
done
|
||||
}
|
||||
|
||||
AUTO_LIBNAME_PKGS = ""
|
||||
INHIBIT_PACKAGE_STRIP = "1"
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
||||
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/*.a*"
|
||||
|
||||
SKIP_FILEDEPS:${PN} = '1'
|
||||
|
||||
SYSROOT_DIRS += "/opt"
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
SUMMARY = "Intel® Open Image Denoise"
|
||||
DESCRIPTION = "Intel Open Image Denoise is an open source library of \
|
||||
high-performance, high-quality denoising filters for images \
|
||||
rendered with ray tracing. Intel Open Image Denoise is part \
|
||||
of the Intel® oneAPI Rendering Toolkit"
|
||||
HOMEPAGE = "https://www.openimagedenoise.org/"
|
||||
|
||||
LICENSE = "Apache-2.0 & BSD-3-Clause"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
||||
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\
|
||||
"
|
||||
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"
|
||||
|
|
@ -1,42 +0,0 @@
|
|||
SUMMARY = "Intel(R) Open Volume Kernel Library"
|
||||
DESCRIPTION = "Intel(R) Open Volume Kernel Library (Intel(R) Open VKL) is a \
|
||||
collection of high-performance volume computation kernels. The target users \
|
||||
of Open VKL are graphics application engineers who want to improve the \
|
||||
performance of their volume rendering applications by leveraging Open VKL’s \
|
||||
performance-optimized kernels, which include volume traversal and sampling \
|
||||
functionality for a variety of volumetric data formats. The kernels are optimized \
|
||||
for the latest Intel(R) processors with support for SSE, AVX, AVX2, and AVX-512 \
|
||||
instructions."
|
||||
HOMEPAGE = "https://www.openvkl.org/"
|
||||
|
||||
LICENSE = "Apache-2.0 & BSD-3-Clause & MIT & Zlib"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \
|
||||
file://third-party-programs.txt;md5=69ec7caf49616c471161b921f53d5ec0 \
|
||||
file://testing/external/half.hpp;beginline=1;endline=17;md5=4b60058493630c3bd0ef145470f04a7b"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
SRC_URI = "git://github.com/openvkl/openvkl.git;protocol=https;branch=master \
|
||||
"
|
||||
SRCREV = "8c6ba526813b871a624cb9d73d4cbb689ac7f4ce"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
DEPENDS = "ispc ispc-native rkcommon embree"
|
||||
|
||||
EXTRA_OECMAKE += " \
|
||||
-DISPC_EXECUTABLE=${STAGING_BINDIR_NATIVE}/ispc \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
EXTRA_OECMAKE:intel-corei7-64 += " \
|
||||
-DOPENVKL_ISA_AVX=OFF \
|
||||
-DOPENVKL_ISA_AVX2=OFF \
|
||||
-DOPENVKL_ISA_AVX512SKX=OFF \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
|
||||
PACKAGES =+ "${PN}-examples"
|
||||
FILES:${PN}-examples = "\
|
||||
${bindir} \
|
||||
"
|
||||
|
|
@ -1,28 +0,0 @@
|
|||
From 09e6b6615d9a16e9555eff9d569356e32bd26aa4 Mon Sep 17 00:00:00 2001
|
||||
From: benradel <86351445+benradel@users.noreply.github.com>
|
||||
Date: Wed, 23 Jun 2021 11:56:03 +0200
|
||||
Subject: [PATCH] Fix GCC11 Compile Error in benchmark_register.h
|
||||
|
||||
Fix GCC11 compilation error due to missing header "limits" in benchmark_register.h
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/ospray/ospray/pull/484/files]
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
apps/common/external/benchmark/src/benchmark_register.h | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/apps/common/external/benchmark/src/benchmark_register.h b/apps/common/external/benchmark/src/benchmark_register.h
|
||||
index 61377d742..8f1bb7795 100644
|
||||
--- a/apps/common/external/benchmark/src/benchmark_register.h
|
||||
+++ b/apps/common/external/benchmark/src/benchmark_register.h
|
||||
@@ -2,6 +2,7 @@
|
||||
#define BENCHMARK_REGISTER_H
|
||||
|
||||
#include <vector>
|
||||
+#include <limits>
|
||||
|
||||
#include "check.h"
|
||||
|
||||
--
|
||||
2.32.0
|
||||
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
SUMMARY = "Intel OSPray, Ray Tracing based Rendering Engine"
|
||||
DESCRIPTION = "Intel OSPRay is an open source, scalable, and portable ray \
|
||||
tracing engine for high-performance, high-fidelity visualization on \
|
||||
Intel Architecture CPUs."
|
||||
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=e37b77e3bd997abccc359c710fb1f1db \
|
||||
"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
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"
|
||||
|
||||
DEPENDS = "rkcommon ispc ispc-native openvkl embree"
|
||||
|
||||
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"
|
||||
FILES:${PN}-apps = "\
|
||||
${bindir} \
|
||||
"
|
||||
|
||||
UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
|
||||
|
|
@ -1,49 +0,0 @@
|
|||
From f0885d7d97e98ad586bbacf5edf7fa4022b425b9 Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Mon, 11 Aug 2025 14:00:50 +0800
|
||||
Subject: [PATCH] use fully-qualified rkcommon::math::rsqrt to avoid overload
|
||||
ambiguity
|
||||
|
||||
Explicitly calling rkcommon::math::rsqrt() prevents conflict with the
|
||||
standard rsqrt(double) declared in bits/mathcalls.h, fixing the build
|
||||
error in Quaternion tests.
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/RenderKit/rkcommon/pull/16]
|
||||
---
|
||||
tests/math/test_Quaternion.cpp | 2 +-
|
||||
tests/math/test_rkmath.cpp | 4 ++--
|
||||
2 files changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/tests/math/test_Quaternion.cpp b/tests/math/test_Quaternion.cpp
|
||||
index 760d815..f527824 100644
|
||||
--- a/tests/math/test_Quaternion.cpp
|
||||
+++ b/tests/math/test_Quaternion.cpp
|
||||
@@ -187,7 +187,7 @@ template <typename T>
|
||||
inline void test_slerp()
|
||||
{
|
||||
typename T::Scalar two = 2;
|
||||
- REQUIRE(CmpT(slerp(.5f, T(1, 0, 0, 0), T(0, 1, 0, 0)), T(rsqrt(two), rsqrt(two), 0, 0)));
|
||||
+ REQUIRE(CmpT(slerp(.5f, T(1, 0, 0, 0), T(0, 1, 0, 0)), T(rkcommon::math::rsqrt(two), rkcommon::math::rsqrt(two), 0, 0)));
|
||||
}
|
||||
|
||||
TEST_CASE("Quaternion functions", "[quat]")
|
||||
diff --git a/tests/math/test_rkmath.cpp b/tests/math/test_rkmath.cpp
|
||||
index 7f66532..fd18df4 100644
|
||||
--- a/tests/math/test_rkmath.cpp
|
||||
+++ b/tests/math/test_rkmath.cpp
|
||||
@@ -49,8 +49,8 @@ TEST_CASE("rkmath rcp_safe function", "[rkmath]")
|
||||
template <typename T>
|
||||
inline void test_rsqrt()
|
||||
{
|
||||
- REQUIRE(CmpT<T>(rsqrt(T(1)), T(1)));
|
||||
- REQUIRE(CmpT<T>(rsqrt(T(4)), T(.5)));
|
||||
+ REQUIRE(CmpT<T>(rkcommon::math::rsqrt(T(1)), T(1)));
|
||||
+ REQUIRE(CmpT<T>(rkcommon::math::rsqrt(T(4)), T(.5)));
|
||||
}
|
||||
|
||||
TEST_CASE("rkmath rsqrt function", "[rkmath]")
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
|
@ -1,18 +0,0 @@
|
|||
SUMMARY = "rkcommon - C++/CMake infrastructure"
|
||||
DESCRIPTION = "A common set of C++ infrastructure and CMake utilities \
|
||||
used by various components of Intel® oneAPI Rendering Toolkit."
|
||||
HOMEPAGE = "https://github.com/ospray/rkcommon"
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
|
||||
|
||||
inherit pkgconfig cmake
|
||||
|
||||
SRC_URI = "git://github.com/ospray/rkcommon.git;protocol=https;branch=master \
|
||||
file://0001-use-fully-qualified-rkcommon-math-rsqrt-to-avoid-ove.patch \
|
||||
"
|
||||
SRCREV = "4a00047ae5a3ac705b6b33b4a7574588d91e7953"
|
||||
|
||||
DEPENDS = "tbb"
|
||||
|
||||
EXTRA_OECMAKE += " -DBUILD_TESTING=OFF"
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
From ef56be8e6bf2ea273cbeb960f3131164e7b517b6 Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Wed, 18 May 2022 12:24:03 +0800
|
||||
Subject: [PATCH] CMakeLists: disable Werror
|
||||
|
||||
gcc12 highlights minor warnings that cause the build to fail. Ignore
|
||||
those until they aren't fixed upstream.
|
||||
|
||||
Upstream-Status: Inappropriate
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
CMakeLists.txt | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 418483f7..c019fea0 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -146,7 +146,7 @@ else()
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O2 -fno-strict-aliasing -D_FORTIFY_SOURCE=2")
|
||||
if(LNX_BUILD)
|
||||
#A few warnings yet to resolve under esx
|
||||
- set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Werror")
|
||||
+ #set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Werror")
|
||||
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Werror")
|
||||
endif()
|
||||
set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -O0 -ggdb")
|
||||
@@ -791,4 +791,4 @@ if(ESX_BUILD)
|
||||
include(CMake/esx.cmake)
|
||||
endif()
|
||||
|
||||
-add_subdirectory(src/os/nvm_api_sample)
|
||||
\ No newline at end of file
|
||||
+add_subdirectory(src/os/nvm_api_sample)
|
||||
--
|
||||
2.35.3
|
||||
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
From 5b8b59a18f4a54ba912faad861f0af3fdcf127c6 Mon Sep 17 00:00:00 2001
|
||||
From: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
Date: Wed, 10 Sep 2025 21:15:53 +0800
|
||||
Subject: [PATCH] CMakeLists: fix build failure by removing -pie from shared
|
||||
library targets
|
||||
|
||||
With CMake 4.1.0 the build of libipmctl started failing with:
|
||||
|
||||
error: undefined reference to `main` in *.S
|
||||
|
||||
- `-pie` is only valid when linking executables (PIE), not shared
|
||||
libraries.
|
||||
- When applied to a shared library, the linker expects a `main`
|
||||
symbol, causing the undefined reference error.
|
||||
- Remove `-pie` from shared libraries linker flag
|
||||
|
||||
Upstream-Status: Submitted [https://github.com/intel/ipmctl/pull/221]
|
||||
|
||||
Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com>
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 1c07e682..d7aab78f 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -156,7 +156,7 @@ endif()
|
||||
if(UNIX)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_MSABI_VA_FUNCS -std=c99 -Wformat -Wformat-security -D_XOPEN_SOURCE=500 -Wall -Wfatal-errors -MMD -fPIC -fno-strict-aliasing")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wformat -Wformat-security -D_XOPEN_SOURCE=500 -Drestrict=__restrict__ -Wall -Wfatal-errors -MMD -fPIC -fno-strict-aliasing")
|
||||
- set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now -pie")
|
||||
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -z noexecstack -z relro -z now")
|
||||
elseif(MSVC)
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /GS /DynamicBase /sdl")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GS /DynamicBase /sdl")
|
||||
--
|
||||
2.37.3
|
||||
|
||||
|
|
@ -1,62 +0,0 @@
|
|||
Subject: [PATCH] [PATCH]: ignore static asserts and null define for os and ut
|
||||
builds
|
||||
Upstream-Status: Backport
|
||||
Signed-off-by: Teoh Suh Haw <suh.haw.teoh@intel.com>
|
||||
---
|
||||
MdePkg/Include/Base.h | 12 ++++++++++++
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
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
|
||||
#else
|
||||
+#ifndef OS_BUILD
|
||||
+#ifndef UNIT_TEST_UEFI_BUILD
|
||||
#define NULL ((VOID *) 0)
|
||||
#endif
|
||||
+#endif
|
||||
+#endif
|
||||
|
||||
//
|
||||
// Null character
|
||||
@@ -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");
|
||||
@@ -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
|
||||
// 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_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
|
||||
|
|
@ -1,48 +0,0 @@
|
|||
SUMMARY = "Utility for managing Intel Optane DC persistent memory modules"
|
||||
DESCRIPTION = "Utility for configuring and managing Intel Optane Persistent \
|
||||
Memory modules (PMem). It supports functionality to: \
|
||||
Discover DCPMMs on the platform. \
|
||||
Provision the platform memory configuration. \
|
||||
View and update the firmware on DCPMMs. \
|
||||
Configure data-at-rest security on DCPMMs. \
|
||||
Track health and performance of DCPMMs. \
|
||||
Debug and troubleshoot DCPMMs."
|
||||
|
||||
HOMEPAGE = "https://github.com/intel/ipmctl"
|
||||
BUGTRACKER = "https://github.com/intel/ipmctl/issues"
|
||||
|
||||
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_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 \
|
||||
file://0001-CMakeLists-fix-build-failure-by-removing-pie-from-sh.patch \
|
||||
"
|
||||
|
||||
SRCREV_ipmctl = "a71f2fb1c90dd07f9862b71c789881132193e8f9"
|
||||
#tag edk2-stable202408
|
||||
SRCREV_edk2 = "b158dad150bf02879668f72ce306445250838201"
|
||||
SRCREV_FORMAT = "ipmctl_edk2"
|
||||
|
||||
inherit cmake dos2unix
|
||||
|
||||
DEPENDS = "ndctl pkgconfig-native"
|
||||
|
||||
EXTRA_OECMAKE = "-DRELEASE=ON \
|
||||
-DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
|
||||
"
|
||||
|
||||
do_configure:prepend() {
|
||||
for dir in BaseTools MdeModulePkg MdePkg ShellPkg ; do
|
||||
ln -sf edk2/${dir} ${S}
|
||||
done
|
||||
}
|
||||
|
||||
do_install:append() {
|
||||
# Remove /var/log/ipmctl as anything created in /var/log will not be
|
||||
# available when tmpfs is mounted at /var/volatile/log.
|
||||
rm -rf ${D}${localstatedir}/log
|
||||
}
|
||||
|
|
@ -1,39 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
import os
|
||||
import subprocess
|
||||
import datetime
|
||||
|
||||
class CyclicTest(OERuntimeTestCase):
|
||||
|
||||
@OEHasPackage(['rt-tests'])
|
||||
@OETestDepends(['ssh.SSHTest.test_ssh'])
|
||||
def test_cyclic(self):
|
||||
# Cyclictest command and argument based on public setup for Intel(R) Core(TM) i7-6700
|
||||
# https://www.osadl.org/Latency-plot-of-system-in-rack-9-slot.qa-latencyplot-r9s5.0.html?shadow=1
|
||||
# Command line: cyclictest -l100000000 -m -Sp99 -i200 -h400 -q
|
||||
status, output = self.target.run('cyclictest -l100000000 -m -Sp99 -i200 -h400')
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
test_log_dir = self.td.get('TEST_LOG_DIR', '')
|
||||
|
||||
if not test_log_dir:
|
||||
test_log_dir = os.path.join(self.td.get('WORKDIR', ''), 'testimage')
|
||||
|
||||
cyclic_log_dir = os.path.join(test_log_dir, '%s.%s' % ('cyclic_test', datetime.datetime.now().strftime('%Y%m%d%H%M%S')))
|
||||
os.makedirs(cyclic_log_dir)
|
||||
log_path = os.path.join(cyclic_log_dir, 'cyclic_log')
|
||||
with open(log_path, 'w') as f:
|
||||
f.write(output)
|
||||
|
||||
max_latency = subprocess.check_output(('grep "Max Latencies" %s | tr " " "\n" | sort -n | tail -1 | sed s/^0*//') % log_path, shell=True).strip()
|
||||
max_latency = int(max_latency)
|
||||
|
||||
# Default target latency based on max latency (24us) captured at public execution multiple by 1.2 (20% buffer)
|
||||
# https://www.osadl.org/Latency-plot-of-system-in-rack-9-slot.qa-latencyplot-r9s5.0.html?shadow=1
|
||||
target_latency = 1.2*24
|
||||
user_defined_target_latency = self.tc.td.get("RTKERNEL_TARGET_LATENCY")
|
||||
if user_defined_target_latency:
|
||||
target_latency = int(user_defined_target_latency)
|
||||
self.assertTrue(max_latency < target_latency,
|
||||
msg="Max latency (%sus) is greater than target (%sus)." % (max_latency, target_latency))
|
||||
|
|
@ -1,34 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
|
||||
class MsdkTest(OERuntimeTestCase):
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.tc.target.run("rm /tmp/mtest_h264.mp4")
|
||||
|
||||
@OEHasPackage(['gstreamer1.0-plugins-base'])
|
||||
@OEHasPackage(['gstreamer1.0-plugins-good'])
|
||||
@OEHasPackage(['gstreamer1.0-plugins-bad'])
|
||||
@OEHasPackage(['intel-mediasdk'])
|
||||
@OEHasPackage(['intel-media-driver', 'libigfxcmrt7'])
|
||||
def test_gstreamer_can_encode_with_msdk_and_intel_media_driver(self):
|
||||
(status, output) = self.target.run('gst-inspect-1.0 msdk')
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
(status, output) = self.target.run('export LIBVA_DRIVER_NAME=iHD; '
|
||||
'gst-launch-1.0 -ev videotestsrc num-buffers=120 ! timeoverlay ! '
|
||||
'msdkh264enc ! video/x-h264,profile=main ! h264parse ! '
|
||||
'filesink location=/tmp/mtest_h264.mp4')
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['intel_mediasdk.MsdkTest.test_gstreamer_can_encode_with_msdk_and_intel_media_driver'])
|
||||
def test_gstreamer_can_decode_with_msdk_and_intel_media_driver(self):
|
||||
(status, output) = self.target.run('export LIBVA_DRIVER_NAME=iHD; '
|
||||
'gst-launch-1.0 filesrc location=/tmp/mtest_h264.mp4 ! '
|
||||
'h264parse ! msdkh264dec ! '
|
||||
'msdkh265enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! '
|
||||
'video/x-h265,profile=main ! h265parse ! fakesink')
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
|
||||
class VaapiDriverTest(OERuntimeTestCase):
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.tc.target.run("rm /tmp/vtest_h264.mp4")
|
||||
|
||||
@OEHasPackage(['gstreamer1.0-plugins-base'])
|
||||
@OEHasPackage(['gstreamer1.0-plugins-good'])
|
||||
@OEHasPackage(['gstreamer1.0-vaapi'])
|
||||
@OEHasPackage(['intel-vaapi-driver'])
|
||||
def test_gstreamer_can_encode_with_intel_vaapi_driver(self):
|
||||
(status, output) = self.target.run('gst-inspect-1.0 vaapi')
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
(status, output) = self.target.run('gst-launch-1.0 -ev videotestsrc num-buffers=60 ! '
|
||||
'timeoverlay ! vaapih264enc ! h264parse ! mp4mux ! filesink location=/tmp/vtest_h264.mp4')
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['intel_vaapi_driver.VaapiDriverTest.test_gstreamer_can_encode_with_intel_vaapi_driver'])
|
||||
def test_gstreamer_can_decode_with_intel_vaapi_driver(self):
|
||||
(status, output) = self.target.run('gst-launch-1.0 filesrc location=/tmp/vtest_h264.mp4 ! '
|
||||
'qtdemux ! h264parse ! vaapih264dec ! vaapisink')
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
|
@ -1,24 +0,0 @@
|
|||
import os
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
|
||||
class IsalTest(OERuntimeTestCase):
|
||||
|
||||
@OEHasPackage(['isa-l'])
|
||||
def test_isal_igzip_version(self):
|
||||
command = 'igzip -V'
|
||||
(status, output) = self.target.run(command)
|
||||
self.assertEqual(status, 0, msg="Error messages: %s" % output)
|
||||
|
||||
@OETestDepends(['isal.IsalTest.test_isal_igzip_version'])
|
||||
def test_isal_igzip_can_compress(self):
|
||||
command = 'echo "hello" > /tmp/igzip_sample'
|
||||
(status, output) = self.target.run(command)
|
||||
self.assertEqual(status, 0, msg="Error messages: %s" % output)
|
||||
command = 'igzip -z /tmp/igzip_sample'
|
||||
(status, output) = self.target.run(command)
|
||||
self.assertEqual(status, 0, msg="Error messages: %s" % output)
|
||||
command = 'rm /tmp/igzip_sample*'
|
||||
(status, output) = self.target.run(command)
|
||||
self.assertEqual(status, 0, msg="Error messages: %s" % output)
|
||||
|
|
@ -1,23 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
|
||||
class LibiptTest(OERuntimeTestCase):
|
||||
libipt_bin_dir = '/usr/bin/libipt/'
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.tc.target.run('rm /tmp/loop-tnt*')
|
||||
|
||||
@OEHasPackage(['libipt', 'libipt2'])
|
||||
@OEHasPackage(['libipt-test'])
|
||||
@OEHasPackage(['yasm'])
|
||||
def test_libipt_can_generate_trace_packet(self):
|
||||
(status, output) = self.target.run('cd /tmp; %spttc %s/tests/loop-tnt.ptt' %
|
||||
(self.libipt_bin_dir, self.libipt_bin_dir))
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['libipt.LibiptTest.test_libipt_can_generate_trace_packet'])
|
||||
def test_libipt_can_perform_trace_packet_dump(self):
|
||||
(status, output) = self.target.run('cd /tmp; %sptdump loop-tnt.pt' % self.libipt_bin_dir)
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
|
@ -1,37 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
|
||||
class LibxcamTest(OERuntimeTestCase):
|
||||
yuv_file = 'vtest.yuv'
|
||||
soft_test_app_file = 'test-soft-image'
|
||||
libxcam_test_app_dir = '/usr/bin/libxcam/'
|
||||
libxcam_file_dir = '/tmp/'
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.tc.target.run("rm %s%s" % (cls.libxcam_file_dir, cls.yuv_file))
|
||||
|
||||
@OEHasPackage(['gstreamer1.0-plugins-base'])
|
||||
@OEHasPackage(['gstreamer1.0-plugins-good'])
|
||||
@OEHasPackage(['gstreamer1.0-vaapi'])
|
||||
@OEHasPackage(['intel-vaapi-driver'])
|
||||
def test_libxcam_can_generate_yuv_file_with_gstreamer(self):
|
||||
(status, output) = self.target.run('gst-inspect-1.0 vaapi')
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
(status, output) = self.target.run('gst-launch-1.0 -ev videotestsrc num-buffers=60 ! '
|
||||
'timeoverlay ! filesink location=%s%s' %
|
||||
(self.libxcam_file_dir, self.yuv_file))
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OEHasPackage(['libxcam'])
|
||||
@OEHasPackage(['libxcam-test'])
|
||||
@OETestDepends(['libxcam.LibxcamTest.test_libxcam_can_generate_yuv_file_with_gstreamer'])
|
||||
def test_libxcam_can_execute_soft_image_sample_app(self):
|
||||
(status, output) = self.target.run('%s%s --type remap --input0 %s%s --output soft_out.nv12 --save false' %
|
||||
(self.libxcam_test_app_dir,
|
||||
self.soft_test_app_file,
|
||||
self.libxcam_file_dir,
|
||||
self.yuv_file))
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
import re
|
||||
|
||||
class MicrocodeTest(OERuntimeTestCase):
|
||||
|
||||
def get_revision_from_microcode_string_list(self, microcode_string_list, re_pattern):
|
||||
re_compile = re.compile(re_pattern)
|
||||
rev_list = []
|
||||
for s in microcode_string_list:
|
||||
matched_revs = re_compile.findall(s)
|
||||
if matched_revs:
|
||||
for mr in matched_revs:
|
||||
rev_list.append(int(mr, 16))
|
||||
return rev_list
|
||||
|
||||
@OEHasPackage(["iucode-tool"])
|
||||
def test_microcode_update(self):
|
||||
(status, output) = self.target.run('iucode_tool /lib/firmware/intel-ucode/ -tb -l --scan-system=2 | grep rev')
|
||||
|
||||
selected_microcodes = output.splitlines()
|
||||
selected_rev_list = self.get_revision_from_microcode_string_list(selected_microcodes, "rev (\w*)")
|
||||
|
||||
(status, output) = self.target.run("dmesg | grep 'microcode updated early'")
|
||||
|
||||
updated_microcodes = output.splitlines()
|
||||
updated_rev_list = self.get_revision_from_microcode_string_list(updated_microcodes, "revision (\w*)")
|
||||
|
||||
for ul in updated_rev_list:
|
||||
self.assertTrue(ul in selected_rev_list, msg="Updated revision, %s, not in selected revision list (%s)" %
|
||||
(ul, selected_rev_list))
|
||||
|
|
@ -1,67 +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.mkl_dnn_test import MkldnnTest
|
||||
|
||||
class MklDnn(OERuntimeTestCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
cls.mkldnntest = MkldnnTest(OEQATarget(cls.tc.target))
|
||||
|
||||
@classmethod
|
||||
def tearDownClass(cls):
|
||||
cls.mkldnntest.tear_down()
|
||||
|
||||
@OEHasPackage(['onednn', 'libdnnl2'])
|
||||
@OEHasPackage(['onednn-src', 'libdnnl-src'])
|
||||
@OEHasPackage(['onednn-dev', 'libdnnl-dev'])
|
||||
@OEHasPackage(['gcc'])
|
||||
@OEHasPackage(['gcc-symlinks'])
|
||||
@OEHasPackage(['libstdc++-dev'])
|
||||
@OEHasPackage(['binutils'])
|
||||
def test_mkldnn_can_compile_and_execute(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_can_compile_and_execute()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OEHasPackage(['onednn', 'libdnnl2'])
|
||||
@OEHasPackage(['onednn-test', 'libdnnl-test'])
|
||||
def test_mkldnn_benchdnn_package_available(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_benchdnn_package_available()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
|
||||
def test_mkldnn_conv_api(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_conv_api()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
|
||||
def test_mkldnn_bnorm_api(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_bnorm_api()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
|
||||
def test_mkldnn_deconv_api(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_deconv_api()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
|
||||
def test_mkldnn_ip_api(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_ip_api()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
|
||||
def test_mkldnn_reorder_api(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_reorder_api()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
|
||||
def test_mkldnn_rnn_api(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_rnn_api()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
||||
@OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
|
||||
def test_mkldnn_shuffle_api(self):
|
||||
(status, output) = self.mkldnntest.test_mkldnn_shuffle_api()
|
||||
self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
|
||||
|
|
@ -1,9 +0,0 @@
|
|||
# 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
|
||||
|
|
@ -1,14 +0,0 @@
|
|||
# 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,47 +0,0 @@
|
|||
from oeqa.runtime.case import OERuntimeTestCase
|
||||
from oeqa.core.decorator.depends import OETestDepends
|
||||
from oeqa.runtime.decorator.package import OEHasPackage
|
||||
import threading
|
||||
import time
|
||||
import re
|
||||
|
||||
class ThermaldTest(OERuntimeTestCase):
|
||||
def get_thermal_zone_with_target_type(self, target_type):
|
||||
i = 0
|
||||
while True:
|
||||
status, output = self.target.run('cat /sys/class/thermal/thermal_zone%s/type' % i)
|
||||
if status:
|
||||
return -1
|
||||
if output == target_type:
|
||||
return i
|
||||
i = i + 1
|
||||
|
||||
def run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process(self, run_args):
|
||||
time.sleep(2)
|
||||
self.target.run('echo 106000 > /sys/class/thermal/thermal_zone%s/emul_temp' % run_args)
|
||||
time.sleep(5)
|
||||
__, output = self.target.run('pidof thermald')
|
||||
self.target.run('kill -9 %s' % output)
|
||||
|
||||
def test_thermald_emulation_mode(self):
|
||||
# Thermald test depend on thermal emulation, where CONFIG_THERMAL_EMULATION=y was required
|
||||
# To enable thermal emulation, refer to https://github.com/intel/thermal_daemon/blob/master/test/readme_test.txt
|
||||
(status, output) = self.target.run('gzip -dc /proc/config.gz | grep CONFIG_THERMAL_EMULATION=y')
|
||||
if status:
|
||||
self.skipTest("CONFIG_THERMAL_EMULATION is not set")
|
||||
|
||||
@OEHasPackage(['thermald'])
|
||||
@OETestDepends(['thermald.ThermaldTest.test_thermald_emulation_mode'])
|
||||
def test_thermald_can_track_thermal_exceed_setpoint(self):
|
||||
x86_thermal_zone_index = self.get_thermal_zone_with_target_type('x86_pkg_temp')
|
||||
if x86_thermal_zone_index < 0:
|
||||
self.skipTest('Could not get the thermal zone index for target type (%s)' % 'x86_pkg_temp')
|
||||
td_thread = threading.Thread(target=self.run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process,
|
||||
args=(x86_thermal_zone_index,))
|
||||
td_thread.start()
|
||||
td_thread.join()
|
||||
status, output = self.target.run('timeout 3s thermald --no-daemon --loglevel=info')
|
||||
regex_search = ".*thd_cdev_set_state.*106000"
|
||||
regex_comp = re.compile(regex_search)
|
||||
m = regex_comp.search(output)
|
||||
self.assertTrue(m, msg='status and output: %s and %s' % (status, output))
|
||||
|
|
@ -1,11 +0,0 @@
|
|||
|
||||
class OEQATarget(object):
|
||||
|
||||
def __init__(self, target):
|
||||
self.target = target
|
||||
|
||||
def run(self, cmd):
|
||||
return self.target.run(cmd)
|
||||
|
||||
def copy_to(self, source, destination_dir):
|
||||
self.target.copyTo(source, destination_dir)
|
||||
|
|
@ -1,55 +0,0 @@
|
|||
|
||||
class MkldnnTest(object):
|
||||
mkldnn_target_test_filename = 'mkl-dnn-c'
|
||||
|
||||
def __init__(self, target):
|
||||
self.target = target
|
||||
|
||||
def tear_down(self):
|
||||
self.target.run('rm /tmp/%s' % self.mkldnn_target_test_filename)
|
||||
|
||||
def test_mkldnn_can_compile_and_execute(self):
|
||||
mkldnn_src_dir = '/usr/src/debug/onednn/'
|
||||
mkldnn_src_test_filename = 'api.c'
|
||||
mkldnn_src_test_file = ''
|
||||
|
||||
(__, output) = self.target.run('cd %s; find -name %s' % (mkldnn_src_dir, mkldnn_src_test_filename))
|
||||
if 'No such file or directory' in output:
|
||||
return -1, output
|
||||
|
||||
mkldnn_src_test_file = os.path.join(mkldnn_src_dir, output)
|
||||
(status, output) = self.target.run('gcc %s -o /tmp/%s -ldnnl' % (mkldnn_src_test_file, self.mkldnn_target_test_filename))
|
||||
if status:
|
||||
return status, output
|
||||
|
||||
(status, output) = self.target.run('cd /tmp; ./%s' % self.mkldnn_target_test_filename)
|
||||
return status, output
|
||||
|
||||
def test_mkldnn_benchdnn_package_available(self):
|
||||
(status, output) = self.target.run('ls /usr/bin/mkl-dnn/tests/benchdnn')
|
||||
return status, output
|
||||
|
||||
def _run_mkldnn_benchdnn_test(self, cmd):
|
||||
(status, output) = self.target.run('cd /usr/bin/mkl-dnn/tests/benchdnn; %s' % cmd)
|
||||
return status, output
|
||||
|
||||
def test_mkldnn_conv_api(self):
|
||||
return self._run_mkldnn_benchdnn_test('./benchdnn --conv --batch=inputs/conv/test_conv_3d')
|
||||
|
||||
def test_mkldnn_bnorm_api(self):
|
||||
return self._run_mkldnn_benchdnn_test('./benchdnn --bnorm --batch=inputs/bnorm/test_bnorm_regressions')
|
||||
|
||||
def test_mkldnn_deconv_api(self):
|
||||
return self._run_mkldnn_benchdnn_test('./benchdnn --deconv --batch=inputs/deconv/test_deconv_bfloat16')
|
||||
|
||||
def test_mkldnn_ip_api(self):
|
||||
return self._run_mkldnn_benchdnn_test('./benchdnn --ip --batch=inputs/ip/test_ip_bfloat16')
|
||||
|
||||
def test_mkldnn_reorder_api(self):
|
||||
return self._run_mkldnn_benchdnn_test('./benchdnn --reorder --batch=inputs/reorder/test_reorder_bfloat16')
|
||||
|
||||
def test_mkldnn_rnn_api(self):
|
||||
return self._run_mkldnn_benchdnn_test('./benchdnn --rnn --batch=inputs/rnn/test_rnn_all')
|
||||
|
||||
def test_mkldnn_shuffle_api(self):
|
||||
return self._run_mkldnn_benchdnn_test('./benchdnn --shuffle --batch=inputs/shuffle/test_shuffle_bfloat16')
|
||||
176
lib/oeqa/selftest/cases/secureboot.py
Normal file
176
lib/oeqa/selftest/cases/secureboot.py
Normal file
|
|
@ -0,0 +1,176 @@
|
|||
#!/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)
|
||||
|
|
@ -1 +1 @@
|
|||
FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/${PN}:"
|
||||
FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
|
||||
|
|
|
|||
|
|
@ -0,0 +1,2 @@
|
|||
# Mimic modprobe's install funcitonality with busybox's modprobe
|
||||
install gma500_gfx dmesg | grep gma500_gfx_checked || { /etc/modprobe.d/gma500-gfx-check.sh || modprobe gma500_gfx; }
|
||||
|
|
@ -0,0 +1,15 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Check for devices we wish to avoid gma500_gfx for
|
||||
DEVICES="0x8119 0x4108"
|
||||
|
||||
# Checked flag to avoid infinite modprobe
|
||||
echo "gma500_gfx_checked" >> /dev/kmsg;
|
||||
|
||||
for DEVICE in $DEVICES; do
|
||||
if udevadm trigger --subsystem-match=pci --verbose --attr-match=device=$DEVICE | grep "pci" >> /dev/null ; then
|
||||
echo "Found $DEVICE, avoiding gma500_gfx module" >> /dev/kmsg;
|
||||
exit 0
|
||||
fi
|
||||
done
|
||||
exit 1
|
||||
18
recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
Normal file
18
recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
SUMMARY = "Intel gma500_gfx fix for certain hardware"
|
||||
DESCRIPTION = "Avoid inserting gma500_gfx module for certain hardware devices."
|
||||
LICENSE="GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
|
||||
|
||||
SRC_URI = "file://gma500-gfx-check.conf \
|
||||
file://gma500-gfx-check.sh "
|
||||
|
||||
do_install(){
|
||||
install -d ${D}${sysconfdir}/modprobe.d/
|
||||
install -m 755 ${WORKDIR}/gma500-gfx-check.sh ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.sh
|
||||
install -m 644 ${WORKDIR}/gma500-gfx-check.conf ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.conf
|
||||
}
|
||||
|
||||
FILES_${PN}="${sysconfdir}/modprobe.d/gma500-gfx-check.conf \
|
||||
${sysconfdir}/modprobe.d/gma500-gfx-check.sh"
|
||||
|
||||
COMPATIBLE_MACHINE = "intel-core2-32"
|
||||
|
|
@ -1,27 +0,0 @@
|
|||
SUMMARY = "intel-cmt-cat"
|
||||
DESCRIPTION = "Software package which provides basic support for Intel(R) \
|
||||
Resource Director Technology (Intel(R) RDT)"
|
||||
HOMEPAGE = "https://github.com/intel/intel-cmt-cat"
|
||||
|
||||
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 = "17629d0b726875836af6c7d9cb38b8ed23f32089"
|
||||
|
||||
COMPATIBLE_HOST = '(x86_64).*-linux'
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
do_install() {
|
||||
oe_runmake install PREFIX=${D}${prefix} NOLDCONFIG=y
|
||||
}
|
||||
|
||||
FILES:${PN} += "${nonarch_libdir}/libpqos*"
|
||||
FILES:${PN}-doc = "/usr/man*"
|
||||
|
||||
INSANE_SKIP:${PN} += "ldflags"
|
||||
INSANE_SKIP:${PN} += "dev-so"
|
||||
INSANE_SKIP:${PN} += "libdir"
|
||||
INSANE_SKIP:${PN} += "already-stripped"
|
||||
|
||||
INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
|
||||
|
|
@ -1,16 +0,0 @@
|
|||
SUMMARY = "Intel(R) METEE Library"
|
||||
DESCRIPTION = "MEETEE library provides a cross-platform simple \
|
||||
programing interface for accessing Intel HECI interfaces on devices \
|
||||
found in BigCore and Atom based products."
|
||||
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93"
|
||||
|
||||
COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
|
||||
|
||||
inherit cmake
|
||||
|
||||
SRC_URI = "git://github.com/intel/metee.git;branch=master;protocol=https \
|
||||
"
|
||||
SRCREV = "db45e37e146fd9c06907a15ade55eba06ad1f951"
|
||||
|
||||
9
recipes-bsp/systemd-boot/systemd-boot_%.bbappend
Normal file
9
recipes-bsp/systemd-boot/systemd-boot_%.bbappend
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
PACKAGE_ARCH_intel-x86-common = "${INTEL_COMMON_PACKAGE_ARCH}"
|
||||
|
||||
do_compile_append_intel-x86-common() {
|
||||
ninja src/boot/efi/linux${SYSTEMD_BOOT_EFI_ARCH}.efi.stub
|
||||
}
|
||||
|
||||
do_deploy_append_intel-x86-common() {
|
||||
install ${B}/src/boot/efi/linux*.efi.stub ${DEPLOYDIR}
|
||||
}
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
From bb7631163c8f3f44d0dc83690765cdb799664fd5 Mon Sep 17 00:00:00 2001
|
||||
From: Anuj Mittal <anuj.mittal@intel.com>
|
||||
Date: Wed, 26 Sep 2018 10:34:15 +0800
|
||||
Subject: [PATCH] Use correct format specifier for size_t
|
||||
|
||||
%zu instead of %lu, otherwise on 32 bit:
|
||||
|
||||
| ../git/src/thd_zone.cpp: In member function 'void cthd_zone::sort_and_update_poll_trip()':
|
||||
| ../git/src/thd_zone.cpp:106:16: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'std::vector<cthd_trip_point>::size_type' {aka 'unsigned int'} [-Werror=format=]
|
||||
| thd_log_debug("sort_and_update_poll_trip: trip_points_size =%lu\n",
|
||||
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
| trip_points.size());
|
||||
|
||||
Upstream-Status: Submitted
|
||||
[https://github.com/intel/thermal_daemon/pull/165]
|
||||
|
||||
Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
|
||||
---
|
||||
src/thd_zone.cpp | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/thd_zone.cpp b/src/thd_zone.cpp
|
||||
index b7edf9e..cb7b8e8 100644
|
||||
--- a/src/thd_zone.cpp
|
||||
+++ b/src/thd_zone.cpp
|
||||
@@ -103,7 +103,7 @@ int cthd_zone::read_user_set_psv_temp() {
|
||||
}
|
||||
|
||||
void cthd_zone::sort_and_update_poll_trip() {
|
||||
- thd_log_debug("sort_and_update_poll_trip: trip_points_size =%lu\n",
|
||||
+ thd_log_debug("sort_and_update_poll_trip: trip_points_size =%zu\n",
|
||||
trip_points.size());
|
||||
if (trip_points.size()) {
|
||||
unsigned int polling_trip = 0;
|
||||
--
|
||||
2.17.1
|
||||
|
||||
|
|
@ -6,36 +6,28 @@ 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"
|
||||
DEPENDS = "dbus dbus-glib dbus-glib-native libxml2 glib-2.0 glib-2.0-native"
|
||||
DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
|
||||
DEPENDS_append_libc-musl = " argp-standalone"
|
||||
DEPENDS_append_toolchain-clang = " openmp"
|
||||
LICENSE = "GPLv2"
|
||||
LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848"
|
||||
|
||||
SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \
|
||||
SRC_URI = "git://github.com/intel/thermal_daemon/ \
|
||||
file://0001-Use-correct-format-specifier-for-size_t.patch \
|
||||
"
|
||||
SRCREV = "517c0e5f92d49aeeef3a22b04caf40d588216827"
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
SRCREV = "df3b9ab0ffe780c4fbad7750987eff76f659cfd5"
|
||||
inherit pkgconfig autotools systemd
|
||||
|
||||
inherit pkgconfig autotools systemd gtk-doc
|
||||
FILES_${PN} += "${datadir}/dbus-1/system-services/*.service"
|
||||
|
||||
# gtkdocsize runs before autotools do_configure and it copies gtk-doc.m4 and fails
|
||||
# to copy becuase there is no m4 dir yet.
|
||||
do_configure:prepend () {
|
||||
mkdir -p ${S}/m4
|
||||
}
|
||||
|
||||
EXTRA_OECONF = " \
|
||||
--with-systemdsystemunitdir=${systemd_system_unitdir} \
|
||||
"
|
||||
|
||||
FILES:${PN} += "${datadir}/dbus-1"
|
||||
|
||||
SYSTEMD_SERVICE:${PN} = "thermald.service"
|
||||
SYSTEMD_SERVICE_${PN} = "thermald.service"
|
||||
|
||||
COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
|
||||
|
||||
CONFFILES:${PN} = " \
|
||||
CONFFILES_${PN} = " \
|
||||
${sysconfdir}/thermald/thermal-conf.xml \
|
||||
${sysconfdir}/thermald/thermal-cpu-cdev-order.xml \
|
||||
"
|
||||
|
|
@ -1,2 +1,2 @@
|
|||
# Add i915 graphics firmware
|
||||
PACKAGE_INSTALL:append:intel-x86-common = " linux-firmware-i915"
|
||||
PACKAGE_INSTALL_append_intel-x86-common = " linux-firmware-i915"
|
||||
|
|
|
|||
|
|
@ -32,5 +32,5 @@ python() {
|
|||
d.appendVarFlag('do_image', 'depends', ' %s:do_image_complete' % initrd_i)
|
||||
}
|
||||
|
||||
WKS_FILE:intel-corei7-64 = "core-image-tiny.wks.in"
|
||||
WKS_FILE:intel-core2-32 = "core-image-tiny.wks.in"
|
||||
WKS_FILE_intel-corei7-64 = "core-image-tiny.wks.in"
|
||||
WKS_FILE_intel-core2-32 = "core-image-tiny.wks.in"
|
||||
|
|
|
|||
|
|
@ -1,94 +0,0 @@
|
|||
From d4c97b50b577ea16b9ff6d9a352ab474a119310e Mon Sep 17 00:00:00 2001
|
||||
From: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
Date: Wed, 18 May 2022 15:41:24 +0800
|
||||
Subject: [PATCH] fake_v4l2_device.h: fix narrowing warning
|
||||
|
||||
Use uint32_t instead of int for IOCTLs commands.
|
||||
|
||||
Warning log:
|
||||
| ../../../git/xcore/fake_v4l2_device.h: In member function 'virtual int XCam::FakeV4l2Device::io_control(int, void*)':
|
||||
| ../../../git/xcore/fake_v4l2_device.h:42:14: error: narrowing conversion of '3225441794' from 'long unsigned int' to 'int' [-Wnarrowing]
|
||||
| 42 | case VIDIOC_ENUM_FMT:
|
||||
| | ^~~~~~~~~~~~~~~
|
||||
| make[4]: *** [Makefile:685: libgstxcamsrc_la-gstxcamsrc.lo] Error 1
|
||||
|
||||
Issue: https://github.com/intel/libxcam/issues/801
|
||||
Upstream-Status: Submitted [https://github.com/intel/libxcam/pull/802]
|
||||
|
||||
Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
|
||||
---
|
||||
xcore/base/xcam_common.h | 2 +-
|
||||
xcore/fake_v4l2_device.h | 2 +-
|
||||
xcore/v4l2_device.cpp | 2 +-
|
||||
xcore/v4l2_device.h | 2 +-
|
||||
xcore/xcam_common.cpp | 2 +-
|
||||
5 files changed, 5 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/xcore/base/xcam_common.h b/xcore/base/xcam_common.h
|
||||
index 1f16e1e..4aa6cb9 100644
|
||||
--- a/xcore/base/xcam_common.h
|
||||
+++ b/xcore/base/xcam_common.h
|
||||
@@ -75,7 +75,7 @@ void xcam_free (void *ptr);
|
||||
* return, 0 successfully
|
||||
* else, check errno
|
||||
*/
|
||||
-int xcam_device_ioctl (int fd, int cmd, void *arg);
|
||||
+int xcam_device_ioctl (int fd, uint32_t cmd, void *arg);
|
||||
const char *xcam_fourcc_to_string (uint32_t fourcc);
|
||||
|
||||
void xcam_set_log (const char* file_name);
|
||||
diff --git a/xcore/fake_v4l2_device.h b/xcore/fake_v4l2_device.h
|
||||
index f679c19..e29787d 100644
|
||||
--- a/xcore/fake_v4l2_device.h
|
||||
+++ b/xcore/fake_v4l2_device.h
|
||||
@@ -33,7 +33,7 @@ public:
|
||||
: V4l2Device ("/dev/null")
|
||||
{}
|
||||
|
||||
- int io_control (int cmd, void *arg)
|
||||
+ int io_control (uint32_t cmd, void *arg)
|
||||
{
|
||||
XCAM_UNUSED (arg);
|
||||
|
||||
diff --git a/xcore/v4l2_device.cpp b/xcore/v4l2_device.cpp
|
||||
index 395461e..66a8ac6 100644
|
||||
--- a/xcore/v4l2_device.cpp
|
||||
+++ b/xcore/v4l2_device.cpp
|
||||
@@ -185,7 +185,7 @@ V4l2Device::close ()
|
||||
}
|
||||
|
||||
int
|
||||
-V4l2Device::io_control (int cmd, void *arg)
|
||||
+V4l2Device::io_control (uint32_t cmd, void *arg)
|
||||
|
||||
{
|
||||
if (_fd <= 0)
|
||||
diff --git a/xcore/v4l2_device.h b/xcore/v4l2_device.h
|
||||
index b4ad7ad..2551a92 100644
|
||||
--- a/xcore/v4l2_device.h
|
||||
+++ b/xcore/v4l2_device.h
|
||||
@@ -104,7 +104,7 @@ public:
|
||||
XCamReturn queue_buffer (SmartPtr<V4l2Buffer> &buf);
|
||||
|
||||
// use as less as possible
|
||||
- virtual int io_control (int cmd, void *arg);
|
||||
+ virtual int io_control (uint32_t cmd, void *arg);
|
||||
|
||||
protected:
|
||||
|
||||
diff --git a/xcore/xcam_common.cpp b/xcore/xcam_common.cpp
|
||||
index 848884d..d4d5093 100644
|
||||
--- a/xcore/xcam_common.cpp
|
||||
+++ b/xcore/xcam_common.cpp
|
||||
@@ -53,7 +53,7 @@ void xcam_free(void *ptr)
|
||||
free (ptr);
|
||||
}
|
||||
|
||||
-int xcam_device_ioctl (int fd, int cmd, void *arg)
|
||||
+int xcam_device_ioctl (int fd, uint32_t cmd, void *arg)
|
||||
{
|
||||
int ret = 0;
|
||||
int tried_time = 0;
|
||||
--
|
||||
2.25.1
|
||||
|
||||
|
|
@ -1,38 +0,0 @@
|
|||
SUMMARY = "libXCam is a project for extended camera(not limited in camera) \
|
||||
features and focus on image quality improvement and video analysis"
|
||||
LICENSE = "Apache-2.0"
|
||||
LIC_FILES_CHKSUM = "file://LICENSE;md5=8c911f084a3e5f46b21582a6cc9973e6"
|
||||
SECTION = "lib"
|
||||
|
||||
inherit autotools pkgconfig
|
||||
|
||||
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 \
|
||||
"
|
||||
|
||||
COMPATIBLE_HOST:libc-musl = "null"
|
||||
|
||||
PACKAGECONFIG ??= " gst \
|
||||
${@bb.utils.contains("DISTRO_FEATURES", "opengl", "gles", "", d)} \
|
||||
${@bb.utils.contains("DISTRO_FEATURES", "vulkan", "vulkan", "", d)} \
|
||||
"
|
||||
|
||||
PACKAGECONFIG[gst] = "--enable-gst, --disable-gst, gstreamer1.0 gstreamer1.0-plugins-base"
|
||||
PACKAGECONFIG[aiq] = "--enable-aiq, --disable-aiq,"
|
||||
PACKAGECONFIG[libcl] = "--enable-libcl, --disable-libcl,"
|
||||
PACKAGECONFIG[opencv] = "--enable-opencv, --disable-opencv, opencv"
|
||||
PACKAGECONFIG[render] = "--enable-render, --disable-render,"
|
||||
PACKAGECONFIG[gles] = "--enable-gles, --disable-gles, virtual/mesa"
|
||||
PACKAGECONFIG[vulkan] = "--enable-vulkan, --disable-vulkan, vulkan-loader virtual/mesa"
|
||||
PACKAGECONFIG[dnn] = "--enable-dnn, --disable-dnn,"
|
||||
|
||||
do_install:append () {
|
||||
install -d ${D}${bindir}/libxcam
|
||||
cp -r ${B}/tests/.libs/* ${D}${bindir}/libxcam/
|
||||
}
|
||||
|
||||
FILES:${PN} += "${libdir}/gstreamer-*/*.so"
|
||||
FILES:${PN}-test = "${bindir}/libxcam/*"
|
||||
PACKAGES =+ "${PN}-test"
|
||||
RDEPENDS:${PN}-test =+ "bash"
|
||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user