diff options
197 files changed, 4914 insertions, 3359 deletions
diff --git a/CHANGELOG b/CHANGELOG deleted file mode 100644 index a99cbb1f..00000000 --- a/CHANGELOG +++ /dev/null @@ -1,87 +0,0 @@ -This file will only list major changes that occur within a release. -For a full list of changes, view the git log of the repository. - -Rocko Release 11/2017 -===================== - -Moved qat support to separate layer ------------------------------------ -Quick Assist Technology (QAT) is more middleware and should not be part of the -core BSP. The new layer can be found here: -https://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-qat/ - -Moved dpdk support to separate layer ------------------------------------- -We had some requests to make DPDK standalone so that it could be included -without bringing in anything else from meta-intel, as it is not specific to -Intel(R) hardware. The new layer is located here: -https://git.yoctoproject.org/cgit/cgit.cgi/meta-dpdk/ - -Added support for out-of-tree iwlwifi drivers ---------------------------------------------- -Backport-iwlwifi out-of-tree wifi modules are now available via meta-intel. -Backport-iwlwifi brings the latest iwlwifi drivers to almost any kernel -Note that mac80211 and cfg80211 backports are also necessary, which will most -likely cause incompatibility with other in-tree wifi drivers. -See https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi for more info. - -Added support for out-of-tree ixgbe drivers -------------------------------------------- -The out-of-tree ixgbe drivers bring ixgbe support to nearly any kernel. See -here: http://www.intel.com/network/connectivity/products/server_adapters.htm - -Added an implementation of Secure Boot --------------------------------------- -meta-intel now supports a simple Secure Boot implementation. This implementation -consists of a single binary consisting of an EFI stub, the kernel, an -initrd, and a kernel command line. The binary is then signed via keys defined by -the variables SECUREBOOT_SIGNING_KEY and SECUREBOOT_SIGNING_CERT. These keys -should match the keys embedded in your hardware's firmware. -See documentation/secureboot/README for more information on this feature. - -Improved Yocto Project Compatibility status -------------------------------------------- -The common layer should now be considered Yocto Project compatible - it should -no longer modify OE-core values when adding the layer to your bblayers.conf. -The meta-tlk layer is still not Yocto Project compatible, however. - -Pyro Release 5/2017 -=================== - -Changed default kernel provider from linux-yocto to linux-intel. ----------------------------------------------------------------- -Linux-intel is an Intel(R)-maintained kernel based on the latest stable -branch, along with backports from upstream to better support Intel(R) -hardware. The intel-linux kernel also has a branch with the preempt-rt -patches applied, providing a preempt-rt kernel with no additional work. - -Added QEMU support. -------------------- -We now build several virtio drivers into the kernel by default, and -have qemuboot.conf files for intel-corei7-64 and intel-core2-32 -targets. This allows one to do basic testing on meta-intel images -without having to use hardware. The virtio drivers are added via -KERNEL_FEATURES_INTEL_COMMON. This prevents them from being added to -custom kernels by default. They can be removed by adding the -following to a conf or kernel bbappend file: - KERNEL_FEATURES_INTEL_COMMON_remove = “cfg/virtio.scc” -OVMF firmware is also built and can be used in order to emulate a UEFI -environment. A full runqemu command line for intel-corei7-64 could look -like this: - runqemu core-image-minimal intel-corei7-64 wic ovmf - -Musl support ------------- -Meta-intel is now compatible with the musl C library. You can specify musl -As your C library by adding the following to your local.conf: - TCLIBC = “musl” -Note: there is a known failure with DPDK. - -X32 support ------------ -The meta-intel layer can now build with the x32 tune settings in a multi-lib -setting, it will not work in as the primary MACHINE tune as the bootloader needs -to be built as a 64bit binary. The setup for this would be as follows: - require conf/multilib.conf - MULTILIBS = "multilib:libx32 - DEFAULTTUNE_virtclass-multilib-libx32 = "corei7-64-x32" diff --git a/MAINTAINERS b/MAINTAINERS deleted file mode 100644 index 73a9fe3a..00000000 --- a/MAINTAINERS +++ /dev/null @@ -1,32 +0,0 @@ -This file contains a list of BSP maintainers for the BSPs contained in -the meta-intel repository. - -The purpose of this file is to provide contact information for -specific BSPs and other code contained within meta-intel. You should -address questions and patches for a particular BSP or other code to -the appropriate maintainer listed in this file, cc'ing the meta-intel -mailing list. This ensures that your question or patch will be -addressed by the appropriate person, and that it will be seen by other -users who may be facing similar problems or questions. - -Please see the top-level README file for guidelines relating to the -details of submitting patches, reporting problems, or asking questions -about any of the BSPs or other recipes contained within meta-intel. - -Descriptions of section entries: - - M: Mail patches to: FullName <address@domain> - F: Files and directories with wildcard patterns. - A trailing slash includes all files and subdirectory files. - F: common/ all files in and below common - F: common/* all files in common, but not below - One pattern per line. Multiple F: lines acceptable. - -Please keep this list in alphabetical order. - -Maintainers List (try to look for most precise areas first) - - ----------------------------------- - -M: Anuj Mittal <anuj.mittal@intel.com> -F: * diff --git a/README b/README deleted file mode 100644 index f377c67b..00000000 --- a/README +++ /dev/null @@ -1,459 +0,0 @@ -meta-intel -========== - -This README file contains information on building and booting -meta-intel BSP layers. Please see the corresponding sections below -for details. - - -Yocto Project Compatible -======================== - -The BSPs contained in this layer are compatible with the Yocto Project -as per the requirements listed here: - - https://www.yoctoproject.org/webform/yocto-project-compatible-registration - - -Dependencies -============ - -This layer depends on: - - URI: git://git.openembedded.org/bitbake - - URI: git://git.openembedded.org/openembedded-core - layers: meta - branch: master - - -Table of Contents -================= - - I. Overview - II. Building and booting meta-intel BSP layers - a. Building the intel-common BSP layers - b. Booting the intel-common BSP images - c. Building the installer image - III. Technical Miscellany - Benefits of using meta-intel - The intel-common kernel package architecture - Intel-specific machine features - IV. Tested Hardware - V. Guidelines for submitting patches - - -I. Overview -=========== - -This is the location for Intel-maintained BSPs. - -For details on the intel-common, see the information below. - -For all others, please see the README files contained in the -individual BSP layers for BSP-specific information. - -If you have problems with or questions about a particular BSP, please -contact the maintainer listed in the MAINTAINERS file directly (cc:ing -the Yocto mailing list puts it in the archive and helps other people -who might have the same questions in the future), but please try to do -the following first: - - - look in the Yocto Project Bugzilla - (http://bugzilla.yoctoproject.org/) to see if a problem has - already been reported - - - look through recent entries of the meta-intel - (https://lists.yoctoproject.org/pipermail/meta-intel/) and Yocto - (https://lists.yoctoproject.org/pipermail/yocto/) mailing list - archives to see if other people have run into similar problems or - had similar questions answered. - -If you believe you have encountered a bug, you can open a new bug and -enter the details in the Yocto Project Bugzilla -(http://bugzilla.yoctoproject.org/). If you're relatively certain -that it's a bug against the BSP itself, please use the 'Yocto Project -Components: BSPs | meta-intel' category for the bug; otherwise, please -submit the bug against the most likely category for the problem - if -you're wrong, it's not a big deal and the bug will be recategorized -upon triage. - - -II. Building and booting meta-intel BSP layers -============================================== - -The following sections contain information on building and booting the -BSPs contained in the meta-intel layer. - -Note that these instructions specifically cover the intel-common, which -may or may not be applicable to other BSPs contained in this layer - if -a given BSP contains its own README, that version should be used instead, -and these instructions can be ignored. - -a. Building the intel-common BSP layers -------------------------------------------------- - -In order to build an image with BSP support for a given release, you -need to download the corresponding BSP tarball from the 'Board Support -Package (BSP) Downloads' page of the Yocto Project website (or -equivalently, check out the appropriate branch from the meta-intel git -repository, see below). For the intel-common BSPs, those tarballs would -correspond to the following choices in the BSP downloads section: - - - Intel-core2-32 Intel® Common Core BSP (Intel-core2-32) - - Intel-corei7-64 Intel® Common Core BSP (Intel-corei7-64) - -The intel-* BSPs, also known as the intel-common BSPs, provide a few -carefully selected tune options and generic hardware support to cover -the majority of current Intel CPUs and devices. The naming follows the -convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type -(used with mtune and march typically) and BITS is either 32 bit or 64 -bit. - -Having done that, and assuming you extracted the BSP tarball contents -at the top-level of your yocto build tree, you can build a BSP image -by adding the location of the meta-intel layer to bblayers.conf e.g.: - - yocto/meta-intel \ - -To enable a particular machine, you need to add a MACHINE line naming -the BSP to the local.conf file: - - MACHINE ?= "xxx" - -where 'xxx' is replaced by one of the following BSP names: - - - intel-core2-32 - - This BSP is optimized for the Core2 family of CPUs as well as all - Atom CPUs prior to the Silvermont core. - - - intel-corei7-64 - - This BSP is optimized for Nehalem and later Core and Xeon CPUs as - well as Silvermont and later Atom CPUs, such as the Baytrail SoCs. - -You should then be able to build an image as such: - - $ source oe-init-build-env - $ bitbake core-image-sato - -At the end of a successful build, you should have an image that -you can boot from a USB flash drive (see instructions on how to do -that below, in the section 'Booting the intel-common BSP images'). - -As an alternative to downloading the BSP tarball, you can also work -directly from the meta-intel git repository. For each BSP in the -'meta-intel' repository, there are multiple branches, one -corresponding to each major release starting with 'laverne' (0.90), in -addition to the latest code which tracks the current master (note that -not all BSPs are present in every release). Instead of extracting -a BSP tarball at the top level of your yocto build tree, you can -equivalently check out the appropriate branch from the meta-intel -repository at the same location. - -b. Booting the intel-common BSP images --------------------------------------- - -If you've built your own image, either from the downloaded BSP layer -or from the meta-intel git repository, you'll find the bootable -image in the build/tmp/deploy/images/xxx directory, where again -'xxx' refers to the machine name used in the build. - -Under Linux, insert a USB flash drive. Assuming the USB flash drive -takes device /dev/sdf, use dd to copy the image to it. Before the image -can be burned onto a USB drive, it should be un-mounted. Some Linux distros -may automatically mount a USB drive when it is plugged in. Using USB device -/dev/sdf as an example, find all mounted partitions: - - $ mount | grep sdf - -and un-mount those that are mounted, for example: - - $ umount /dev/sdf1 - $ umount /dev/sdf2 - -Now burn the image onto the USB drive: - - $ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress - $ sync - $ eject /dev/sdf - -This should give you a bootable USB flash device. Insert the device -into a bootable USB socket on the target, and power on. This should -result in a system booted to the Sato graphical desktop. - -If you want a terminal, use the arrows at the top of the UI to move to -different pages of available applications, one of which is named -'Terminal'. Clicking that should give you a root terminal. - -If you want to ssh into the system, you can use the root terminal to -ifconfig the IP address and use that to ssh in. The root password is -empty, so to log in type 'root' for the user name and hit 'Enter' at -the Password prompt: and you should be in. - -If you find you're getting corrupt images on the USB (it doesn't show -the syslinux boot: prompt, or the boot: prompt contains strange -characters), try doing this first: - - $ dd if=/dev/zero of=/dev/sdf bs=1M count=512 - -c. Building the installer image ------------------------------------------------ - -If you plan to install your image to your target machine, you can build a wic -based installer image instead of default wic image. To build it, you need to -add below configuration to local.conf : - - WKS_FILE = "image-installer.wks.in" - IMAGE_FSTYPES_append = " ext4" - IMAGE_TYPEDEP_wic = "ext4" - INITRD_IMAGE_LIVE="core-image-minimal-initramfs" - do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete" - do_rootfs[depends] += "virtual/kernel:do_deploy" - IMAGE_BOOT_FILES_append = "\ - ${KERNEL_IMAGETYPE} \ - microcode.cpio \ - ${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.ext4;rootfs.img \ - ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \ - ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \ - ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \ - ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \ - ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} " - -Burn the wic image onto USB flash device, insert the device to target machine -and power on. This should start the installation process. - -III. Technical Miscellany -========================= - -Benefits of using meta-intel ----------------------------- - -Using meta-intel has the following benefits over a generic BSP: - -tune flags -++++++++++ -intel-* MACHINEs each have different compilation flags appropriate for their -targeted hardware sets. intel-corei7-64 has tune flags appropriate for modern -64-bit Intel Core i microarchitecture, and includes instruction sets up to -SSE4.2. intel-core2-32 has tune flags appropriate for legacy 32-bit Intel Core2 -microarchitecture, and includes instruction sets up to SSE3. - -linux-intel kernel -++++++++++++++++++ -The linux-intel kernel is an initiative to bring better Intel(R) hardware -support to the current LTS linux kernel. It contains a base LTS kernel with -additional backports from upstream Intel drivers. In addition, a default kernel -config containing most features found on Intel boards is supplied via the -yocto-kernel-cache. - -graphics stack -++++++++++++++ -Meta-intel provides the latest Intel Graphics Linux Stack drivers to support -Intel hardware as defined by the https://01.org/linuxgraphics. - -Other software -++++++++++++++ - * intel ucode - provides the latest microcode updates for Intel processors - - * thermald - which proactively controls thermal, using P-states, T-states, and -the Intel power clamp driver. -(https://01.org/linux-thermal-daemon/documentation/introduction-thermal-daemon) - -The intel-common kernel package architecture --------------------------------------------- - -These BSPs use what we call the intel-common Linux kernel package -architecture. This includes core2-32-intel-common and -corei7-64-intel-common. These kernel packages can also be used by any -of the BSPs in meta-intel that choose to include the -intel-common-pkgarch.inc file. - -To minimize the proliferation of vendor trees, reduce the sources we -must support, and consolidate QA efforts, all BSP maintainers are -encouraged to make use of the intel-common Linux kernel package -architecture. - -Intel-specific machine features -------------------------------- - -The meta-intel layer makes some additional machine features available -to BSPs. These machine features can be used in a BSP layer in the -same way that machine features are used in other layers based on -oe-core, via the MACHINE_FEATURES variable. - -Requirements -++++++++++++ - -The meta-intel-specific machine features are only available to a BSP -when the meta-intel layer is included in the build configuration, and -the meta-intel.inc file is included in the machine configuration of -that BSP. - -To make these features available for your machine, you will need to: - - 1. include a configuration line such as the below in bblayers.conf - BBLAYERS += "<local path>/meta-intel" - 2. include the following line in the machine configuration file - require conf/machine/include/meta-intel.inc - -Once the above requirements are met, the machine features provided by -the meta-intel layer will be available for the BSP to use. - -Available machine features -++++++++++++++++++++++++++ - -Currently, the meta-intel layer makes the following set of -Intel-specific machine features available: - - * intel-ucode - -These machine features can be included by listing them in the -MACHINE_FEATURES variable in the machine configuration file. For -example: - - MACHINE_FEATURES += "intel-ucode" - -Machine feature details -+++++++++++++++++++++++ - - * intel-ucode - - This feature provides support for microcode updates to Intel - processors. The intel-ucode feature runs at early boot and uses - the microcode data file added by the feature into the BSP's - initrd. It also puts the userland microcode-updating tool, - iucode_tool, into the target images along with the microcode data - file. - - Q. Why might a user want to enable the intel-ucode feature? - - A. Intel releases microcode updates to correct processor behavior - as documented in the respective processor specification - updates. While the normal approach to getting such microcode - updates is via a BIOS upgrade, this can be an administrative - hassle and not always possible in the field. The intel-ucode - feature enables the microcode update capability present in the - Linux kernel. It provides an easy path for upgrading processor - microcode without the need to change the BIOS. If the feature - is enabled, it is also possible to update the existing target - images with a newer microcode update in the future. - - Q. How would a user bundle only target-specific microcode in the - target image? - - A. The Intel microcode data file released by Intel contains - microcode updates for multiple processors. If the BSP image is - meant to run on only a certain subset of processor types, a - processor-specific subset of microcode can be bundled into the - target image via the UCODE_FILTER_PARAMETERS variable. This - works by listing a sequence of iucode-tool parameters in the - UCODE_FILTER_PARAMETERS variable, which in this case will - select only the specific microcode relevant to the BSP. For - more information on the underlying parameters refer to the - iucode-tool manual page at http://manned.org/iucode-tool - - To define a set of parameters for microcode-filtering via the - UCODE_FILTER_PARAMETERS variable, one needs to identify the - cpuid signatures of all the processors the BSP is meant to run - on. One way to determine the cpuid signature for a specific - processor is to build and run an intel-ucode-feature-enabled - image on the target hardware, without first assigning any value - to the UCODE_FILTER_PARAMETERS variable, and then once the - image is booted, run the "ucode_tool -S" command to have the - ucode tool scan the system for processor signatures. These - signatures can then be used in the UCODE_FILTER_PARAMETERS - variable in conjunction with -s parameter. For example, for - the fri2 BSP, the cpuid can be determined as such: - - [root@fri2 ~]# iucode_tool -S - iucode_tool: system has processor(s) with signature 0x00020661 - - Given that output, a suitable UCODE_FILTER_PARAMETERS variable - definition could be specified in the machine configuration as - such: - - UCODE_FILTER_PARAMETERS = "-s 0x00020661" - - Q. Are there any reasons a user might want to disable the - intel-ucode feature? - - A. The microcode data file and associated tools occupy a small - amount of space (a few KB) on the target image. BSPs which are - highly sensitive to target image size and which are not - experiencing microcode-related issues might consider not - enabling this feature. - - -IV. Tested Hardware -=================== - -The following undergo regular basic testing with their respective MACHINE types. -Note that both 64-bit and 32-bit firmware is available for the MinnowBoard -Turbot, so it is tested against both intel-corei7-64 and intel-core2-32. - -intel-corei7-64: - NUC6i5SYH - NUC7i7BNH - Coffee Lake-H - -intel-core2-32: - MinnowBoard Turbot - - -V. Guidelines for submitting patches -==================================== - -Please submit any patches against meta-intel BSPs to the meta-intel -mailing list (meta-intel@lists.yoctoproject.org). Also, if your patches are -available via a public git repository, please also include a URL to -the repo and branch containing your patches as that makes it easier -for maintainers to grab and test your patches. - -There are patch submission scripts available that will, among other -things, automatically include the repo URL and branch as mentioned. -Please see the Yocto Project Development Manual sections entitled -'Using Scripts to Push a Change Upstream and Request a Pull' and -'Using Email to Submit a Patch' for details. - -Regardless of how you submit a patch or patchset, the patches should -at minimum follow the suggestions outlined in the 'Submitting a Change -to the Yocto Project' section in the Yocto Project Development Manual. -Specifically, they should: - - - Include a 'Signed-off-by:' line. A commit can't legally be pulled - in without this. - - - Provide a single-line, short summary of the change. This short - description should be prefixed by the BSP or recipe name, as - appropriate, followed by a colon. Capitalize the first character - of the summary (following the colon). - - - For the body of the commit message, provide detailed information - that describes what you changed, why you made the change, and the - approach you used. - - - If the change addresses a specific bug or issue that is associated - with a bug-tracking ID, include a reference to that ID in your - detailed description in the following format: [YOCTO #<bug-id>]. - - - Pay attention to line length - please don't allow any particular - line in the commit message to stretch past 72 characters. - - - For any non-trivial patch, provide information about how you - tested the patch, and for any non-trivial or non-obvious testing - setup, provide details of that setup. - -Doing a quick 'git log' in meta-intel will provide you with many -examples of good example commits if you have questions about any -aspect of the preferred format. - -The meta-intel maintainers will do their best to review and/or pull in -a patch or patchset within 24 hours of the time it was posted. For -larger and/or more involved patches and patchsets, the review process -may take longer. - -Please see the meta-intel/MAINTAINERS file for the list of maintainers -and their specific areas; it's also a good idea to cc: the specific -maintainer, if applicable. diff --git a/README.md b/README.md new file mode 100644 index 00000000..3ec3992b --- /dev/null +++ b/README.md @@ -0,0 +1,35 @@ +# 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) +- [Tested Hardware](documentation/tested_hardware.md) +- [Guidelines for submitting patches](documentation/submitting_patches.md) +- [Reporting bugs](documentation/reporting_bugs.md) +- [Reporting security bugs](SECURITY.md) + +## Maintainers + +- Anuj Mittal <anuj.mittal@intel.com> + diff --git a/README.sources b/README.sources deleted file mode 100644 index 9b483ee0..00000000 --- a/README.sources +++ /dev/null @@ -1,17 +0,0 @@ -The sources for the packages comprising the images shipped with this -BSP can be found at the following location: - -http://downloads.yoctoproject.org/mirror/sources/ - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can be found at the -following location: - -http://downloads.yoctoproject.org/releases/yocto/yocto-2.7/poky-warrior-21.0.0.tar.bz2 - -The metadata used to generate the images shipped with this BSP, in -addition to the code contained in this BSP, can also be found at the -following locations: - -git://git.yoctoproject.org/poky.git -git://git.yoctoproject.org/meta-intel diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..e70fcb0f --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,6 @@ +# Security Policy +Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation. + +## Reporting a Vulnerability +Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html). + diff --git a/classes/uefi-comboapp.bbclass b/classes/uefi-comboapp.bbclass index 4ecc5535..a05e0ca0 100644 --- a/classes/uefi-comboapp.bbclass +++ b/classes/uefi-comboapp.bbclass @@ -4,8 +4,8 @@ # it with the efi stub obtained from systemd-boot. # Don't add syslinux or build an ISO -PCBIOS_forcevariable = "0" -NOISO_forcevariable = "1" +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 @@ -138,7 +138,7 @@ build_efi_cfg() { : } -populate_kernel_append() { +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 diff --git a/conf/include/maintainers.inc b/conf/include/maintainers.inc index 90c39e4e..9849d0d8 100644 --- a/conf/include/maintainers.inc +++ b/conf/include/maintainers.inc @@ -1,44 +1,54 @@ # 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-gmmlib = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-hdcp = "Naveen Saini <naveen.kumar.saini@intel.com>" -RECIPE_MAINTAINER_pn-intel-graphics-compiler = "Naveen Saini <naveen.kumar.saini@intel.com>" -RECIPE_MAINTAINER_pn-intel-compute-runtime = "Naveen Saini <naveen.kumar.saini@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-intel-vaapi-driver = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-isa-l = "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-jhi = "Naveen Saini <naveen.kumar.saini@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-libyami = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-libyami-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-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-onednn = "Naveen Saini <naveen.kumar.saini@intel.com>" -RECIPE_MAINTAINER_pn-open-model-zoo = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-opencl-clang = "Naveen Saini <naveen.kumar.saini@intel.com>" -RECIPE_MAINTAINER_pn-openvino-inference-engine = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-openvino-model-optimizer = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-ovmf-shell-image-enrollkeys = "Naveen Saini <naveen.kumar.saini@intel.com>" -RECIPE_MAINTAINER_pn-sbsigntool-native = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-secureboot-selftest-image-signed = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-secureboot-selftest-image-unsigned = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-thermald = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-xf86-video-ast = "Anuj Mittal <anuj.mittal@intel.com>" -RECIPE_MAINTAINER_pn-zlib-intel = "Naveen Saini <naveen.kumar.saini@intel.com>" +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-hdcp = "Naveen Saini <naveen.kumar.saini@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-mediasdk = "Lim Siew Hoon <siew.hoon.lim@intel.com>" +RECIPE_MAINTAINER:pn-intel-microcode = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-intel-vaapi-driver = "Lim Siew Hoon <siew.hoon.lim@intel.com>" +RECIPE_MAINTAINER:pn-ipmctl = "Anuj Mittal <anuj.mittal@intel.com>" +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-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-open-model-zoo = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-opencl-clang = "Naveen Saini <naveen.kumar.saini@intel.com>" +RECIPE_MAINTAINER:pn-openvino-inference-engine = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-openvino-model-optimizer = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-openvkl = "Naveen Saini <naveen.kumar.saini@intel.com>" +RECIPE_MAINTAINER:pn-ospray = "Naveen Saini <naveen.kumar.saini@intel.com>" +RECIPE_MAINTAINER:pn-ovmf-shell-image-enrollkeys = "Naveen Saini <naveen.kumar.saini@intel.com>" +RECIPE_MAINTAINER:pn-rkcommon = "Naveen Saini <naveen.kumar.saini@intel.com>" +RECIPE_MAINTAINER:pn-sbsigntool-native = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-secureboot-selftest-image-signed = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-secureboot-selftest-image-unsigned = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-thermald = "Anuj Mittal <anuj.mittal@intel.com>" +RECIPE_MAINTAINER:pn-xf86-video-ast = "Anuj Mittal <anuj.mittal@intel.com>" diff --git a/conf/layer.conf b/conf/layer.conf index b9b3ada5..97dfb897 100644 --- a/conf/layer.conf +++ b/conf/layer.conf @@ -10,15 +10,16 @@ BBFILE_PATTERN_intel := "^${LAYERDIR}/" BBFILE_PRIORITY_intel = "5" # Additional license directories. -LICENSE_PATH += "${LAYERDIR}/custom-licenses" +CUSTOM_LICENSES_PATH = "${LAYERDIR}/custom-licenses" +LICENSE_PATH += "${CUSTOM_LICENSES_PATH}" LAYERDEPENDS_intel = "core" -LAYERRECOMMENDS_intel = "dpdk intel-qat" +LAYERRECOMMENDS_intel = "dpdk" # This should only be incremented on significant changes that will # cause compatibility issues with other layers LAYERVERSION_intel = "5" -LAYERSERIES_COMPAT_intel = "dunfell gatesgarth" +LAYERSERIES_COMPAT_intel = "kirkstone scarthgap" BBFILES_DYNAMIC += " \ clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \ @@ -31,10 +32,6 @@ BBFILES_DYNAMIC += " \ require ${LAYERDIR}/conf/include/maintainers.inc -PREFERRED_PROVIDER_zlib ?= "zlib" -PREFERRED_PROVIDER_zlib-native ?= "zlib-native" -PREFERRED_PROVIDER_nativesdk-zlib ?= "nativesdk-zlib" - # Use the libva from OE-Core when layer is included but no MACHINE # from meta-intel is being used. PREFERRED_PROVIDER_libva ?= "libva" @@ -44,3 +41,5 @@ 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 diff --git a/conf/machine/include/intel-common-pkgarch.inc b/conf/machine/include/intel-common-pkgarch.inc index d0f208bd..94d77e06 100644 --- a/conf/machine/include/intel-common-pkgarch.inc +++ b/conf/machine/include/intel-common-pkgarch.inc @@ -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}:" diff --git a/conf/machine/include/intel-core2-32-common.inc b/conf/machine/include/intel-core2-32-common.inc index 8c469499..ce34d9bb 100644 --- a/conf/machine/include/intel-core2-32-common.inc +++ b/conf/machine/include/intel-core2-32-common.inc @@ -3,5 +3,5 @@ # DEFAULTTUNE ?= "core2-32" -require conf/machine/include/tune-core2.inc -require conf/machine/include/x86-base.inc +require conf/machine/include/x86/tune-core2.inc +require conf/machine/include/x86/x86-base.inc diff --git a/conf/machine/include/intel-corei7-64-common.inc b/conf/machine/include/intel-corei7-64-common.inc index 00282569..3498ebe3 100644 --- a/conf/machine/include/intel-corei7-64-common.inc +++ b/conf/machine/include/intel-corei7-64-common.inc @@ -3,5 +3,5 @@ # DEFAULTTUNE ?= "corei7-64" -require conf/machine/include/tune-corei7.inc -require conf/machine/include/x86-base.inc +require conf/machine/include/x86/tune-corei7.inc +require conf/machine/include/x86/x86-base.inc diff --git a/conf/machine/include/meta-intel.inc b/conf/machine/include/meta-intel.inc index e8562ab4..230d0253 100644 --- a/conf/machine/include/meta-intel.inc +++ b/conf/machine/include/meta-intel.inc @@ -5,17 +5,11 @@ # PREFERRED_PROVIDER_virtual/kernel ?= "linux-intel" -PREFERRED_PROVIDER_virtual/kernel_poky-tiny ?= "linux-intel" +PREFERRED_PROVIDER_virtual/kernel:poky-tiny ?= "linux-intel" -# Only use the Intel-tuned zlib for target builds to improve reuse -PREFERRED_PROVIDER_zlib = "zlib-intel" -PREFERRED_PROVIDER_zlib-native = "zlib-native" -PREFERRED_PROVIDER_nativesdk-zlib = "nativesdk-zlib" - -PREFERRED_VERSION_linux-intel ?= "5.4%" -PREFERRED_VERSION_linux-intel-rt ?= "5.4%" -PREFERRED_VERSION_linux-intel_poky-altcfg ?= "5.4%" -PREFERRED_VERSION_linux-intel-rt_poky-altcfg ?= "5.4%" +PREFERRED_VERSION_linux-intel ?= "6.6%" +PREFERRED_VERSION_linux-intel-rt ?= "6.6%" +PREFERRED_VERSION_linux-intel:poky-altcfg ?= "6.8%" # Need to point to latest version of libva needed for media components PREFERRED_PROVIDER_libva = "libva-intel" @@ -26,27 +20,28 @@ PREFERRED_PROVIDER_libva-utils = "libva-intel-utils" PREFERRED_PROVIDER_libva-utils-native = "libva-intel-utils-native" PREFERRED_PROVIDER_nativesdk-libva-utils = "nativesdk-libva-intel-utils" -PREFERRED_VERSION_opencl-clang ?= "${@bb.utils.contains('LLVMVERSION', '10.0.1', '10.0.0', '11.0.0', d)}" -PREFERRED_VERSION_opencl-clang-native ?= "${@bb.utils.contains('LLVMVERSION', '10.0.1', '10.0.0', '11.0.0', d)}" +LLVM_MAJOR_VERSION = "${@d.getVar('LLVMVERSION').split('.')[0]}" +PREFERRED_VERSION_opencl-clang ?= "${@bb.utils.contains('LLVM_MAJOR_VERSION', '14', '14.0.0', '15.0.0', d)}" +PREFERRED_VERSION_opencl-clang-native ?= "${@bb.utils.contains('LLVM_MAJOR_VERSION', '14', '14.0.0', '15.0.0', d)}" 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)} thermald" +MACHINE_ESSENTIAL_EXTRA_RDEPENDS:append = "${@bb.utils.contains('MACHINE_FEATURES', 'intel-ucode', ' intel-microcode', '', d)}" # 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" +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" # 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:" diff --git a/conf/machine/include/qemu-intel.inc b/conf/machine/include/qemu-intel.inc index 81510404..4608db99 100644 --- a/conf/machine/include/qemu-intel.inc +++ b/conf/machine/include/qemu-intel.inc @@ -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-native qemu-helper-native" +EXTRA_IMAGEDEPENDS += "qemu-system-native qemu-helper-native:do_addto_recipe_sysroot" # Build ovmf firmware for uefi support in qemu. EXTRA_IMAGEDEPENDS += "ovmf" diff --git a/conf/machine/include/qemuboot-intel.inc b/conf/machine/include/qemuboot-intel.inc index befcc250..17a1234d 100644 --- a/conf/machine/include/qemuboot-intel.inc +++ b/conf/machine/include/qemuboot-intel.inc @@ -1,19 +1,18 @@ # 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-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-skylake-64 = "qemu-system-x86_64" +QB_CPU:intel-skylake-64 = "-cpu Skylake-Client" +QB_CPU_KVM:intel-skylake-64 = "-cpu Skylake-Client" QB_AUDIO_DRV = "alsa" -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" +QB_AUDIO_OPT = "-device AC97" +QB_KERNEL_CMDLINE_APPEND = " oprofile.timer=1" +QB_OPT_APPEND = " -usb -usbdevice tablet " diff --git a/conf/machine/include/tune-skylake.inc b/conf/machine/include/tune-skylake.inc deleted file mode 100644 index 4882600b..00000000 --- a/conf/machine/include/tune-skylake.inc +++ /dev/null @@ -1,48 +0,0 @@ -# Settings for the GCC(1) cpu-type "skylake": -# -# Intel Skylake CPU with 64-bit extensions, MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1, -# SSE4.2, AVX, AVX2 and POPCNT instruction set support. -# -# This tune is recommended for Intel Skylake CPU (and beyond). -# -DEFAULTTUNE ?= "skylake-64" - -# Include the previous tune to pull in PACKAGE_EXTRA_ARCHS -require conf/machine/include/tune-corei7.inc - -# Extra tune features -TUNEVALID[skylake] = "Enable skylake specific processor optimizations" -TUNE_CCARGS .= "${@bb.utils.contains('TUNE_FEATURES', 'skylake', ' -march=skylake ${SKYLAKE_TUNE} -mfpmath=sse', '', d)}" - -# Extra tune selections - -AVAILTUNES += "skylake-64" -TUNE_FEATURES_tune-skylake-64 = "${TUNE_FEATURES_tune-x86-64} skylake" -BASE_LIB_tune-skylake-64 = "lib64" -TUNE_PKGARCH_tune-skylake-64 = "skylake-64" -PACKAGE_EXTRA_ARCHS_tune-skylake-64 = "${PACKAGE_EXTRA_ARCHS_tune-core2-64} skylake-64" -QEMU_EXTRAOPTIONS_skylake-64 = " -cpu Skylake-Client" - - -# Disable QEMU usermode by default (get avx2) -MACHINE_FEATURES_remove = "qemu-usermode" - -# If qemu-usermode is enabled, we have to disable avx2 ISA extensions, but we can keep mtune as skylake vs generic -SKYLAKE_TUNE .= "${@bb.utils.contains('MACHINE_FEATURES', 'qemu-usermode', ' -mtune=skylake ${QEMU_UNAVAILABLE_ISA}', '-mtune=generic -mavx2', d)}" - -QEMU_UNAVAILABLE_ISA = " \ --mno-avx \ --mno-avx2 \ --mno-avx512f \ --mno-avx512er \ --mno-avx512cd \ --mno-avx512pf \ --mno-avx512dq \ --mno-avx512bw \ --mno-avx512vl \ --mno-avx512ifma \ --mno-avx512vbmi \ --mno-avx512vbmi2 \ --mno-avx512vnni \ --mno-avx512bitalg \ -" diff --git a/conf/machine/intel-core2-32.conf b/conf/machine/intel-core2-32.conf index 384ad1e9..5b134dc3 100644 --- a/conf/machine/intel-core2-32.conf +++ b/conf/machine/intel-core2-32.conf @@ -13,9 +13,6 @@ MACHINE_FEATURES += "intel-ucode" MACHINE_HWCODECS ?= "intel-vaapi-driver gstreamer1.0-vaapi" -# Enable optional QAT items: -COMPATIBLE_MACHINE_pn-qat17 = "intel-core2-32" - XSERVER ?= "${XSERVER_X86_BASE} \ ${XSERVER_X86_EXT} \ ${XSERVER_X86_FBDEV} \ @@ -32,4 +29,4 @@ 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" diff --git a/conf/machine/intel-corei7-64.conf b/conf/machine/intel-corei7-64.conf index 033b1aa9..968395fe 100644 --- a/conf/machine/intel-corei7-64.conf +++ b/conf/machine/intel-corei7-64.conf @@ -14,12 +14,8 @@ MACHINE_FEATURES += "intel-ucode" MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver intel-mediasdk', d)} gstreamer1.0-vaapi" # Enable optional dpdk: -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" +COMPATIBLE_MACHINE:pn-dpdk = "intel-corei7-64" +COMPATIBLE_MACHINE:pn-dpdk-module = "intel-corei7-64" XSERVER ?= "${XSERVER_X86_BASE} \ ${XSERVER_X86_EXT} \ @@ -37,4 +33,4 @@ 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" diff --git a/conf/machine/intel-skylake-64.conf b/conf/machine/intel-skylake-64.conf index eccd59b8..a2b392c2 100644 --- a/conf/machine/intel-skylake-64.conf +++ b/conf/machine/intel-skylake-64.conf @@ -4,8 +4,8 @@ #@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-base.inc -require conf/machine/include/tune-skylake.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" @@ -14,7 +14,8 @@ MACHINE_FEATURES += "intel-ucode" MACHINE_HWCODECS ?= "intel-media-driver intel-mediasdk gstreamer1.0-vaapi" -COMPATIBLE_MACHINE_pn-dpdk = "intel-skylake-64" +COMPATIBLE_MACHINE:pn-dpdk = "intel-skylake-64" +COMPATIBLE_MACHINE:pn-dpdk-module = "intel-skylake-64" XSERVER ?= "${XSERVER_X86_BASE} \ ${XSERVER_X86_EXT} \ @@ -32,4 +33,4 @@ 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" diff --git a/custom-licenses/EULA b/custom-licenses/EULA new file mode 100644 index 00000000..549f78e1 --- /dev/null +++ b/custom-licenses/EULA @@ -0,0 +1,392 @@ +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. diff --git a/custom-licenses/ISSL b/custom-licenses/ISSL index 5435ee04..f987e502 100644 --- a/custom-licenses/ISSL +++ b/custom-licenses/ISSL @@ -1,63 +1,73 @@ -Intel Simplified Software License (Version April 2018) +Intel Simplified Software License (Version August 2021) -Copyright (c) 2018 Intel Corporation. +Use and Redistribution. You may use and redistribute the software (the +"Software"), without modification, provided the following conditions are met: -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. -* 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. +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. -* 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. +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. -* No reverse engineering, decompilation, or disassembly of this Software is permitted. +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. -Limited patent license. Intel grants you a world-wide, royalty-free, non-exclusive license under patents -it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize") -this Software, but solely to the extent that any such patent is necessary to Utilize the Software alone. -The patent license shall not apply to any combinations which include this software. No hardware per se -is licensed hereunder. +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. -Third party and other Intel programs. "Third Party Programs" are the files listed in the -"third-party-programs.txt" text file that is included with the Software and may include Intel programs -under separate license terms. Third Party Programs, even if included with the distribution of the Materials, -are governed by separate license terms and those license terms solely govern your use of those programs. +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. -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 MATERIALS. +Termination. Your right to use the Software is terminated in the event of your +breach of this license. -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. YOU AGREE TO -INDEMNIFY AND HOLD INTEL HARMLESS AGAINST ANY CLAIMS AND EXPENSES RESULTING FROM YOUR USE OR UNAUTHORIZED -USE OF THE SOFTWARE. +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. -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. +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. -Termination. Intel may terminate your right to use the Software in the event of your breach of this Agreement -and you fail to cure the breach within a reasonable period of time. - -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. - -*Other names and brands may be claimed as the property of others.
\ No newline at end of file +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. diff --git a/custom-licenses/syrah b/custom-licenses/syrah new file mode 100644 index 00000000..5cd7f4e6 --- /dev/null +++ b/custom-licenses/syrah @@ -0,0 +1,32 @@ +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.
\ No newline at end of file diff --git a/documentation/building_and_booting.md b/documentation/building_and_booting.md new file mode 100644 index 00000000..478a4fb0 --- /dev/null +++ b/documentation/building_and_booting.md @@ -0,0 +1,134 @@ +### Building the Intel BSP layers + +The intel-common BSP provide a few carefully selected tune options and +generic hardware support to cover the majority of current Intel CPUs and +devices. The naming follows the convention of intel-<TUNE>-<BITS>, where +TUNE is the gcc cpu-type (used with mtune and march typically) and BITS +is either 32 bit or 64 bit. + +In order to build an image with BSP support for a given release, you +need to clone the meta-intel layer from git repository: +``` +git clone https://git.yoctoproject.org/meta-intel +``` + +Check out the appropriate branch or release tags. The branch name and tags +would align with Yocto Project +[Release Codenames](https://wiki.yoctoproject.org/wiki/Releases). +Assuming meta-intel repository is cloned at the top-level of +OE-Core build tree, you can build a BSP image by adding the location of +the meta-intel layer to bblayers.conf: +``` +BBLAYERS = " \ + /openembedded-core/meta \ + /openembedded-core/meta-intel " +``` + +To enable a particular machine, add a MACHINE line naming the BSP +to the local.conf file: +``` +MACHINE ?= "intel-corei7-64" +``` + +where this can be replaced by other MACHINE types available: + + - intel-core2-32 + + This BSP is optimized for the Core2 family of CPUs as well as all + Atom CPUs prior to the Silvermont core. + + - intel-corei7-64 + + This BSP is optimized for Nehalem and later Core and Xeon CPUs as + well as Silvermont and later Atom CPUs, such as the Baytrail SoCs. + + - intel-skylake-64 + + This BSP uses [x86-64-v3 tuning](https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html). + +You should then be able to build an image as such: +``` +$ source oe-init-build-env +$ bitbake core-image-sato +``` + +At the end of a successful build, you should have an image that +you can boot from a USB flash drive. + + +## Booting the intel-common BSP images + +If you've built your own image, you'll find the bootable +image in the build/tmp/deploy/images/{MACHINE} directory, where +'MACHINE' refers to the machine name used in the build. + +Under Linux, insert a USB flash drive. Assuming the USB flash drive +takes device /dev/sdf, use dd to copy the image to it. Before the image +can be burned onto a USB drive, it should be un-mounted. Some Linux distros +may automatically mount a USB drive when it is plugged in. Using USB device +/dev/sdf as an example, find all mounted partitions: +``` +$ mount | grep sdf +``` + +and un-mount those that are mounted, for example: +``` +$ umount /dev/sdf1 +$ umount /dev/sdf2 +``` + +Now burn the image onto the USB drive: +``` +$ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress +$ sync +$ eject /dev/sdf +``` + +This should give you a bootable USB flash device. Insert the device +into a bootable USB socket on the target, and power on. This should +result in a system booted to the Sato graphical desktop. + +If you want a terminal, use the arrows at the top of the UI to move to +different pages of available applications, one of which is named +'Terminal'. Clicking that should give you a root terminal. + +If you want to ssh into the system, you can use the root terminal to +ifconfig the IP address and use that to ssh in. The root password is +empty, so to log in type 'root' for the user name and hit 'Enter' at +the Password prompt: and you should be in. + +If you find you're getting corrupt images on the USB (it doesn't show +the syslinux boot: prompt, or the boot: prompt contains strange +characters), try doing this first: +``` +$ dd if=/dev/zero of=/dev/sdf bs=1M count=512 +``` + +## Building the installer image + +If you plan to install your image to your target machine, you can build a wic +based installer image instead of default wic image. To build it, you need to +add below configuration to local.conf : + +``` +WKS_FILE = "image-installer.wks.in" +IMAGE_FSTYPES:append = " ext4" +IMAGE_TYPEDEP:wic = "ext4" +INITRD_IMAGE_LIVE="core-image-minimal-initramfs" +do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete" +do_rootfs[depends] += "virtual/kernel:do_deploy" +IMAGE_BOOT_FILES:append = "\ + ${KERNEL_IMAGETYPE} \ + microcode.cpio \ + ${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.rootfs.ext4;rootfs.img \ + ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \ + ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \ + ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \ + ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \ + ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} " +``` + +Burn the wic image onto USB flash device, insert the device to target machine +and power on. This should start the installation process. + + diff --git a/documentation/dpcpp-compiler.md b/documentation/dpcpp-compiler.md new file mode 100644 index 00000000..b709a685 --- /dev/null +++ b/documentation/dpcpp-compiler.md @@ -0,0 +1,107 @@ +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 +``` diff --git a/documentation/reporting_bugs.md b/documentation/reporting_bugs.md new file mode 100644 index 00000000..5fbc3d27 --- /dev/null +++ b/documentation/reporting_bugs.md @@ -0,0 +1,22 @@ +## Reporting bugs + +If you have problems with or questions about a particular BSP, please +contact the maintainer listed in the [Maintainer](../README.md#maintainers) section directly (cc:ing +the Yocto mailing list puts it in the archive and helps other people +who might have the same questions in the future), but please try to do +the following first: + +- look in the [Yocto Project Bugzilla](http://bugzilla.yoctoproject.org/) to see if a + problem has already been reported + +- look through recent entries of the [meta-intel](https://lists.yoctoproject.org/g/meta-intel/messages) + and [Yocto Archives](https://lists.yoctoproject.org/g/yocto/messages) mailing list archives to see + if other people have run into similar problems or had similar questions answered. + +If you believe you have encountered a bug, you can open a new bug and +enter the details in the [Yocto Project Bugzilla](https://bugzilla.yoctoproject.org/). +If you're relatively certain that it's a bug against the BSP itself, please use the +'BSPs | bsps-meta-intel' category for the bug; otherwise, please submit the bug against +the most likely category for the problem. if you're wrong, it's not a big deal and +the bug will be recategorized upon triage. + diff --git a/documentation/secureboot/README b/documentation/secureboot/README deleted file mode 100644 index 3d5703bb..00000000 --- a/documentation/secureboot/README +++ /dev/null @@ -1,38 +0,0 @@ -Currently, only one implementation of Secure Boot is available out of the box, -which is using a single signed EFI application to directly boot the kernel with -an optional initramfs. - -This can be added to your build either through local.conf, or via your own -custom image recipe. - -If you are adding it via local.conf, set the following variables: - -IMAGE_FEATURES += "secureboot" -WKS_FILE = "generic-bootdisk.wks.in" -SECURE_BOOT_SIGNING_KEY = "/path/to/your/signing/key" -SECURE_BOOT_SIGNING_CERT = "/path/to/your/signing/cert" -IMAGE_CLASSES += "uefi-comboapp" - -If working with an image recipe, you can inherit uefi-comboapp directly instead -of using the IMAGE_CLASSES variable. - -The signing keys and certs can be created via openssl commands. Here's an -example: -openssl req -new -x509 -newkey rsa:2048 -subj "/CN=your-subject/" -keyout \ -your-key.key -out your-key.crt -days 365 -nodes -sha256 -openssl x509 -in your-key.crt -out your-key.cer -outform DER - -The .crt file is your SECURE_BOOT_SIGNING_CERT, and the .key file is your -SECURE_BOOT_SIGNING_KEY. - -You should enroll the .crt key in your firmware under the PK, KEK, and DB -options (methods are different depending on your firmware). If a key should ever -become invalid, enroll it under DBX to blacklist it. - -The comboapp can be further manipulated in a number of ways. You can modify the -kernel command line via the APPEND variable, you can change the default UUID via -the DISK_SIGNATURE_UUID variable, and you can modify the contents of the -initramfs via the INITRD_IMAGE or INITRD_LIVE variables. - -A simple Secure Boot enabled image used for testing can be viewed at: -common/recipes-selftest/images/secureboot-selftest-image-signed.bb diff --git a/documentation/submitting_patches.md b/documentation/submitting_patches.md new file mode 100644 index 00000000..f36c4b08 --- /dev/null +++ b/documentation/submitting_patches.md @@ -0,0 +1,26 @@ +## Guidelines for submitting patches + +Please submit any patches against meta-intel BSPs to the +[meta-intel mailing list](https://lists.yoctoproject.org/g/meta-intel) +(email: meta-intel@lists.yoctoproject.org). Also, if your patches are +available via a public git repository, please also include a URL to +the repo and branch containing your patches as that makes it easier +for maintainers to grab and test your patches. + +The patches should follow the suggestions outlined in the +[Yocto Project and OpenEmbedded Contributor Guide](https://docs.yoctoproject.org/dev/contributor-guide/index.html). +In addition, for any non-trivial patch, provide information about how you +tested the patch, and for any non-trivial or non-obvious testing +setup, provide details of that setup. + +Doing a quick 'git log' in meta-intel will provide you with many +examples of good example commits if you have questions about any +aspect of the preferred format. + +The meta-intel maintainers will do their best to review and/or pull in +a patch or patch sets within 24 hours of the time it was posted. For +larger and/or more involved patches and patch sets, the review process +may take longer. + +Please see the [maintainers](../README.md#maintainers) section for the list of maintainers. It's also +a good idea to cc: the maintainer, if applicable. diff --git a/documentation/tested_hardware.md b/documentation/tested_hardware.md new file mode 100644 index 00000000..48a25ab4 --- /dev/null +++ b/documentation/tested_hardware.md @@ -0,0 +1,24 @@ +## Tested Hardware + +The following undergo regular basic testing with their respective MACHINE types. + +- intel-corei7-64: + * Alder Lake-P + * Alder Lake-S + * Alder Lake-PS + * Elkhart Lake + * Metor Lake-P + * Raptor Lake-P + * Tiger Lake + +- intel-skylake-64: + * Alder Lake-P + * Alder Lake-S + * Alder Lake-PS + * Elkhart Lake + * Metor Lake-P + * Raptor Lake-P + * Tiger Lake + +- intel-core2-32: + * MinnowBoard Turbot diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_2.0.bb b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.bb index c14237d5..afea70df 100644 --- a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_2.0.bb +++ b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.bb @@ -3,20 +3,20 @@ 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=c441291ac5f15bdc6b09b4cc02ece35b \ +LIC_FILES_CHKSUM = "file://LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \ file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \ file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \ - file://src/cpu/x64/jit_utils/jitprofiling/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \ - file://doc/assets/mathjax/MathJax.js;endline=17;md5=25a014ad78c3d72a0e15d15f1d007c20 \ - file://src/common/primitive_hashing.hpp;beginline=223;endline=226;md5=f56de33cb6ec02de60006b10e027b300 \ + 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])}" + S = "${WORKDIR}/git" -SRCREV = "83ebc40d86bc54f0f23e947235e53570eeacf254" -SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=rls-v2.0-beta10 \ +SRCREV = "ecd7fb6d5a0df6503d1691c1754a684b9c769c16" +SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \ file://run-ptest \ " @@ -25,7 +25,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" CVE_PRODUCT = "intel:math_kernel_library" COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = 'null' +COMPATIBLE_HOST:libc-musl = 'null' EXTRA_OECMAKE += " \ -DDNNL_LIBRARY_TYPE=SHARED \ @@ -34,12 +34,13 @@ EXTRA_OECMAKE += " \ -DDNNL_CPU_RUNTIME=OMP \ -DDNNL_ARCH_OPT_FLAGS="" \ -DCMAKE_SKIP_RPATH=ON \ + -DONEDNN_BUILD_GRAPH=OFF \ " -PACKAGECONFIG ??= "" -PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers ocl-icd, intel-compute-runtime" +PACKAGECONFIG ??= "gpu" +PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers virtual/opencl-icd, intel-compute-runtime" -do_install_append () { +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 @@ -53,4 +54,4 @@ do_install_ptest () { PACKAGES =+ "${PN}-test" -FILES_${PN}-test = "${bindir}/mkl-dnn/*" +FILES:${PN}-test = "${bindir}/mkl-dnn/*" diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch deleted file mode 100644 index cd519971..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch +++ /dev/null @@ -1,111 +0,0 @@ -From eeb816d95f0910bd246e37bb2bb3923acf0edf6b Mon Sep 17 00:00:00 2001 -From: Aleksander Us <aleksander.us@intel.com> -Date: Mon, 26 Aug 2019 15:47:41 +0300 -Subject: [PATCH] [BasicBlockUtils] Add metadata fixing in - SplitBlockPredecessors. - -In case when BB is header of some loop and predecessor is latch of -this loop, metadata was not attached to newly created basic block. -This led to loss of loop metadata for other passes. - -Upstream-Status: Submitted [https://reviews.llvm.org/D66892] - -https://github.com/intel/llvm-patches/commit/8af4449e2d201707f7f2f832b473a0439e255f32 - -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - lib/Transforms/Utils/BasicBlockUtils.cpp | 23 ++++++++---- - test/Transforms/LoopSimplify/loop_metadata.ll | 36 +++++++++++++++++++ - 2 files changed, 52 insertions(+), 7 deletions(-) - create mode 100644 test/Transforms/LoopSimplify/loop_metadata.ll - -diff --git a/lib/Transforms/Utils/BasicBlockUtils.cpp b/lib/Transforms/Utils/BasicBlockUtils.cpp -index 5fa371377c8..3a90ae061fb 100644 ---- a/lib/Transforms/Utils/BasicBlockUtils.cpp -+++ b/lib/Transforms/Utils/BasicBlockUtils.cpp -@@ -579,24 +579,33 @@ BasicBlock *llvm::SplitBlockPredecessors(BasicBlock *BB, - - // The new block unconditionally branches to the old block. - BranchInst *BI = BranchInst::Create(BB, NewBB); -+ bool IsBBHeader = LI && LI->isLoopHeader(BB); -+ Loop *BBLoop = LI ? LI->getLoopFor(BB) : nullptr; - // Splitting the predecessors of a loop header creates a preheader block. -- if (LI && LI->isLoopHeader(BB)) -+ if (IsBBHeader) - // Using the loop start line number prevents debuggers stepping into the - // loop body for this instruction. -- BI->setDebugLoc(LI->getLoopFor(BB)->getStartLoc()); -+ BI->setDebugLoc(BBLoop->getStartLoc()); - else - BI->setDebugLoc(BB->getFirstNonPHIOrDbg()->getDebugLoc()); - - // Move the edges from Preds to point to NewBB instead of BB. -- for (unsigned i = 0, e = Preds.size(); i != e; ++i) { -+ for (BasicBlock *Pred : Preds) { -+ Instruction *PI = Pred->getTerminator(); - // This is slightly more strict than necessary; the minimum requirement - // is that there be no more than one indirectbr branching to BB. And - // all BlockAddress uses would need to be updated. -- assert(!isa<IndirectBrInst>(Preds[i]->getTerminator()) && -+ assert(!isa<IndirectBrInst>(PI) && - "Cannot split an edge from an IndirectBrInst"); -- assert(!isa<CallBrInst>(Preds[i]->getTerminator()) && -- "Cannot split an edge from a CallBrInst"); -- Preds[i]->getTerminator()->replaceUsesOfWith(BB, NewBB); -+ assert(!isa<CallBrInst>(PI) && "Cannot split an edge from a CallBrInst"); -+ if (IsBBHeader && BBLoop->contains(Pred) && BBLoop->isLoopLatch(Pred)) { -+ // Update loop metadata if it exists. -+ if (MDNode *LoopMD = PI->getMetadata(LLVMContext::MD_loop)) { -+ BI->setMetadata(LLVMContext::MD_loop, LoopMD); -+ PI->setMetadata(LLVMContext::MD_loop, nullptr); -+ } -+ } -+ PI->replaceUsesOfWith(BB, NewBB); - } - - // Insert a new PHI node into NewBB for every PHI node in BB and that new PHI -diff --git a/test/Transforms/LoopSimplify/loop_metadata.ll b/test/Transforms/LoopSimplify/loop_metadata.ll -new file mode 100644 -index 00000000000..c15c92fe3ae ---- /dev/null -+++ b/test/Transforms/LoopSimplify/loop_metadata.ll -@@ -0,0 +1,36 @@ -+; RUN: opt -S -loop-simplify < %s | FileCheck %s -+ -+; CHECK: for.cond.loopexit: -+; CHECK: br label %for.cond, !llvm.loop !0 -+; CHECK: br i1 %cmp1, label %for.body1, label %for.cond.loopexit -+ -+define void @foo() { -+entry: -+ br label %for.cond -+ -+for.cond: ; preds = %for.cond1, %entry -+ %j = phi i32 [ 0, %entry ], [ %add, %for.cond1 ] -+ %cmp = icmp ult i32 %j, 8 -+ br i1 %cmp, label %for.body, label %for.end -+ -+for.body: ; preds = %for.cond -+ %dummy1 = add i32 1, 1 -+ %add = add nuw nsw i32 %j, 1 -+ br label %for.cond1 -+ -+for.cond1: ; preds = %for.body1, %for.body -+ %i.0 = phi i32 [ 1, %for.body ], [ %inc, %for.body1 ] -+ %cmp1 = icmp ult i32 %i.0, 8 -+ br i1 %cmp1, label %for.body1, label %for.cond, !llvm.loop !0 -+ -+for.body1: ; preds = %for.cond1 -+ %dummy2 = add i32 1, 1 -+ %inc = add nuw nsw i32 %i.0, 1 -+ br label %for.cond1 -+ -+for.end: ; preds = %for.cond -+ ret void -+} -+ -+!0 = distinct !{!0, !1} -+!1 = !{!"llvm.loop.unroll.full"} --- -2.18.0 - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch deleted file mode 100644 index 48307deb..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch +++ /dev/null @@ -1,146 +0,0 @@ -From 35e218a886f4c066eabd18685240d55270bd5a6d Mon Sep 17 00:00:00 2001 -From: Aleksander Us <aleksander.us@intel.com> -Date: Mon, 26 Aug 2019 15:45:47 +0300 -Subject: [PATCH] [IndVarSimplify] Do not use SCEV expander for IVCount in - LFTR when possible. - -SCEV analysis cannot properly cache instruction with poison flags -(for example, add nsw outside of loop will not be reused by expander). -This can lead to generating of additional instructions by SCEV expander. - -Example IR: - - ... - %maxval = add nuw nsw i32 %a1, %a2 - ... -for.body: - ... - %cmp22 = icmp ult i32 %ivadd, %maxval - br i1 %cmp22, label %for.body, label %for.end - ... - -SCEV expander will generate copy of %maxval in preheader but without -nuw/nsw flags. This can be avoided by explicit check that iv count -value gives the same SCEV expressions as calculated by LFTR. - -Upstream-Status: Submitted [https://reviews.llvm.org/D66890] - -https://github.com/intel/llvm-patches/commit/fd6a6c97341a56fd21bc32bc940afea751312e8f - -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - lib/Transforms/Scalar/IndVarSimplify.cpp | 12 +++++++++- - test/Transforms/IndVarSimplify/add_nsw.ll | 23 ++++++++++++++++++++ - test/Transforms/IndVarSimplify/lftr-reuse.ll | 9 +++----- - test/Transforms/IndVarSimplify/udiv.ll | 1 + - 4 files changed, 38 insertions(+), 7 deletions(-) - create mode 100644 test/Transforms/IndVarSimplify/add_nsw.ll - -diff --git a/lib/Transforms/Scalar/IndVarSimplify.cpp b/lib/Transforms/Scalar/IndVarSimplify.cpp -index f9fc698a4a9..5e04dac8aa6 100644 ---- a/lib/Transforms/Scalar/IndVarSimplify.cpp -+++ b/lib/Transforms/Scalar/IndVarSimplify.cpp -@@ -2375,6 +2375,17 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, - if (UsePostInc) - IVLimit = SE->getAddExpr(IVLimit, SE->getOne(IVLimit->getType())); - -+ // If computed limit is equal to old limit then do not use SCEV expander -+ // because it can lost NUW/NSW flags and create extra instructions. -+ BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); -+ if (ICmpInst *Cmp = dyn_cast<ICmpInst>(BI->getOperand(0))) { -+ Value *Limit = Cmp->getOperand(0); -+ if (!L->isLoopInvariant(Limit)) -+ Limit = Cmp->getOperand(1); -+ if (SE->getSCEV(Limit) == IVLimit) -+ return Limit; -+ } -+ - // Expand the code for the iteration count. - assert(SE->isLoopInvariant(IVLimit, L) && - "Computed iteration count is not loop invariant!"); -@@ -2383,7 +2394,6 @@ static Value *genLoopLimit(PHINode *IndVar, BasicBlock *ExitingBB, - // SCEV expression (IVInit) for a pointer type IV value (IndVar). - Type *LimitTy = ExitCount->getType()->isPointerTy() ? - IndVar->getType() : ExitCount->getType(); -- BranchInst *BI = cast<BranchInst>(ExitingBB->getTerminator()); - return Rewriter.expandCodeFor(IVLimit, LimitTy, BI); - } - } -diff --git a/test/Transforms/IndVarSimplify/add_nsw.ll b/test/Transforms/IndVarSimplify/add_nsw.ll -new file mode 100644 -index 00000000000..abd1cbb6c51 ---- /dev/null -+++ b/test/Transforms/IndVarSimplify/add_nsw.ll -@@ -0,0 +1,23 @@ -+; RUN: opt -indvars -S %s | FileCheck %s -+ -+target datalayout = "e-p:32:32-i64:64-n8:16:32" -+ -+; CHECK: for.body.preheader: -+; CHECK-NOT: add -+; CHECK: for.body: -+ -+define void @foo(i32 %a1, i32 %a2) { -+entry: -+ %maxval = add nuw nsw i32 %a1, %a2 -+ %cmp = icmp slt i32 %maxval, 1 -+ br i1 %cmp, label %for.end, label %for.body -+ -+for.body: ; preds = %entry, %for.body -+ %j.02 = phi i32 [ 0, %entry ], [ %add31, %for.body ] -+ %add31 = add nuw nsw i32 %j.02, 1 -+ %cmp22 = icmp slt i32 %add31, %maxval -+ br i1 %cmp22, label %for.body, label %for.end -+ -+for.end: ; preds = %for.body -+ ret void -+} -diff --git a/test/Transforms/IndVarSimplify/lftr-reuse.ll b/test/Transforms/IndVarSimplify/lftr-reuse.ll -index 14ae9738696..509d662b767 100644 ---- a/test/Transforms/IndVarSimplify/lftr-reuse.ll -+++ b/test/Transforms/IndVarSimplify/lftr-reuse.ll -@@ -67,11 +67,9 @@ define void @expandOuterRecurrence(i32 %arg) nounwind { - ; CHECK-NEXT: [[CMP1:%.*]] = icmp slt i32 0, [[SUB1]] - ; CHECK-NEXT: br i1 [[CMP1]], label [[OUTER_PREHEADER:%.*]], label [[EXIT:%.*]] - ; CHECK: outer.preheader: --; CHECK-NEXT: [[TMP0:%.*]] = add i32 [[ARG]], -1 - ; CHECK-NEXT: br label [[OUTER:%.*]] - ; CHECK: outer: --; CHECK-NEXT: [[INDVARS_IV:%.*]] = phi i32 [ [[TMP0]], [[OUTER_PREHEADER]] ], [ [[INDVARS_IV_NEXT:%.*]], [[OUTER_INC:%.*]] ] --; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC]] ], [ 0, [[OUTER_PREHEADER]] ] -+; CHECK-NEXT: [[I:%.*]] = phi i32 [ [[I_INC:%.*]], [[OUTER_INC:%.*]] ], [ 0, [[OUTER_PREHEADER]] ] - ; CHECK-NEXT: [[SUB2:%.*]] = sub nsw i32 [[ARG]], [[I]] - ; CHECK-NEXT: [[SUB3:%.*]] = sub nsw i32 [[SUB2]], 1 - ; CHECK-NEXT: [[CMP2:%.*]] = icmp slt i32 0, [[SUB3]] -@@ -81,14 +79,13 @@ define void @expandOuterRecurrence(i32 %arg) nounwind { - ; CHECK: inner: - ; CHECK-NEXT: [[J:%.*]] = phi i32 [ 0, [[INNER_PH]] ], [ [[J_INC:%.*]], [[INNER]] ] - ; CHECK-NEXT: [[J_INC]] = add nuw nsw i32 [[J]], 1 --; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[INDVARS_IV]] -+; CHECK-NEXT: [[EXITCOND:%.*]] = icmp ne i32 [[J_INC]], [[SUB3]] - ; CHECK-NEXT: br i1 [[EXITCOND]], label [[INNER]], label [[OUTER_INC_LOOPEXIT:%.*]] - ; CHECK: outer.inc.loopexit: - ; CHECK-NEXT: br label [[OUTER_INC]] - ; CHECK: outer.inc: - ; CHECK-NEXT: [[I_INC]] = add nuw nsw i32 [[I]], 1 --; CHECK-NEXT: [[INDVARS_IV_NEXT]] = add i32 [[INDVARS_IV]], -1 --; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[TMP0]] -+; CHECK-NEXT: [[EXITCOND1:%.*]] = icmp ne i32 [[I_INC]], [[SUB1]] - ; CHECK-NEXT: br i1 [[EXITCOND1]], label [[OUTER]], label [[EXIT_LOOPEXIT:%.*]] - ; CHECK: exit.loopexit: - ; CHECK-NEXT: br label [[EXIT]] -diff --git a/test/Transforms/IndVarSimplify/udiv.ll b/test/Transforms/IndVarSimplify/udiv.ll -index b3f2c2a6a66..3530343ef4a 100644 ---- a/test/Transforms/IndVarSimplify/udiv.ll -+++ b/test/Transforms/IndVarSimplify/udiv.ll -@@ -133,6 +133,7 @@ declare i32 @printf(i8* nocapture, ...) nounwind - ; CHECK-LABEL: @foo( - ; CHECK: for.body.preheader: - ; CHECK-NOT: udiv -+; CHECK: for.body: - - define void @foo(double* %p, i64 %n) nounwind { - entry: --- -2.18.0 - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch deleted file mode 100644 index d69d2a97..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/fix-shared-libs.patch +++ /dev/null @@ -1,30 +0,0 @@ -From a6d4ccf082858e63e139ca06c02a071c343d2657 Mon Sep 17 00:00:00 2001 -From: Andrea Bocci <andrea.bocci@cern.ch> -Date: Sun, 15 Mar 2020 17:35:44 +0100 -Subject: [PATCH] Fix building in-tree with cmake -DLLVM_LINK_LLVM_DYLIB=ON - -Building in-tree with LLVM 11.0 master with the LLVM_LINK_LLVM_DYLIB -cmake flag fails to link with the LLVMSPIRVLib library. - -Add an explicit dependency to force the correct build order and linking. - -Signed-off-by: Andrea Bocci <andrea.bocci@cern.ch> -Upstream-Status: Backport -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - tools/llvm-spirv/CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tools/llvm-spirv/CMakeLists.txt b/tools/llvm-spirv/CMakeLists.txt -index 9aa96d9c..501c0daf 100644 ---- a/tools/llvm-spirv/CMakeLists.txt -+++ b/tools/llvm-spirv/CMakeLists.txt -@@ -14,7 +14,7 @@ add_llvm_tool(llvm-spirv - NO_INSTALL_RPATH - ) - --if (LLVM_SPIRV_BUILD_EXTERNAL) -+if (LLVM_SPIRV_BUILD_EXTERNAL OR LLVM_LINK_LLVM_DYLIB) - target_link_libraries(llvm-spirv PRIVATE LLVMSPIRVLib) - endif() - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch deleted file mode 100644 index 8e58ec25..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm10-skip-building-tests.patch +++ /dev/null @@ -1,51 +0,0 @@ -From 455ce9c25df5313f4a6649cc27075bdfbe25af18 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 21 Aug 2019 14:35:31 +0800 -Subject: [PATCH] llvm-spirv: skip building tests - -Some of these need clang to be built and since we're building this in-tree, -that leads to problems when compiling libcxx, compiler-rt which aren't built -in-tree. - -Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to -all components, disable the building of tests altogether. - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - CMakeLists.txt | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index b718c00..9805140 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -24,13 +24,6 @@ if(LLVM_SPIRV_BUILD_EXTERNAL) - set(CMAKE_CXX_STANDARD 14) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - -- if(LLVM_SPIRV_INCLUDE_TESTS) -- set(LLVM_TEST_COMPONENTS -- llvm-as -- llvm-dis -- ) -- endif(LLVM_SPIRV_INCLUDE_TESTS) -- - find_package(LLVM 10.0.0 REQUIRED - COMPONENTS - Analysis -@@ -61,9 +54,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) - - add_subdirectory(lib/SPIRV) - add_subdirectory(tools/llvm-spirv) --if(LLVM_SPIRV_INCLUDE_TESTS) -- add_subdirectory(test) --endif(LLVM_SPIRV_INCLUDE_TESTS) - - install( - FILES --- -2.7.4 - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm11-skip-building-tests.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm11-skip-building-tests.patch deleted file mode 100644 index 011c09ee..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/llvm11-skip-building-tests.patch +++ /dev/null @@ -1,51 +0,0 @@ -From d362652617c5e840089273df0c6623a9745c92a2 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 21 Aug 2019 14:35:31 +0800 -Subject: [PATCH] llvm-spirv: skip building tests - -Some of these need clang to be built and since we're building this in-tree, -that leads to problems when compiling libcxx, compiler-rt which aren't built -in-tree. - -Instead of using SPIRV_SKIP_CLANG_BUILD to skip clang build and adding this to -all components, disable the building of tests altogether. - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - CMakeLists.txt | 10 ---------- - 1 file changed, 10 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index ecebb4cb..578ca602 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -25,13 +25,6 @@ if(LLVM_SPIRV_BUILD_EXTERNAL) - set(CMAKE_CXX_STANDARD 14) - set(CMAKE_CXX_STANDARD_REQUIRED ON) - -- if(LLVM_SPIRV_INCLUDE_TESTS) -- set(LLVM_TEST_COMPONENTS -- llvm-as -- llvm-dis -- ) -- endif(LLVM_SPIRV_INCLUDE_TESTS) -- - find_package(LLVM ${BASE_LLVM_VERSION} REQUIRED - COMPONENTS - Analysis -@@ -62,9 +55,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include) - - add_subdirectory(lib/SPIRV) - add_subdirectory(tools/llvm-spirv) --if(LLVM_SPIRV_INCLUDE_TESTS) -- add_subdirectory(test) --endif(LLVM_SPIRV_INCLUDE_TESTS) - - install( - FILES --- -2.26.2 - diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend b/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend deleted file mode 100644 index 51e50c5b..00000000 --- a/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend +++ /dev/null @@ -1,27 +0,0 @@ -FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:" - -SPIRV_BRANCH = "${@bb.utils.contains('LLVMVERSION', '10.0.1', 'llvm_release_100', 'llvm_release_110', d)}" - -SPIRV10_SRCREV = "4d43f68a30a510b4e7607351caab3df8e7426a6b" -SPIRV11_SRCREV = "d6dc999eee381158a26f048a333467c9ce7e77f2" - -SPIRV_SRCREV = "${@bb.utils.contains('LLVMVERSION', '10.0.1', '${SPIRV10_SRCREV}', '${SPIRV11_SRCREV}', d)}" - -SRC_URI_LLVM10 = " \ - file://llvm10-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \ - file://fix-shared-libs.patch;patchdir=llvm/projects/llvm-spirv \ - file://BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch;patchdir=llvm \ - file://IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch;patchdir=llvm \ - " - -SRC_URI_LLVM11 = " \ - file://llvm11-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \ - " - -SRC_URI_append_intel-x86-common = " \ - git://github.com/KhronosGroup/SPIRV-LLVM-Translator.git;protocol=https;branch=${SPIRV_BRANCH};destsuffix=git/llvm/projects/llvm-spirv;name=spirv \ - " - -SRC_URI_append_intel-x86-common = "${@bb.utils.contains('LLVMVERSION', '10.0.1', '${SRC_URI_LLVM10}', '${SRC_URI_LLVM11}', d)}" - -SRCREV_spirv = "${SPIRV_SRCREV}" diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch index 631e0ce6..265fcfa2 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch @@ -1,44 +1,51 @@ -From 32851d269ac0c027730168c04d9ce32d0eb50905 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 27 May 2020 11:12:09 +0000 -Subject: [PATCH] intel-compute-runtime: allow to find cpp_generation_tool - -Build not able to locate cpp_generation_tool. +From a6361d635e5f3046853883f3ac06fb175116933c Mon Sep 17 00:00:00 2001 +From: Dongwon Kim <dongwon.kim@intel.com> +Date: Sat, 21 Aug 2021 16:09:39 -0700 +Subject: [PATCH] Build not able to locate cpp_generation_tool. Upstream-Status: Inappropriate [oe specific] + Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +Signed-off-by: Dongwon Kim <dongwon.kim@intel.com> --- - shared/source/built_ins/kernels/CMakeLists.txt | 8 ++++---- - 1 file changed, 4 insertions(+), 4 deletions(-) + shared/source/built_ins/kernels/CMakeLists.txt | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/shared/source/built_ins/kernels/CMakeLists.txt b/shared/source/built_ins/kernels/CMakeLists.txt -index 1b1225077..2e8148c25 100644 +index ed85a37c52..f7c9e79137 100644 --- a/shared/source/built_ins/kernels/CMakeLists.txt +++ b/shared/source/built_ins/kernels/CMakeLists.txt -@@ -93,9 +93,9 @@ function(compile_builtin gen_type platform_type builtin bits builtin_options mod - ) - add_custom_command( - OUTPUT ${OUTPUT_FILE_CPP} -- COMMAND $<TARGET_FILE:cpp_generate_tool> --file ${OUTPUTPATH_BASE}.gen --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${family_name_with_type} -+ COMMAND cpp_generate_tool --file ${OUTPUTPATH_BASE}.gen --output ${OUTPUT_FILE_CPP} --array ${mode}_${BASENAME} --platform ${family_name_with_type} - WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} -- DEPENDS ${OUTPUTPATH_BASE}.gen $<TARGET_FILE:cpp_generate_tool> -+ DEPENDS ${OUTPUTPATH_BASE}.gen cpp_generate_tool - ) - endfunction() - -@@ -136,9 +136,9 @@ function(generate_cpp_spirv builtin) - ) - 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 +@@ -107,9 +107,9 @@ function(compile_builtin core_type platform_it builtin bits builtin_options mode + ) + 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() +@@ -159,9 +159,9 @@ function(generate_cpp_spirv builtin) + ) + 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() +@@ -277,4 +277,4 @@ if(NOT "${OUTPUT_LIST_CPP_FILES}" STREQUAL "") ) - endfunction() + endif() +-apply_macro_for_each_core_type("SUPPORTED") +\ No newline at end of file ++apply_macro_for_each_core_type("SUPPORTED") -- -2.28.0 +2.43.2 diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch new file mode 100644 index 00000000..20d9b847 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch @@ -0,0 +1,16 @@ +Upstream-Status: Inappropriate +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index d52e089778..bc0cf35014 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -727,7 +727,7 @@ if(NOT MSVC) + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-noexcept-type") # Added for gtest + endif() + endif() +- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Werror=vla") ++ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=vla") + + if(USE_SANITIZE_UB) + check_cxx_compiler_flag(-fsanitize=undefined COMPILER_SUPPORTS_UNDEFINED_BEHAVIOR_SANITIZER) diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch new file mode 100644 index 00000000..5f93b7b6 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch @@ -0,0 +1,40 @@ +From 1f58c22992ddea4167b01b44448528de427f50d5 Mon Sep 17 00:00:00 2001 +From: Dongwon Kim <dongwon.kim@intel.com> +Date: Wed, 2 Mar 2022 15:52:45 -0800 +Subject: [PATCH] external ocloc + +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(-) + +diff --git a/cmake/ocloc_cmd_prefix.cmake b/cmake/ocloc_cmd_prefix.cmake +index 2b44330831..03067c9df0 100644 +--- a/cmake/ocloc_cmd_prefix.cmake ++++ b/cmake/ocloc_cmd_prefix.cmake +@@ -4,12 +4,14 @@ + # 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() +-- +2.37.3 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.46.18421.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.46.18421.bb deleted file mode 100644 index 6c530c2a..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_20.46.18421.bb +++ /dev/null @@ -1,56 +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" -LIC_FILES_CHKSUM = "file://LICENSE;md5=ae27f47fd6755510247c19e547e4c804 \ - file://third_party/opencl_headers/LICENSE;md5=dcefc90f4c3c689ec0c2489064e7273b" - -SRC_URI = "git://github.com/intel/compute-runtime.git;protocol=https \ - " -SRC_URI_append_class-target = " file://allow-to-find-cpp-generation-tool.patch" - -SRCREV = "3f6d1f5ee958f6243d994f564ee29345f7869271" - -S = "${WORKDIR}/git" - -DEPENDS += " intel-graphics-compiler gmmlib clang" -DEPENDS_append_class-target = " intel-compute-runtime-native libva" - -RDEPENDS_${PN} += " intel-graphics-compiler gmmlib" - -inherit cmake pkgconfig - -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 \ - " -EXTRA_OECMAKE_append_class-target = " \ - -Dcloc_cmd_prefix=ocloc \ - " - -PACKAGECONFIG ??= "" -PACKAGECONFIG[levelzero] = "-DBUILD_WITH_L0=ON, -DBUILD_WITH_L0=OFF, level-zero" - -do_install_append_class-native() { - install -d ${D}${bindir} - install ${B}/bin/cpp_generate_tool ${D}${bindir}/ -} - -FILES_${PN} += " \ - ${libdir}/intel-opencl/libigdrcl.so \ - ${libdir}/libocloc.so \ - " - -FILES_${PN}-dev = "${includedir}" - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)" diff --git a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.05.28454.6.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.05.28454.6.bb new file mode 100644 index 00000000..60125171 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.05.28454.6.bb @@ -0,0 +1,64 @@ +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/24.05 \ + file://disable-werror.patch \ + file://allow-to-find-cpp-generation-tool.patch \ + file://external-ocloc.patch \ + " + +SRCREV = "23a9725e62c8181193c90e5e5207507a1f136587" + +S = "${WORKDIR}/git" + +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+)+)" diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch new file mode 100644 index 00000000..377081fd --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch @@ -0,0 +1,35 @@ +From 3d71670f8ad5b54d434c2f5f71713bb1d5433ae4 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(-) + +diff --git a/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake b/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake +index d20d7f887..882e09fea 100644 +--- a/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake ++++ b/IGC/VectorCompiler/lib/BiF/cmake/Functions.cmake +@@ -109,7 +109,7 @@ function(vc_build_bif TARGET RES_FILE CMCL_SRC_PATH BIF_NAME PTR_BIT_SIZE) + COMMENT "vc_build_bif: Translating CMCL builtins: ${BIF_CLANG_BC_NAME_FINAL} -> ${BIF_OPT_BC_NAME}" + COMMAND CMCLTranslatorTool -o ${BIF_CMCL_BC_NAME} ${BIF_CLANG_BC_NAME_FINAL} + COMMAND ${LLVM_OPT_EXE} ${IGC_LLVM_DEPENDENT_OPT_FLAGS} --O2 -o ${BIF_OPT_BC_NAME} ${BIF_CMCL_BC_NAME} +- DEPENDS CMCLTranslatorTool ${LLVM_OPT_EXE} ${BIF_CLANG_BC_PATH_FINAL} ++ DEPENDS CMCLTranslatorTool ${BIF_CLANG_BC_PATH_FINAL} + BYPRODUCTS ${BIF_OPT_BC_PATH} + SOURCES ${CMCL_SRC_PATH}) + set(${RES_FILE} ${BIF_OPT_BC_NAME} PARENT_SCOPE) +-- +2.43.2 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch new file mode 100644 index 00000000..dca75e22 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch @@ -0,0 +1,31 @@ +From e69a3181482e5f442756a61c7b683914072884f1 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(-) + +diff --git a/external/SPIRV-Tools/CMakeLists.txt b/external/SPIRV-Tools/CMakeLists.txt +index 9afa5746c..7ca24d5dc 100644 +--- a/external/SPIRV-Tools/CMakeLists.txt ++++ b/external/SPIRV-Tools/CMakeLists.txt +@@ -43,8 +43,8 @@ else() #By default use build from sources + 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}") diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch new file mode 100644 index 00000000..39443931 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch @@ -0,0 +1,24 @@ +From 5648568e597acd0fed82aac3e6aef0f95a1b78d1 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Thu, 19 May 2022 22:50:09 +0800 +Subject: [PATCH] fix tblgen + +Upstream-Status: Inappropriate [OE specific] + +--- + IGC/cmake/igc_llvm.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/IGC/cmake/igc_llvm.cmake b/IGC/cmake/igc_llvm.cmake +index 10322533c..9020cb3c8 100644 +--- a/IGC/cmake/igc_llvm.cmake ++++ b/IGC/cmake/igc_llvm.cmake +@@ -52,7 +52,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() diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch deleted file mode 100644 index 65342d9c..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch +++ /dev/null @@ -1,43 +0,0 @@ -From 5501fab763aa2b11437fbdb19e07a11157a7d3e6 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Thu, 6 Feb 2020 14:56:56 +0800 -Subject: [PATCH] skip execution of ElfPackager - -ElfPackager adds the ability to convert llvm bitcode into elf files for -easier partitioning. Skip for now until we start building a native -version for this. - -Upstream-Status: Inappropriate [configuration specific] - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - IGC/ElfPackager/CMakeLists.txt | 12 ++++++------ - 1 file changed, 6 insertions(+), 6 deletions(-) - -diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt -index 563ac9d6..c6c74ce9 100644 ---- a/IGC/ElfPackager/CMakeLists.txt -+++ b/IGC/ElfPackager/CMakeLists.txt -@@ -71,12 +71,12 @@ include_directories ( - ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/ - ) - --if(NOT ANDROID) -- add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} -- POST_BUILD -- COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin -- ) --endif() -+#if(NOT ANDROID) -+# add_custom_command(TARGET ${IGC_BUILD__PROJ__ElfPackager} -+# POST_BUILD -+# COMMAND $<TARGET_FILE:${IGC_BUILD__PROJ__ElfPackager}> -includeSizet -funcList ${CMAKE_CURRENT_SOURCE_DIR}/function_bin.txt ${IGC_BUILD__BIF_DIR}/OCLBiFImpl.bc ${IGC_BUILD__BIF_DIR}/igdclbif.bin -+# ) -+#endif() - - - add_dependencies("${IGC_BUILD__PROJ__ElfPackager}" "${IGC_BUILD__PROJ__BiFModule_OCL}") --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch index c694836f..650130a8 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/improve_src_package_reproducibility.patch +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch @@ -1,4 +1,4 @@ -From 2fa3f2da1179bd5b2eeac82839d386f0111e611c Mon Sep 17 00:00:00 2001 +From 0559332abd04b6c8bc70171d201f43d2e4735336 Mon Sep 17 00:00:00 2001 From: Lee Chee Yang <chee.yang.lee@intel.com> Date: Wed, 2 Sep 2020 08:28:35 +0800 Subject: [PATCH] Improve Reproducibility for src package @@ -9,15 +9,16 @@ this only works on bison 3.7 onward, hence check for bison version before adding the flags. Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream] Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com> + --- visa/CMakeLists.txt | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt -index 981c35d2..d5944370 100644 +index 6be467587..930c386a6 100644 --- a/visa/CMakeLists.txt +++ b/visa/CMakeLists.txt -@@ -109,8 +109,11 @@ endif() +@@ -123,8 +123,11 @@ endif() set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp) set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp) @@ -31,6 +32,3 @@ index 981c35d2..d5944370 100644 ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser) set(CISAScanner_dependencies) --- -2.28.0 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch deleted file mode 100644 index 89a28097..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/link-to-LLVMGenXIntrinsics.patch +++ /dev/null @@ -1,62 +0,0 @@ -From 483154871f72590b81c036b000be09627376b5a9 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Thu, 27 Aug 2020 12:17:12 +0800 -Subject: [PATCH] IGC/VectorCompiler/CMakeLists.txt: link to external - LLVMGenXIntrinsics - -By default LLVMGenXIntrinsics is to be build In-tree, but we want to -link externally. - -Fix llvm-tblgen path. - -Upstream-Status: Inappropriate [configuration specific] - -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - IGC/VectorCompiler/CMakeLists.txt | 23 ++--------------------- - 1 file changed, 2 insertions(+), 21 deletions(-) - -diff --git a/IGC/VectorCompiler/CMakeLists.txt b/IGC/VectorCompiler/CMakeLists.txt -index 3592e0b4..ae754b8b 100644 ---- a/IGC/VectorCompiler/CMakeLists.txt -+++ b/IGC/VectorCompiler/CMakeLists.txt -@@ -50,10 +50,7 @@ if(IGC_BUILD__USING_SYSTEM_LLVM OR (WIN32 AND LLVM_USE_PREBUILT)) - message(STATUS "[VC] Using system llvm") - - # Need to search for llvm-tblgen -- find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" -- ${LLVM_TOOLS_BINARY_DIR} -- NO_DEFAULT_PATH -- ) -+ find_program(LLVM_TABLEGEN_EXE "llvm-tblgen") - if(LLVM_TABLEGEN_EXE-NOTFOUND) - message(FATAL_ERROR "[VC] llvm-tblgen is not found") - endif() -@@ -131,23 +128,7 @@ if(LLVM_ON_WIN32) - add_compile_options(/wd4624) - endif() - --if(DEFINED VC_INTRINSICS_SRC) -- set(INTRSRC "${VC_INTRINSICS_SRC}/GenXIntrinsics") --endif() -- --if(NOT DEFINED INTRSRC) -- set(INTRSRC "${CMAKE_CURRENT_SOURCE_DIR}/../../../vc-intrinsics/GenXIntrinsics") --endif() -- --message(STATUS "[VC] Using vc-intrinsics source from: ${INTRSRC}") -- --# We are using prebuilt SPIRV and building intrinsics. --set(INTRBUILD "${CMAKE_CURRENT_BINARY_DIR}/intrbuild") -- -- --# Do not copy anything from prebuilts. libSPIRVDLL.so will be dynamically loaded at runtime. --add_subdirectory(${INTRSRC} ${INTRBUILD}) --include_directories(${INTRSRC}/include ${INTRBUILD}/include) -+find_package(LLVMGenXIntrinsics REQUIRED) - - include(cmake/spirv.cmake) - include(${IGC_SOURCE_DIR}/cmake/utils.cmake) --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.15985.7.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.15985.7.bb new file mode 100644 index 00000000..96d828b6 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.15985.7.bb @@ -0,0 +1,75 @@ +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=7f4fbc3eb2c34807465e63b1ec3c9d1a" + +SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https;name=igc;branch=releases/igc-1.0.15985 \ + git://github.com/intel/vc-intrinsics.git;protocol=https;destsuffix=git/vc-intrinsics;name=vc;nobranch=1 \ + git://github.com/KhronosGroup/SPIRV-Tools.git;protocol=https;destsuffix=git/SPIRV-Tools;name=spirv-tools;branch=main \ + git://github.com/KhronosGroup/SPIRV-Headers.git;protocol=https;destsuffix=git/SPIRV-Headers;name=spirv-headers;branch=main \ + 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 \ + " + +SRC_URI:append:class-native = " file://0001-fix-tblgen.patch" + +SRCREV_igc = "6cc111d262e1c3abcf4bc6b6d8a589ebf821a5c0" +SRCREV_vc = "da892e1982b6c25b9a133f85b4ac97142d8a3def" +SRCREV_spirv-tools = "f0cc85efdbbe3a46eae90e0f915dc1509836d0fc" +SRCREV_spirv-headers = "cca08c63cefa129d082abca0302adcb81610b465" + +SRCREV_FORMAT = "igc_vc_spirv-tools_spirv-headers" + +# Used to replace with relative path in reproducibility patch +export B + +S = "${WORKDIR}/git" + +inherit cmake pkgconfig 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" + +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 \ + " + +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 = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" + +FILES:${PN} += " \ + ${libdir}/igc/NOTICES.txt \ + " + +# libigc.so contains buildpaths +INSANE_SKIP:${PN} += "buildpaths" diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5435.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5435.bb deleted file mode 100644 index 502200fa..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.5435.bb +++ /dev/null @@ -1,47 +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 & BSD-3-Clause" -LIC_FILES_CHKSUM = "file://IGC/BiFModule/Implementation/ExternalLibraries/libclc/LICENSE.TXT;md5=311cfc1a5b54bab8ed34a0b5fba4373e \ - file://IGC/Compiler/LegalizationPass.cpp;beginline=1;endline=25;md5=4abf1738ff96b18e34186eb763e28eeb \ - file://NOTICES.txt;md5=b12e73994de4fbe0f688cf0bc91512a0" - -SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https; \ - file://0001-skip-execution-of-ElfPackager.patch \ - file://link-to-LLVMGenXIntrinsics.patch \ - file://improve_src_package_reproducibility.patch \ - " - -SRCREV = "93f02a7dfa37d879abc2ff5d62fd1e527fa4b03a" - -# Used to replace with relative path in reproducibility patch -export B - -S = "${WORKDIR}/git" - -inherit cmake - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" - -DEPENDS += " flex-native bison-native clang opencl-clang vc-intrinsics" -DEPENDS_append_class-target = " clang-cross-x86_64" - -RDEPENDS_${PN} += "opencl-clang" - -LLVM_COMPAT_VERSION = "${@bb.utils.contains('LLVMVERSION', '10.0.1', '10.0.0', '11.0.0', d)}" -EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=${LLVM_COMPAT_VERSION} -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3 -DINSTALL_SPIRVDLL=0 -DIGC_BUILD__VC_ENABLED=OFF" - -# VectorCompiler doesn't build with LLVM11 as of this release. -# Re-enable after those issues have been fixed. -EXTRA_OECMAKE_append = " ${@bb.utils.contains('LLVMVERSION', '11.0.0', "-DIGC_BUILD__VC_ENABLED=OFF", "", d)}" - -BBCLASSEXTEND = "native nativesdk" - -UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$" - -FILES_${PN} += " \ - ${libdir}/igc/NOTICES.txt \ - " diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch deleted file mode 100644 index 8ffa853b..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 7fc05c52dd91902fa324a7aac9b90715cfca4717 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 15 Apr 2020 17:55:32 +0800 -Subject: [PATCH] Building in-tree with LLVM 10.0 with the LLVM_LINK_LLVM_DYLIB - -Failed to link with the LLVMSPIRVLib library. - -Add an explicit dependency to force the correct build order and linking. - -Reference: -https://github.com/KhronosGroup/SPIRV-LLVM-Translator/commit/a6d4ccf082858e63e139ca06c02a071c343d2657 - -Upstream-Status: Submitted [https://github.com/intel/opencl-clang/pull/118] - -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - CMakeLists.txt | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 51c140d..b8b514e 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -208,7 +208,7 @@ link_directories( - - set(OPENCL_CLANG_LINK_LIBS ${CMAKE_DL_LIBS}) - --if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS) -+if(NOT LLVMSPIRVLib IN_LIST LLVM_AVAILABLE_LIBS OR (USE_PREBUILT_LLVM AND LLVM_LINK_LLVM_DYLIB)) - # SPIRV-LLVM-Translator is not included into LLVM as a component. - # So, we need to list it here explicitly as an external library - list(APPEND OPENCL_CLANG_LINK_LIBS LLVMSPIRVLib) --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch new file mode 100644 index 00000000..031a77c7 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch @@ -0,0 +1,49 @@ +From 5aea653e611b59c70e529a1bd71885a509831557 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Tue, 1 Aug 2023 11:15:31 +0800 +Subject: [PATCH] cl_headers/CMakeLists.txt: use clang from native sysroot + +Allow clang to be found in target sysroot for target builds and dont try +to compile cross binaries, we do that ourselves. + +Upstream-Status: Inappropriate [oe-specific] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + CMakeLists.txt | 8 ++++---- + cl_headers/CMakeLists.txt | 2 +- + 2 files changed, 5 insertions(+), 5 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index 5864009..60ba39e 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,10 +35,10 @@ set(CMAKE_MODULE_PATH + + include(CMakeFunctions) + +-if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) +- include(CrossCompile) +- llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) +-endif() ++#if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) ++# include(CrossCompile) ++# llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) ++#endif() + + if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR) + set(USE_PREBUILT_LLVM ON) +diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt +index 16cabb7..4423536 100644 +--- a/cl_headers/CMakeLists.txt ++++ b/cl_headers/CMakeLists.txt +@@ -1,6 +1,6 @@ + set(CL_HEADERS_LIB cl_headers) + if(USE_PREBUILT_LLVM) +- find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR} NO_DEFAULT_PATH) ++ find_program(CLANG_COMMAND clang PATHS ${LLVM_TOOLS_BINARY_DIR}) + else() + set(CLANG_COMMAND $<TARGET_FILE:clang>) + endif() +-- +2.37.3 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch deleted file mode 100644 index 8df7e3ab..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch +++ /dev/null @@ -1,32 +0,0 @@ -From f3ef79a6301bab0b3a447f07ceb94c39a95009df Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Thu, 2 Apr 2020 08:59:20 +0800 -Subject: [PATCH] don't redefine LLVM_TABLEGEN_EXE - -Use the value that has been passed by the user. - -Upstream-Status: Submitted -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - CMakeLists.txt | 5 ++++- - 1 file changed, 4 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 6893e97..941b0ae 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -137,7 +137,10 @@ endif(NOT USE_PREBUILT_LLVM) - set (COMPILE_OPTIONS_TD opencl_clang_options.td) - set (COMPILE_OPTIONS_INC opencl_clang_options.inc) - --set(LLVM_TABLEGEN_EXE "llvm-tblgen") -+if(NOT DEFINED LLVM_TABLEGEN_EXE) -+ set(LLVM_TABLEGEN_EXE "llvm-tblgen") -+endif() -+ - set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD}) - if(USE_PREBUILT_LLVM) - set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS}) --- -2.25.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch new file mode 100644 index 00000000..2f1814f8 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch @@ -0,0 +1,60 @@ +From 43c806ef321b1f677a49d28c89fb7ffecf539c2d Mon Sep 17 00:00:00 2001 +From: Tim Creech <timothy.m.creech@intel.com> +Date: Wed, 28 Jun 2023 03:45:51 -0400 +Subject: [PATCH 2/2] Request native clang only when cross-compiling (#464) + +* Request native clang only when cross-compiling + +LLVM_USE_HOST_TOOLS may be set if LLVM is configured with +LLVM_OPTIMIZED_TABLEGEN, which does not necessarily indicate +cross-compilation or that clang will only execute on the target. + +By checking that CMAKE_CROSSCOMPILING is set, we ensure that we only +build/use clang again if necessary for host execution. + +* fixup: CMAKE_CROSSCOMPILING implies LLVM_USE_HOST_TOOLS + +Co-authored-by: Wenju He <wenju.he@intel.com> + +* fixup: also use CMAKE_CROSSCOMPILING in top-level CMakeLists.txt + +--------- + +Co-authored-by: Wenju He <wenju.he@intel.com> + +Upstream-Status: Backport [https://github.com/intel/opencl-clang/commit/53843eee13cfb2357919ee02714a43bef1af0f86] +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + CMakeLists.txt | 2 +- + cl_headers/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/CMakeLists.txt b/CMakeLists.txt +index e772de9..5864009 100644 +--- a/CMakeLists.txt ++++ b/CMakeLists.txt +@@ -35,7 +35,7 @@ set(CMAKE_MODULE_PATH + + include(CMakeFunctions) + +-if(LLVM_USE_HOST_TOOLS AND OPENCL_CLANG_BUILD_EXTERNAL) ++if(CMAKE_CROSSCOMPILING AND OPENCL_CLANG_BUILD_EXTERNAL) + include(CrossCompile) + llvm_create_cross_target(${PROJECT_NAME} NATIVE "" Release) + endif() +diff --git a/cl_headers/CMakeLists.txt b/cl_headers/CMakeLists.txt +index 18296c2..16cabb7 100644 +--- a/cl_headers/CMakeLists.txt ++++ b/cl_headers/CMakeLists.txt +@@ -4,7 +4,7 @@ if(USE_PREBUILT_LLVM) + else() + set(CLANG_COMMAND $<TARGET_FILE:clang>) + endif() +-if(LLVM_USE_HOST_TOOLS AND NOT OPENCL_CLANG_BUILD_EXTERNAL) ++if(CMAKE_CROSSCOMPILING AND NOT OPENCL_CLANG_BUILD_EXTERNAL) + build_native_tool(clang CLANG_COMMAND) + endif() + +-- +2.37.3 + diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch deleted file mode 100644 index 473f4d24..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-make-sure-only-static-libraries-linked-for-native-bu.patch +++ /dev/null @@ -1,42 +0,0 @@ -From b29e00e6fe428a031cf577dfb703cf13eff837f6 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Wed, 15 Apr 2020 18:05:14 +0800 -Subject: [PATCH 2/2] make sure only static libraries linked for native build - -LINK_COMPONENTS=all isn't working for static libs for out of tree builds. Use -LLVM_AVAILABLE_LIBS instead. Reported: - -https://github.com/intel/opencl-clang/issues/114 - -Upstream-Status: Pending - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - CMakeLists.txt | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 8707487..ad2dbda 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -218,7 +218,7 @@ add_subdirectory(cl_headers) - - set(LLVM_REQUIRES_EH ON) - --if(USE_PREBUILT_LLVM OR CLANG_LINK_CLANG_DYLIB) -+if(false) - list(APPEND OPENCL_CLANG_LINK_LIBS clang-cpp) - else() - list(APPEND OPENCL_CLANG_LINK_LIBS -@@ -266,6 +266,7 @@ add_llvm_library(${TARGET_NAME} SHARED - all - LINK_LIBS - ${OPENCL_CLANG_LINK_LIBS} -+ ${LLVM_AVAILABLE_LIBS} - ) - - # Configure resource file on Windows --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_11.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc index 57b56d73..31a3fb21 100644 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_11.0.0.bb +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc @@ -5,30 +5,30 @@ DESCRIPTION = "Common clang has OpenCL-oriented API and is capable \ LICENSE = "NCSA" LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c" -SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-110;protocol=https \ - file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \ +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 \ " -SRC_URI_append_class-native = " file://0002-make-sure-only-static-libraries-linked-for-native-bu.patch" - -SRCREV = "7a88e28f00b1479fa5809ce4cf8388938c0d7495" - S = "${WORKDIR}/git" inherit cmake DEPENDS += "clang" -DEPENDS_append_class-target = " opencl-clang-native" +DEPENDS:append:class-target = " opencl-clang-native" COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" +COMPATIBLE_HOST:libc-musl = "null" + +DEPENDS += " spirv-llvm-translator" EXTRA_OECMAKE += "\ -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ -DCMAKE_SKIP_RPATH=TRUE \ + -DPREFERRED_LLVM_VERSION=${LLVMVERSION} \ " -do_install_append_class-native() { +do_install:append:class-native() { install -d ${D}${bindir} - install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/ + install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/ } BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb deleted file mode 100644 index c5ba96c1..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_10.0.0.bb +++ /dev/null @@ -1,35 +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=ocl-open-100;protocol=https \ - file://0001-don-t-redefine-LLVM_TABLEGEN_EXE.patch \ - file://0001-Building-in-tree-with-LLVM-10.0-with-the-LLVM_LINK_L.patch \ - " -SRC_URI_append_class-native = " file://0002-make-sure-only-static-libraries-linked-for-native-bu.patch" - -SRCREV = "92f3f7f1a06f25fb13708f87c26b0fbf50924c96" - -S = "${WORKDIR}/git" - -inherit cmake -DEPENDS += "clang" -DEPENDS_append_class-target = " opencl-clang-native" - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" - -EXTRA_OECMAKE += "\ - -DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \ - -DCMAKE_SKIP_RPATH=TRUE \ - " - -do_install_append_class-native() { - install -d ${D}${bindir} - install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/ -} - -BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_14.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_14.0.0.bb new file mode 100644 index 00000000..7e56af75 --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_14.0.0.bb @@ -0,0 +1,5 @@ +require opencl-clang.inc + +SRCREV = "980f1691c5babcf824ee10375a04a0d0c5d7d44a" + +BRANCH = "ocl-open-140" diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb new file mode 100644 index 00000000..e946c31c --- /dev/null +++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb @@ -0,0 +1,5 @@ +require opencl-clang.inc + +SRCREV = "60fd799cc58755c16d951f9ebfde6d0f9b8554dd" + +BRANCH = "ocl-open-150" diff --git a/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics/0001-Use-standard-installation-directory-variables.patch b/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics/0001-Use-standard-installation-directory-variables.patch deleted file mode 100644 index 35469a1c..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics/0001-Use-standard-installation-directory-variables.patch +++ /dev/null @@ -1,58 +0,0 @@ -From 33f60fe2c64272cf1472aa541bcb491a62f81ca5 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Mon, 26 Oct 2020 16:24:09 +0800 -Subject: [PATCH] Use standard installation directory variables - -Upstream-Status: Submitted [https://github.com/intel/vc-intrinsics/pull/35] - -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - GenXIntrinsics/CMakeLists.txt | 14 +++++++------- - 1 file changed, 7 insertions(+), 7 deletions(-) - -diff --git a/GenXIntrinsics/CMakeLists.txt b/GenXIntrinsics/CMakeLists.txt -index c59c589..5bcf0d1 100644 ---- a/GenXIntrinsics/CMakeLists.txt -+++ b/GenXIntrinsics/CMakeLists.txt -@@ -33,7 +33,7 @@ endif() - # this option is to switch on install when we are building not inside IGC - if(INSTALL_REQUIRED) - install(DIRECTORY include/llvm -- DESTINATION include -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - COMPONENT genx-intrinsics-headers - FILES_MATCHING - PATTERN "*.h" -@@ -43,7 +43,7 @@ if(INSTALL_REQUIRED) - # and then "install(DIRECTORY" installs them even if they are empty - # so generated file has to be installed separetely - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/include/llvm/GenXIntrinsics/${GENX_INTRINSICS_DESCRIPTION} -- DESTINATION include/llvm/GenXIntrinsics -+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/llvm/GenXIntrinsics - COMPONENT genx-intrinsics-headers - ) - -@@ -52,15 +52,15 @@ if(INSTALL_REQUIRED) - # we need to limit it to external build - if(BUILD_EXTERNAL) - install(TARGETS LLVMGenXIntrinsics EXPORT LLVMGenXIntrinsicsTargets -- LIBRARY DESTINATION lib -- ARCHIVE DESTINATION lib -- RUNTIME DESTINATION bin -- INCLUDES DESTINATION include -+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} -+ INCLUDES DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} - ) - - install(EXPORT LLVMGenXIntrinsicsTargets - FILE LLVMGenXIntrinsicsConfig.cmake -- DESTINATION lib/cmake/LLVMGenXIntrinsics -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/LLVMGenXIntrinsics - ) - endif() # BUILD_EXTERNAL - endif() # INSTALL_REQUIRED --- -2.17.1 - diff --git a/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_1.0.bb b/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_1.0.bb deleted file mode 100644 index 39bf5803..00000000 --- a/dynamic-layers/clang-layer/recipes-opencl/vc-intrinsics/vc-intrinsics_1.0.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "VC Intrinsics" -DESCRIPTION = "VC Intrinsics project contains a set of new intrinsics on \ -top of core LLVM IR instructions that represent SIMD semantics of a program \ -targeting GPU" - -LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://License.md;md5=c18ea6bb4786a26bf4eee88a7424a408" - -SRC_URI = "git://github.com/intel/vc-intrinsics.git;protocol=https; \ - file://0001-Use-standard-installation-directory-variables.patch \ - " - -SRCREV = "c8c52b5fb14b33e32de9df573b7de186a0c97c94" - -S = "${WORKDIR}/git" - -inherit cmake - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" - -DEPENDS += " clang" - -EXTRA_OECMAKE = "-DLLVM_DIR=${STAGING_LIBDIR}" - -BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2021.2.bb b/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.0.0.bb index 9d8c1e18..70177c28 100644 --- a/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2021.2.bb +++ b/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.0.0.bb @@ -5,29 +5,29 @@ environment, performs static model analysis, and adjusts deep \ learning models for optimal execution on end-point target devices." HOMEPAGE = "https://01.org/openvinotoolkit" -SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2021/2;lfs=0 \ +SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2024/0;lfs=0 \ " -SRCREV = "4795391b73381660b69b4cd3986c7a0bf902e868" +SRCREV = "34caeefd07800b59065345d651949efbe8ab6649" LICENSE = "Apache-2.0" LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327" CVE_PRODUCT = "intel:openvino" - S = "${WORKDIR}/git" -do_install() { - mkdir -p ${D}${datadir}/openvino/model-optimizer - cp -r model-optimizer ${D}${datadir}/openvino/ -} +inherit setuptools3 -RDEPENDS_${PN} += " \ - python3-numpy \ - python3-protobuf \ +SETUPTOOLS_SETUP_PATH = "${WORKDIR}/git/tools/mo" + +RDEPENDS:${PN} += " \ python3-defusedxml \ + python3-fastjsonschema \ python3-networkx \ - python3-test-generator \ + python3-numpy \ + python3-protobuf \ + python3-requests \ + python3-urllib3 \ bash \ " -FILES_${PN} += "${datadir}/openvino" +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$" diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2039.1.0.0.bb b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb index 68b60c8e..bdf32576 100644 --- a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2039.1.0.0.bb +++ b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb @@ -8,13 +8,11 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93" COMPATIBLE_HOST = '(i.86|x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" +COMPATIBLE_HOST:libc-musl = "null" -inherit cmake systemd features_check +inherit cmake systemd features_check python3native -DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native" - -EXTRA_OECMAKE += "-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3" +DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native pkgconfig-native python3-packaging-native" # Enable either connman or networkmanager or none but not both. PACKAGECONFIG ??= "connman" @@ -23,19 +21,24 @@ PACKAGECONFIG[networkmanager] = "-DNETWORK_NM=ON, -DNETWORK_NM=OFF, networkmanag REQUIRED_DISTRO_FEATURES= "systemd" -FILES_${PN} += "${datadir}/dbus-1/system-services/*.service" +FILES:${PN} += "${datadir}/dbus-1/system-services/*.service" S = "${WORKDIR}/git" -SYSTEMD_SERVICE_${PN} = "lms.service" +SYSTEMD_SERVICE:${PN} = "lms.service" -SRC_URI = "git://github.com/intel/lms.git \ +SRC_URI = "git://github.com/intel/lms.git;branch=master;protocol=https \ " -SRCREV = "11e6713f794b560328746ac39653d595f01361dc" +SRCREV = "388f115b2aeb3ea11499971c65f828daefd32c47" -do_install_append() { +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" +RDEPENDS:${PN} += "ace" + +CVE_STATUS[CVE-2018-1000535] = "cpe-incorrect: This CVE is for a different LMS - Lan Management System." diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/thermald/files/0001-Makefile-Fix-build-Issue.patch b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/files/0001-Makefile-Fix-build-Issue.patch new file mode 100644 index 00000000..270cc84d --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/files/0001-Makefile-Fix-build-Issue.patch @@ -0,0 +1,39 @@ +From c4c049481d48f33319b1d04cad56d622c4eed65f Mon Sep 17 00:00:00 2001 +From: Yogesh Tyagi <yogesh.tyagi@intel.com> +Date: Mon, 11 Mar 2024 13:13:32 +0800 +Subject: [PATCH] Makefile: Fix build Issue +MIME-Version: 1.0 +Content-Type: text/plain; charset=UTF-8 +Content-Transfer-Encoding: 8bit + +In case build directory is different from source, make sure make is able to find the correct input files. + +Fixes: +| dbus-binding-tool --prefix=thd_dbus_interface --mode=glib-server --output=thd_dbus_interface.h ../git/src/thd_dbus_interface.xml +| glib-compile-resources --generate-source thermald-resource.gresource.xml +| Failed to open file “thermald-resource.gresource.xml”: No such file or directory + + +Upstream-Status: Submitted +https://github.com/intel/thermal_daemon/pull/436 + +Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com> +--- + Makefile.am | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile.am b/Makefile.am +index a0c051a..772e280 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -95,6 +95,6 @@ thd_dbus_interface.h: $(top_srcdir)/src/thd_dbus_interface.xml + $(AM_V_GEN) dbus-binding-tool --prefix=thd_dbus_interface --mode=glib-server --output=$@ $< + + thermald-resource.c: $(top_srcdir)/thermald-resource.gresource.xml +- $(AM_V_GEN) glib-compile-resources --generate-source thermald-resource.gresource.xml ++ $(AM_V_GEN) glib-compile-resources --generate-source --sourcedir=${top_srcdir} $< + + CLEANFILES = $(BUILT_SOURCES) +-- +2.34.1 + diff --git a/recipes-bsp/thermald/thermald_2.2.bb b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/thermald_2.5.6.bb index 6da1291d..df242cdf 100644 --- a/recipes-bsp/thermald/thermald_2.2.bb +++ b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/thermald_2.5.6.bb @@ -6,29 +6,38 @@ 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" -LICENSE = "GPLv2" +DEPENDS = "dbus dbus-glib dbus-glib-native libxml2 glib-2.0 glib-2.0-native upower libevdev" +DEPENDS += "autoconf-archive-native" + +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://COPYING;md5=ea8831610e926e2e469075b52bf08848" -SRC_URI = "git://github.com/intel/thermal_daemon/ \ - file://0001-configure.ac-disable-werror.patch \ +SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \ + file://0001-Makefile-Fix-build-Issue.patch \ " -SRCREV = "4f0e68974c26749191ac945586b8cc97800d5d02" + +SRCREV = "3990ce2391e5c07293758c056e09e4f2453691b4" S = "${WORKDIR}/git" -inherit pkgconfig autotools systemd +inherit pkgconfig autotools systemd gtk-doc + +# 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/system-services/*.service" +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 \ " diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch new file mode 100644 index 00000000..4d583657 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch @@ -0,0 +1,53 @@ +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] diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch new file mode 100644 index 00000000..b0a76ff9 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch @@ -0,0 +1,36 @@ +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 diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch new file mode 100644 index 00000000..f452dc50 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch @@ -0,0 +1,52 @@ +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}) diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/run-ptest b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/run-ptest new file mode 100644 index 00000000..77d13bb4 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/run-ptest @@ -0,0 +1,2 @@ +#!/bin/sh +python3 run_tests.py diff --git a/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.23.0.bb b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.23.0.bb new file mode 100644 index 00000000..ed8df859 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.23.0.bb @@ -0,0 +1,64 @@ +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 + +S = "${WORKDIR}/git" + +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 = "bcb2cf896c00f9a802a11cbf291ef6e44b205416" + +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" diff --git a/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.0.22.bb b/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.15.8.bb index b8bffe64..8bade9f4 100644 --- a/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.0.22.bb +++ b/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.15.8.bb @@ -1,10 +1,10 @@ SUMMARY = "oneAPI Level Zero Specification Headers and Loader" HOMEPAGE = "https://github.com/oneapi-src/level-zero" LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=8956dfdba7f8169c4005d1e9753ffddc" +LIC_FILES_CHKSUM = "file://LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc" -SRC_URI = "git://github.com/oneapi-src/level-zero.git;protocol=https" -SRCREV = "c6fa2cdab997e0a279a99b159095255eb95d8ee5" +SRC_URI = "git://github.com/oneapi-src/level-zero.git;protocol=https;branch=master" +SRCREV = "1685d01497428ca4d8b99200972b64685424d5c9" S = "${WORKDIR}/git" inherit cmake @@ -14,7 +14,7 @@ UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" PACKAGES =+ "${PN}-headers ${PN}-samples ${PN}-loader" -do_install_append () { +do_install:append () { install -d ${D}${bindir} ${D}${libdir} install -m 755 ${B}/bin/zello* ${D}${bindir} @@ -22,10 +22,12 @@ do_install_append () { } -FILES_${PN}-headers = "${includedir}" -FILES_${PN}-samples = "${bindir} ${libdir}/libze_null* ${libdir}/libze_validation*" -FILES_${PN}-loader = "${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" +INSANE_SKIP:${PN}-loader = "dev-so" +INSANE_SKIP:${PN}-samples = "dev-so" +ALLOW_EMPTY:${PN} = "1" +BBCLASSEXTEND = "native nativesdk" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2024.0.0-49819.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2024.0.0-49819.bb new file mode 100644 index 00000000..cedbae1e --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2024.0.0-49819.bb @@ -0,0 +1,54 @@ +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 = "${WORKDIR}/${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" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2024.0.0-49819.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2024.0.0-49819.bb new file mode 100644 index 00000000..90ada087 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2024.0.0-49819.bb @@ -0,0 +1,45 @@ +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 = "${WORKDIR}/${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" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/embree/embree_4.3.1.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/embree/embree_4.3.1.bb new file mode 100644 index 00000000..fb341b01 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/embree/embree_4.3.1.bb @@ -0,0 +1,30 @@ +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 & syrah" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://third-party-programs.txt;md5=f989f5b74cfff0d45d3ccf0e1366cbdc \ + file://common/math/transcendental.h;beginline=6;endline=8;md5=73380bb2ab6613b30b8464f114bd0ca8" + +inherit pkgconfig cmake + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/embree/embree.git;protocol=https;branch=master" +SRCREV = "daa8de0e714e18ad5e5c9841b67c1950d9c91c51" + +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 \ + " diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/ipp/intel-oneapi-ipp_2021.10.0-653.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/ipp/intel-oneapi-ipp_2021.10.0-653.bb new file mode 100644 index 00000000..1841253e --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/ipp/intel-oneapi-ipp_2021.10.0-653.bb @@ -0,0 +1,35 @@ +DESCRIPTION = "Intel® Integrated Performance Primitives are production-ready \ + building blocks for cross-platform performance. Develop high-performance vision, \ + signal, security, and storage applications with this multithreaded software library." +HOMEPAGE = "https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/ipp.html" + +LICENSE = "ISSL" + +MAXVER = "2021.10" + +LIC_FILES_CHKSUM = " \ + file://opt/intel/oneapi/ipp/${MAXVER}/share/doc/ipp/licensing/license.txt;md5=d7cdc92ed6c4de1263da879599ddc3e2 \ + file://opt/intel/oneapi/ipp/${MAXVER}/share/doc/ipp/licensing/third-party-programs.txt;md5=22bd13987911dcf790907041b43081f3 \ + " +SRC_URI = " \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-${MAXVER}-${PV}_amd64.deb;subdir=${BPN};name=ipp \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-common-devel-${MAXVER}-${PV}_all.deb;subdir=${BPN};name=headers \ + https://apt.repos.intel.com/oneapi/pool/main/intel-oneapi-ipp-common-${MAXVER}-${PV}_all.deb;subdir=${BPN};name=env \ + " + +SRC_URI[ipp.sha256sum] = "b51e45c6e691aa46c7136b0ab61f5abe346388433e017a30cf53fd23e92bea07" +SRC_URI[headers.sha256sum] = "342f37ab2f82bc9f4498435f848ee660591c2488b44d988bf6ee96b2a71fd005" +SRC_URI[env.sha256sum] = "731e8c28a3b8b757730cd874d0941de2eb744856128f24ade59d36c12b415bf6" + +S = "${WORKDIR}/${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" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/mkl/intel-oneapi-mkl_2024.0.0-49656.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/mkl/intel-oneapi-mkl_2024.0.0-49656.bb new file mode 100644 index 00000000..e3e93028 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/mkl/intel-oneapi-mkl_2024.0.0-49656.bb @@ -0,0 +1,74 @@ +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 = "${WORKDIR}/${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" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/oidn/oidn_2.1.0.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/oidn/oidn_2.1.0.bb new file mode 100644 index 00000000..4ea6ffbe --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/oidn/oidn_2.1.0.bb @@ -0,0 +1,23 @@ +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" + +UPSTREAM_CHECK_URI = "https://github.com/OpenImageDenoise/oidn/releases" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_2.0.1.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_2.0.1.bb new file mode 100644 index 00000000..a2d709a1 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_2.0.1.bb @@ -0,0 +1,42 @@ +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 + +S = "${WORKDIR}/git" + +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 \ + " +EXTRA_OECMAKE:intel-corei7-64 += " \ + -DOPENVKL_ISA_AVX=OFF \ + -DOPENVKL_ISA_AVX2=OFF \ + -DOPENVKL_ISA_AVX512SKX=OFF \ + " + +PACKAGES =+ "${PN}-examples" +FILES:${PN}-examples = "\ + ${bindir} \ + " diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray/0001-Fix-GCC11-Compile-Error-in-benchmark_register.h.patch b/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray/0001-Fix-GCC11-Compile-Error-in-benchmark_register.h.patch new file mode 100644 index 00000000..c2136321 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray/0001-Fix-GCC11-Compile-Error-in-benchmark_register.h.patch @@ -0,0 +1,28 @@ +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 + diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray_3.1.0.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray_3.1.0.bb new file mode 100644 index 00000000..3e03dcc2 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray_3.1.0.bb @@ -0,0 +1,37 @@ +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 + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/ospray/ospray.git;protocol=https;branch=master \ + " +SRCREV = "f2a61c2eb58ccd666e34abfdb0fd7049ea073194" + +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+)+))$" diff --git a/dynamic-layers/openembedded-layer/recipes-oneapi/rkcommon/rkcommon_1.13.0.bb b/dynamic-layers/openembedded-layer/recipes-oneapi/rkcommon/rkcommon_1.13.0.bb new file mode 100644 index 00000000..fe6b23ea --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-oneapi/rkcommon/rkcommon_1.13.0.bb @@ -0,0 +1,19 @@ +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 + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/ospray/rkcommon.git;protocol=https;branch=master \ + " +SRCREV = "7ebfa0765ea590767202b328e7da38102c2f5a15" + +DEPENDS = "tbb" + +EXTRA_OECMAKE += " -DBUILD_TESTING=OFF" diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch new file mode 100644 index 00000000..4474aa3c --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch @@ -0,0 +1,38 @@ +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 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch new file mode 100644 index 00000000..11305e83 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch @@ -0,0 +1,59 @@ +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(+) + +diff --git a/MdePkg/Include/Base.h b/MdePkg/Include/Base.h +index d209e6de28..6e61b8f3d3 100644 +--- a/MdePkg/Include/Base.h ++++ b/MdePkg/Include/Base.h +@@ -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 +@@ -779,6 +783,8 @@ typedef UINTN *BASE_LIST; + // Section 2.3.1 of the UEFI 2.3 Specification. + // + ++#ifndef OS_BUILD ++#ifndef UNIT_TEST_UEFI_BUILD + STATIC_ASSERT (sizeof (BOOLEAN) == 1, "sizeof (BOOLEAN) does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (INT8) == 1, "sizeof (INT8) does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (UINT8) == 1, "sizeof (UINT8) does not meet UEFI Specification Data Type requirements"); +@@ -792,6 +798,8 @@ STATIC_ASSERT (sizeof (CHAR8) == 1, "sizeof (CHAR8) does not meet UEFI Specifi + STATIC_ASSERT (sizeof (CHAR16) == 2, "sizeof (CHAR16) does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (L'A') == 2, "sizeof (L'A') does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (L"A") == 4, "sizeof (L\"A\") does not meet UEFI Specification Data Type requirements"); ++#endif ++#endif + + // + // The following three enum types are used to verify that the compiler +@@ -812,9 +820,13 @@ typedef enum { + __VerifyUint32EnumValue = 0xffffffff + } __VERIFY_UINT32_ENUM_SIZE; + ++#ifndef OS_BUILD ++#ifndef UNIT_TEST_UEFI_BUILD + STATIC_ASSERT (sizeof (__VERIFY_UINT8_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (__VERIFY_UINT16_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); + STATIC_ASSERT (sizeof (__VERIFY_UINT32_ENUM_SIZE) == 4, "Size of enum does not meet UEFI Specification Data Type requirements"); ++#endif ++#endif + + /** + Macro that returns a pointer to the data structure that contains a specified field of +-- +2.37.3 diff --git a/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb new file mode 100644 index 00000000..c4743d1c --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb @@ -0,0 +1,47 @@ +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;name=ipmctl; \ + git://github.com/tianocore/edk2.git;protocol=https;name=edk2;destsuffix=git/edk2;branch=master \ + file://0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch;patchdir=edk2 \ + file://0001-CMakeLists-disable-Werror.patch \ +" + +SRCREV_ipmctl = "c75bd840ea7820c8f93a5488fcff75d08beedd51" +#tag edk2-stable202302 +SRCREV_edk2 = "f80f052277c88a67c55e107b550f504eeea947d3" +SRCREV_FORMAT = "ipmctl_edk2" + +S = "${WORKDIR}/git" + +inherit cmake dos2unix + +DEPENDS = "ndctl pkgconfig-native" + +EXTRA_OECMAKE = "-DRELEASE=ON" + +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 +} diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-CPU-Solving-the-build-failure-caused-by-setting-the-.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-CPU-Solving-the-build-failure-caused-by-setting-the-.patch new file mode 100644 index 00000000..d1851406 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-CPU-Solving-the-build-failure-caused-by-setting-the-.patch @@ -0,0 +1,43 @@ +From b8c3bae71e6d3417ade5cb537cb1785fd75a75c8 Mon Sep 17 00:00:00 2001 +From: Razvan Apetroaie <117895604+razvanapetroaie@users.noreply.github.com> +Date: Tue, 20 Feb 2024 02:28:14 +0200 +Subject: [PATCH] [CPU] Solving the build failure caused by setting the + "ENABLE_OV_ONNX_FRONTEND" option to "OFF" (#22934) + +### Details: +See the [ticket +description](https://jira.devtools.intel.com/browse/CVS-132119). The +solution was checked only on a local setup on Ubuntu, if there's a way +to check that using the CI please let me know (or if you could run the +job and paste the link in the comments I would be grateful). + +Disclaimer: I'm not a CPU plugin developer, so I can't tell for sure if +this is the ideal fix and no side effects are introduced. Please take +that into account when reviewing/merging. + +### Tickets: + - [CVS-132119](https://jira.devtools.intel.com/browse/CVS-132119) + +Upstream-Status: Backport [https://github.com/openvinotoolkit/openvino/commit/b8c3bae71e6d3417ade5cb537cb1785fd75a75c8] + +Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com> +--- + src/plugins/intel_cpu/tests/functional/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/plugins/intel_cpu/tests/functional/CMakeLists.txt b/src/plugins/intel_cpu/tests/functional/CMakeLists.txt +index db5ae8d01c..6941cb528d 100644 +--- a/src/plugins/intel_cpu/tests/functional/CMakeLists.txt ++++ b/src/plugins/intel_cpu/tests/functional/CMakeLists.txt +@@ -16,7 +16,7 @@ set(LINK_LIBRARIES funcSharedTests cpuSpecificRtInfo openvino::snippets ov_snipp + if(ENABLE_OV_ONNX_FRONTEND) + list(APPEND DEFINES TEST_MODELS="${TEST_MODEL_ZOO}") + else() +- set(EXCLUDED_SOURCE_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/extension ${CMAKE_CURRENT_SOURCE_DIR}/shared_tests_instances/onnx) ++ set(EXCLUDED_SOURCE_PATHS ${CMAKE_CURRENT_SOURCE_DIR}/custom/extension ${CMAKE_CURRENT_SOURCE_DIR}/shared_tests_instances/onnx) + endif() + + if(NOT (ARM OR AARCH64)) +-- +2.34.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-fix-build-when-using-sysroot.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-fix-build-when-using-sysroot.patch new file mode 100644 index 00000000..d251f21b --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-fix-build-when-using-sysroot.patch @@ -0,0 +1,32 @@ +From b5dfcf8bc1245e804c847745c237068eb6f19931 Mon Sep 17 00:00:00 2001 +From: Yogesh Tyagi <yogesh.tyagi@intel.com> +Date: Fri, 15 Mar 2024 16:28:41 +0800 +Subject: [PATCH] cmake: fix build when using sysroot + +When cross-compiling against a sysroot, system headers will not be at a place +that starts with /usr. Update conditional check to exclude directories +which have "/usr/include" in them to not add <sysroot>/usr/include as well. + +Upstream-Status: Submitted [https://github.com/openvinotoolkit/openvino/pull/23486] + +Signed-off-by: Yogesh Tyagi <yogesh.tyagi@intel.com> +--- + src/cmake/ov_parallel.cmake | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/cmake/ov_parallel.cmake b/src/cmake/ov_parallel.cmake +index 3793db98e30..819d3410531 100644 +--- a/src/cmake/ov_parallel.cmake ++++ b/src/cmake/ov_parallel.cmake +@@ -296,7 +296,7 @@ function(ov_set_threading_interface_for TARGET_NAME) + if(include_directories) + foreach(include_directory IN LISTS include_directories) + # cannot include /usr/include headers as SYSTEM +- if(NOT "${include_directory}" MATCHES "^/usr.*$") ++ if(NOT "${include_directory}" MATCHES ".*/usr/include.*$") + target_include_directories(${TARGET_NAME} SYSTEM + ${LINK_TYPE} $<BUILD_INTERFACE:${include_directory}>) + else() +-- +2.34.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-yocto-specific-tweaks-to-the-build-process.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-yocto-specific-tweaks-to-the-build-process.patch new file mode 100644 index 00000000..7ab31309 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-yocto-specific-tweaks-to-the-build-process.patch @@ -0,0 +1,90 @@ +From bfcf5ae581ca4e7266cf7dc65b1c71754cd78cc0 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Wed, 29 Nov 2023 12:42:57 +0530 +Subject: [PATCH 1/4] cmake: yocto specific tweaks to the build process + +* Dont try to detect glibc version as that doesn't work when cross compiling. +* Install sample binaries as well. +* Dont strip binaries. +* Dont try to write triggers for CPack. We package ourselves. +* Fix the installation path for Python modules when baselib = lib64. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + cmake/developer_package/packaging/rpm/rpm.cmake | 2 +- + cmake/developer_package/target_flags.cmake | 2 +- + samples/cpp/CMakeLists.txt | 6 +++--- + src/bindings/python/CMakeLists.txt | 2 +- + src/bindings/python/wheel/setup.py | 1 - + 5 files changed, 6 insertions(+), 7 deletions(-) + +diff --git a/cmake/developer_package/packaging/rpm/rpm.cmake b/cmake/developer_package/packaging/rpm/rpm.cmake +index a7c0ec2cf61..40448e8a962 100644 +--- a/cmake/developer_package/packaging/rpm/rpm.cmake ++++ b/cmake/developer_package/packaging/rpm/rpm.cmake +@@ -154,7 +154,7 @@ ov_rpm_specific_settings() + # needed to add triggers for packages with libraries + set(def_triggers "${OpenVINO_BINARY_DIR}/_CPack_Packages/triggers") + set(triggers_content "# /bin/sh -p\n/sbin/ldconfig\n") +-file(WRITE "${def_triggers}" "${triggers_content}") ++#file(WRITE "${def_triggers}" "${triggers_content}") + + # + # Functions helpful for packaging your modules with RPM cpack +diff --git a/cmake/developer_package/target_flags.cmake b/cmake/developer_package/target_flags.cmake +index 29f23e713e1..942dd445b19 100644 +--- a/cmake/developer_package/target_flags.cmake ++++ b/cmake/developer_package/target_flags.cmake +@@ -145,4 +145,4 @@ function(ov_glibc_version) + endif() + endfunction() + +-ov_glibc_version() ++#ov_glibc_version() +diff --git a/samples/cpp/CMakeLists.txt b/samples/cpp/CMakeLists.txt +index c814cc37e2c..431e7bd2ed3 100644 +--- a/samples/cpp/CMakeLists.txt ++++ b/samples/cpp/CMakeLists.txt +@@ -206,9 +206,9 @@ macro(ov_add_sample) + target_link_libraries(${SAMPLE_NAME} PRIVATE ${ov_link_libraries} Threads::Threads ${SAMPLE_DEPENDENCIES}) + + install(TARGETS ${SAMPLE_NAME} +- RUNTIME DESTINATION samples_bin/ +- COMPONENT samples_bin +- EXCLUDE_FROM_ALL) ++ DESTINATION ${CMAKE_INSTALL_BINDIR} ++ COMPONENT samples_bin) ++ + + # create global target with all samples / demo apps + if(NOT TARGET ov_samples) +diff --git a/src/bindings/python/CMakeLists.txt b/src/bindings/python/CMakeLists.txt +index 58ff9b74302..4763994ba56 100644 +--- a/src/bindings/python/CMakeLists.txt ++++ b/src/bindings/python/CMakeLists.txt +@@ -356,7 +356,7 @@ if(ENABLE_PYTHON_PACKAGING) + endif() + + set(python_package_prefix "${CMAKE_CURRENT_BINARY_DIR}/install_${pyversion}") +- set(install_lib "${python_package_prefix}/lib/${python_versioned_folder}/${ov_site_packages}") ++ set(install_lib "${python_package_prefix}/${CMAKE_INSTALL_LIBDIR}/${python_versioned_folder}/${ov_site_packages}") + set(meta_info_subdir "openvino-${OpenVINO_VERSION}-py${python_xy}.egg-info") + set(meta_info_file "${install_lib}/${meta_info_subdir}/PKG-INFO") + +diff --git a/src/bindings/python/wheel/setup.py b/src/bindings/python/wheel/setup.py +index 4b056912212..5f05d891310 100644 +--- a/src/bindings/python/wheel/setup.py ++++ b/src/bindings/python/wheel/setup.py +@@ -270,7 +270,6 @@ class CustomBuild(build): + self.spawn(["cmake", "--install", binary_dir, + "--prefix", prefix, + "--config", CONFIG, +- "--strip", + "--component", cpack_comp_name]) + + def run(self): +-- +2.34.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-dont-install-licenses-and-version-file.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-dont-install-licenses-and-version-file.patch deleted file mode 100644 index 2a2c8b87..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-dont-install-licenses-and-version-file.patch +++ /dev/null @@ -1,54 +0,0 @@ -From a60710c910e6c995aef9dd36757bf040bf24acf5 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Tue, 9 Jun 2020 11:35:59 +0800 -Subject: [PATCH] don't install licenses and version - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - ngraph/CMakeLists.txt | 6 ++---- - ngraph/test/runtime/CMakeLists.txt | 2 ++ - 2 files changed, 4 insertions(+), 4 deletions(-) - -diff --git a/ngraph/CMakeLists.txt b/ngraph/CMakeLists.txt -index 99f32a6181..b90aa382b9 100644 ---- a/ngraph/CMakeLists.txt -+++ b/ngraph/CMakeLists.txt -@@ -490,7 +490,7 @@ if (NGRAPH_EXPORT_TARGETS_ENABLE) - install(EXPORT ngraphTargets - FILE ngraphTargets.cmake - NAMESPACE ngraph:: -- DESTINATION ${NGRAPH_COMPONENT_PREFIX}cmake -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph - COMPONENT ngraph) - - configure_package_config_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/share/ngraphConfig.cmake.in -@@ -503,7 +503,7 @@ if (NGRAPH_EXPORT_TARGETS_ENABLE) - - install(FILES ${CMAKE_CURRENT_BINARY_DIR}/ngraphConfig.cmake - ${CMAKE_CURRENT_BINARY_DIR}/ngraphConfigVersion.cmake -- DESTINATION ${NGRAPH_COMPONENT_PREFIX}cmake -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/ngraph - COMPONENT ngraph) - endif() - -@@ -518,5 +518,3 @@ add_subdirectory(test) - if (NGRAPH_PYTHON_BUILD_ENABLE) - add_subdirectory(python) - endif() -- --install(FILES ${CMAKE_CURRENT_BINARY_DIR}/VERSION DESTINATION "${NGRAPH_COMPONENT_PREFIX}." COMPONENT ngraph) -diff --git a/ngraph/test/runtime/CMakeLists.txt b/ngraph/test/runtime/CMakeLists.txt -index d27ea8090c..17a3843f7d 100644 ---- a/ngraph/test/runtime/CMakeLists.txt -+++ b/ngraph/test/runtime/CMakeLists.txt -@@ -80,3 +80,5 @@ target_include_directories(ngraph_backend PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}) - - add_subdirectory(interpreter) - add_subdirectory(ie) -+ -+install(TARGETS ngraph_backend DESTINATION ${NGRAPH_INSTALL_LIB}) --- -2.29.2 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-inference-engine-use-system-installed-packages.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-inference-engine-use-system-installed-packages.patch deleted file mode 100644 index 1f64ce21..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-inference-engine-use-system-installed-packages.patch +++ /dev/null @@ -1,172 +0,0 @@ -From a8b6a2e251c42a393218174c6737208760d2e1c1 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Wed, 10 Jun 2020 09:43:55 +0800 -Subject: [PATCH] inference-engine: use system installed packages - -Use installed versions of ade, protobuf and tbb. - -Upstream-Status: Pending - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - cmake/dependencies.cmake | 18 ------------------ - inference-engine/CMakeLists.txt | 2 +- - inference-engine/cmake/ie_parallel.cmake | 7 +------ - .../src/inference_engine/CMakeLists.txt | 19 ------------------- - .../common_test_utils/CMakeLists.txt | 4 +--- - .../unit_test_utils/CMakeLists.txt | 3 +-- - inference-engine/thirdparty/CMakeLists.txt | 5 ++--- - 7 files changed, 6 insertions(+), 52 deletions(-) - -diff --git a/cmake/dependencies.cmake b/cmake/dependencies.cmake -index 6a44c8769e..a128eb63a1 100644 ---- a/cmake/dependencies.cmake -+++ b/cmake/dependencies.cmake -@@ -13,25 +13,7 @@ if(CMAKE_CROSSCOMPILING AND NGRAPH_ONNX_IMPORT_ENABLE) - - set(protoc_version "3.7.1") - if(CMAKE_HOST_SYSTEM_NAME MATCHES Linux) -- RESOLVE_DEPENDENCY(SYSTEM_PROTOC_ROOT -- ARCHIVE_LIN "protoc-${protoc_version}-linux-x86_64.tar.gz" -- TARGET_PATH "${TEMP}/protoc-${protoc_version}-linux-x86_64") -- debug_message(STATUS "host protoc-${protoc_version} root path = " ${SYSTEM_PROTOC_ROOT}) - else() - message(FATAL_ERROR "Unsupported host system (${CMAKE_HOST_SYSTEM_NAME}) and arch (${CMAKE_HOST_SYSTEM_PROCESSOR}) for cross-compilation") - endif() -- -- reset_deps_cache(SYSTEM_PROTOC) -- -- message("${SYSTEM_PROTOC_ROOT}/bin") -- find_program( -- SYSTEM_PROTOC -- NAMES protoc -- PATHS "${SYSTEM_PROTOC_ROOT}/bin" -- NO_DEFAULT_PATH) -- if(NOT SYSTEM_PROTOC) -- message(FATAL_ERROR "[ONNX IMPORTER] Missing host protoc binary") -- endif() -- -- update_deps_cache(SYSTEM_PROTOC "${SYSTEM_PROTOC}" "Path to host protoc for ONNX Importer") - endif() -diff --git a/inference-engine/CMakeLists.txt b/inference-engine/CMakeLists.txt -index a3e4f74c40..76b09683dd 100644 ---- a/inference-engine/CMakeLists.txt -+++ b/inference-engine/CMakeLists.txt -@@ -56,7 +56,7 @@ function(ie_developer_export) - APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake") - - # Custom target to build only Inference Engine Developer Package targets -- add_custom_target(ie_dev_targets ALL DEPENDS ${OpenVINODeveloperPackageTargets} ${IEDeveloperPackageTargets} gflags -+ add_custom_target(ie_dev_targets ALL DEPENDS ${OpenVINODeveloperPackageTargets} ${IEDeveloperPackageTargets} - inference_engine_ir_reader inference_engine_ir_v7_reader) - endfunction() - -diff --git a/inference-engine/cmake/ie_parallel.cmake b/inference-engine/cmake/ie_parallel.cmake -index f8988aa105..28e79417f4 100644 ---- a/inference-engine/cmake/ie_parallel.cmake -+++ b/inference-engine/cmake/ie_parallel.cmake -@@ -67,13 +67,8 @@ function(set_ie_threading_interface_for TARGET_NAME) - set(IE_THREAD_DEFINE "IE_THREAD_SEQ") - - if (THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") -- if (TBB_FOUND) - set(IE_THREAD_DEFINE "IE_THREAD_TBB") -- ie_target_link_libraries(${TARGET_NAME} ${LINK_TYPE} ${TBB_IMPORTED_TARGETS}) -- else () -- ext_message(WARNING "TBB was not found by the configured TBB_DIR path.\ -- SEQ method will be used for ${TARGET_NAME}") -- endif () -+ target_link_libraries(${TARGET_NAME} INTERFACE tbb tbbmalloc) - elseif (THREADING STREQUAL "OMP") - if (WIN32) - set(omp_lib_name libiomp5md) -diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt -index f012a038a2..3bba22215e 100644 ---- a/inference-engine/src/inference_engine/CMakeLists.txt -+++ b/inference-engine/src/inference_engine/CMakeLists.txt -@@ -216,25 +216,6 @@ list(APPEND core_components ngraph) - if((THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO") AND TBBROOT MATCHES ${TEMP}) - ie_cpack_add_component(tbb REQUIRED) - list(APPEND core_components tbb) -- -- install(DIRECTORY "${TBB}/include" -- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb -- COMPONENT tbb) -- install(DIRECTORY "${TBB}/lib" -- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb -- COMPONENT tbb) -- if(EXISTS "${TBB}/bin") -- install(DIRECTORY "${TBB}/bin" -- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb -- COMPONENT tbb) -- endif() -- install(FILES "${TBB}/LICENSE" -- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb -- COMPONENT tbb) -- install(FILES "${TBB}/cmake/TBBConfig.cmake" -- "${TBB}/cmake/TBBConfigVersion.cmake" -- DESTINATION ${IE_CPACK_IE_DIR}/external/tbb/cmake -- COMPONENT tbb) - endif() - - ie_cpack_add_component(core REQUIRED DEPENDS ${core_components}) -diff --git a/inference-engine/tests/ie_test_utils/common_test_utils/CMakeLists.txt b/inference-engine/tests/ie_test_utils/common_test_utils/CMakeLists.txt -index ca58264bd5..11df150845 100644 ---- a/inference-engine/tests/ie_test_utils/common_test_utils/CMakeLists.txt -+++ b/inference-engine/tests/ie_test_utils/common_test_utils/CMakeLists.txt -@@ -26,7 +26,7 @@ function(add_gtest_libraries) - PROPERTIES FOLDER thirdparty) - endfunction() - --add_gtest_libraries() -+#add_gtest_libraries() - - if (MSVC) - set(PUGI pugixml_mt) -@@ -37,8 +37,6 @@ endif () - list(APPEND EXPORT_DEPENDENCIES - ${PUGI} - ${NGRAPH_LIBRARIES} -- gtest -- gtest_main - ) - - set(TARGET_NAME commonTestUtils) -diff --git a/inference-engine/tests/ie_test_utils/unit_test_utils/CMakeLists.txt b/inference-engine/tests/ie_test_utils/unit_test_utils/CMakeLists.txt -index 5413d13895..3f2803750f 100644 ---- a/inference-engine/tests/ie_test_utils/unit_test_utils/CMakeLists.txt -+++ b/inference-engine/tests/ie_test_utils/unit_test_utils/CMakeLists.txt -@@ -8,8 +8,7 @@ add_subdirectory(mocks/mock_engine) - - list(APPEND EXPORT_DEPENDENCIES - commonTestUtils_s -- inference_engine_s -- gmock) -+ inference_engine_s) - - addIeTarget( - NAME ${TARGET_NAME} -diff --git a/inference-engine/thirdparty/CMakeLists.txt b/inference-engine/thirdparty/CMakeLists.txt -index fa2a4d02d8..67d3b7ad05 100644 ---- a/inference-engine/thirdparty/CMakeLists.txt -+++ b/inference-engine/thirdparty/CMakeLists.txt -@@ -62,14 +62,13 @@ else() - endif() - - add_subdirectory(stb_lib) --add_subdirectory(ade) - add_subdirectory(fluid/modules/gapi) - --set_target_properties(ade fluid stb_image PROPERTIES FOLDER thirdparty) -+set_target_properties(fluid stb_image PROPERTIES FOLDER thirdparty) - - # developer package - --ie_developer_export_targets(ade fluid) -+ie_developer_export_targets(fluid) - - if (NOT USE_SYSTEM_PUGIXML) - set_target_properties(pugixml PROPERTIES FOLDER thirdparty) --- -2.29.2 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-cldNN-disable-Werror.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-cldNN-disable-Werror.patch deleted file mode 100644 index a4e58b8e..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-cldNN-disable-Werror.patch +++ /dev/null @@ -1,30 +0,0 @@ -From 65014a2703a6a3892fdebc86fe1c5a3a589dbf56 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Wed, 10 Jun 2020 09:45:48 +0800 -Subject: [PATCH 2/5] cldNN: disable Werror - -Don't treat warnings as errors. This just leads to failures every time -we upgrade the compiler. - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - inference-engine/thirdparty/clDNN/CMakeLists.txt | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/inference-engine/thirdparty/clDNN/CMakeLists.txt b/inference-engine/thirdparty/clDNN/CMakeLists.txt -index 4b444eca..8610b9b8 100644 ---- a/inference-engine/thirdparty/clDNN/CMakeLists.txt -+++ b/inference-engine/thirdparty/clDNN/CMakeLists.txt -@@ -770,7 +770,6 @@ foreach(__CLDNN_CompilerFlagName IN ITEMS "CMAKE_CXX_FLAGS" "CMAKE_C_FLAGS") - MultiProcessorCompilation - DeadCodeEliminate - ExtensionsEnabled -- TreatWarnAsErrorEnabled - WarnLevel4 - NoFastMath - StackProtector --- -2.25.4 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-cmake-Fix-overloaded-virtual-error.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-cmake-Fix-overloaded-virtual-error.patch new file mode 100644 index 00000000..e0967d55 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-cmake-Fix-overloaded-virtual-error.patch @@ -0,0 +1,33 @@ +From 900eeeb2953095e651270c0f42ccd8b26fd7885c Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Wed, 29 Nov 2023 12:49:35 +0530 +Subject: [PATCH 3/4] cmake: Fix overloaded-virtual error + +* Remove -Werror for: +|git/src/plugins/intel_gpu/src/kernel_selector/jitter.h:129:28: error: 'virtual kernel_selector::JitDefinitions kernel_selector::JitConstant::GetDefinitions() const' was hidden [-Werror=overloaded-virtual=] +| 129 | virtual JitDefinitions GetDefinitions() const = 0; +| | + +Upstream-Status: Pending + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + src/plugins/intel_gpu/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/plugins/intel_gpu/CMakeLists.txt b/src/plugins/intel_gpu/CMakeLists.txt +index b0c66a435d6..a3037147cc2 100644 +--- a/src/plugins/intel_gpu/CMakeLists.txt ++++ b/src/plugins/intel_gpu/CMakeLists.txt +@@ -38,7 +38,7 @@ add_subdirectory(thirdparty) + include(thirdparty/cmake/rapidjson.cmake) + + if(CMAKE_COMPILER_IS_GNUCXX) +- ov_add_compiler_flags(-Werror) ++ #ov_add_compiler_flags(-Werror) + endif() + + add_subdirectory(src/runtime) +-- +2.34.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-inference-engine-installation-fixes.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-inference-engine-installation-fixes.patch deleted file mode 100644 index 52049eb0..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-inference-engine-installation-fixes.patch +++ /dev/null @@ -1,223 +0,0 @@ -From cb9a755218ff033c8c42e9dc46a845310a3331fa Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Thu, 11 Jun 2020 14:24:04 +0800 -Subject: [PATCH] cmake installation fixes - -Make sure that libraries/samples/binaries are installed correctly. - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - CMakeLists.txt | 14 -------------- - cmake/developer_package.cmake | 10 ++++++---- - .../samples/common/opencv_c_wraper/CMakeLists.txt | 2 ++ - inference-engine/samples/CMakeLists.txt | 9 +++------ - .../samples/common/format_reader/CMakeLists.txt | 2 ++ - .../src/inference_engine/CMakeLists.txt | 4 ++-- - .../src/vpu/myriad_plugin/CMakeLists.txt | 2 +- - inference-engine/tests/unit/cpu/CMakeLists.txt | 2 ++ - .../tests/unit/inference_engine/CMakeLists.txt | 2 ++ - inference-engine/tests/unit/vpu/CMakeLists.txt | 2 ++ - inference-engine/tools/compile_tool/CMakeLists.txt | 2 +- - 11 files changed, 23 insertions(+), 28 deletions(-) - -diff --git a/CMakeLists.txt b/CMakeLists.txt -index 5c3585a3e9..2b8c99f862 100644 ---- a/CMakeLists.txt -+++ b/CMakeLists.txt -@@ -176,12 +176,8 @@ ie_shellcheck_process(DIRECTORY "${OpenVINO_MAIN_SOURCE_DIR}" - - # install setupvars - --ie_cpack_add_component(setupvars REQUIRED) - - if(UNIX) -- install(PROGRAMS scripts/setupvars/setupvars.sh -- DESTINATION bin -- COMPONENT setupvars) - elseif(WIN32) - install(PROGRAMS scripts/setupvars/setupvars.bat - DESTINATION bin -@@ -191,22 +187,12 @@ endif() - # install install_dependencies - - if(UNIX) -- ie_cpack_add_component(install_dependencies REQUIRED) -- install(DIRECTORY scripts/install_dependencies/ -- DESTINATION install_dependencies -- COMPONENT install_dependencies) - endif() - - # install files for demo - --ie_cpack_add_component(demo_scripts REQUIRED DEPENDS core) - - if(UNIX) -- install(DIRECTORY scripts/demo/ -- DESTINATION deployment_tools/demo -- COMPONENT demo_scripts -- USE_SOURCE_PERMISSIONS -- PATTERN *.bat EXCLUDE) - elseif(WIN32) - install(DIRECTORY scripts/demo/ - DESTINATION deployment_tools/demo -diff --git a/cmake/developer_package.cmake b/cmake/developer_package.cmake -index cda7afd294..ec51636e96 100644 ---- a/cmake/developer_package.cmake -+++ b/cmake/developer_package.cmake -@@ -29,7 +29,9 @@ list(APPEND CMAKE_MODULE_PATH - include(CPackComponent) - unset(IE_CPACK_COMPONENTS_ALL CACHE) - --set(IE_CPACK_IE_DIR deployment_tools/inference_engine) -+if (NOT DEFINED IE_CPACK_IE_DIR) -+ set(IE_CPACK_IE_DIR deployment_tools/inference_engine) -+endif() - - # Search packages for the host system instead of packages for the target system - # in case of cross compilation these macros should be defined by the toolchain file -@@ -55,8 +57,8 @@ function(ie_cpack_set_library_dir) - set(IE_CPACK_RUNTIME_PATH ${IE_CPACK_IE_DIR}/bin/${ARCH_FOLDER}/${CMAKE_BUILD_TYPE} PARENT_SCOPE) - set(IE_CPACK_ARCHIVE_PATH ${IE_CPACK_IE_DIR}/lib/${ARCH_FOLDER}/${CMAKE_BUILD_TYPE} PARENT_SCOPE) - else() -- set(IE_CPACK_LIBRARY_PATH ${IE_CPACK_IE_DIR}/lib/${ARCH_FOLDER} PARENT_SCOPE) -- set(IE_CPACK_RUNTIME_PATH ${IE_CPACK_IE_DIR}/lib/${ARCH_FOLDER} PARENT_SCOPE) -+ set(IE_CPACK_LIBRARY_PATH ${CMAKE_INSTALL_LIBDIR} PARENT_SCOPE) -+ set(IE_CPACK_RUNTIME_PATH ${CMAKE_INSTALL_BINDIR} PARENT_SCOPE) - set(IE_CPACK_ARCHIVE_PATH ${IE_CPACK_IE_DIR}/lib/${ARCH_FOLDER} PARENT_SCOPE) - endif() - endfunction() -@@ -151,7 +153,7 @@ endif() - - # allow to override default OUTPUT_ROOT root - if(NOT DEFINED OUTPUT_ROOT) -- set(OUTPUT_ROOT ${OpenVINO_MAIN_SOURCE_DIR}) -+ set(OUTPUT_ROOT ${CMAKE_CURRENT_BINARY_DIR}) - endif() - - # Enable postfixes for Debug/Release builds -diff --git a/inference-engine/ie_bridges/c/samples/common/opencv_c_wraper/CMakeLists.txt b/inference-engine/ie_bridges/c/samples/common/opencv_c_wraper/CMakeLists.txt -index b8d5ddf622..d086478f6d 100644 ---- a/inference-engine/ie_bridges/c/samples/common/opencv_c_wraper/CMakeLists.txt -+++ b/inference-engine/ie_bridges/c/samples/common/opencv_c_wraper/CMakeLists.txt -@@ -29,3 +29,5 @@ set_target_properties(${TARGET_NAME} PROPERTIES FOLDER c_samples) - if(COMMAND add_cpplint_target) - add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME}) - endif() -+ -+install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt -index 236c17e6af..22f410d1fd 100644 ---- a/inference-engine/samples/CMakeLists.txt -+++ b/inference-engine/samples/CMakeLists.txt -@@ -34,7 +34,7 @@ endif() - - if(IE_MAIN_SOURCE_DIR) - # in case if samples are built from IE repo -- set(IE_MAIN_SAMPLES_DIR ${OpenVINO_MAIN_SOURCE_DIR}) -+ set(IE_MAIN_SAMPLES_DIR ${CMAKE_BINARY_DIR}) - # hint for find_package(InferenceEngine in the samples folder) - set(InferenceEngine_DIR "${CMAKE_BINARY_DIR}") - # hint for find_package(ngraph in the samples folder) -@@ -118,11 +118,6 @@ set (HAVE_INTTYPES_H 1) - set (INTTYPES_FORMAT C99) - set (BUILD_TESTING OFF) - --if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/thirdparty/gflags") -- add_subdirectory(thirdparty/gflags) -- set_target_properties(gflags_nothreads_static PROPERTIES FOLDER thirdparty) --endif() -- - if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") - endif() -@@ -245,6 +240,8 @@ macro(ie_add_sample) - add_cpplint_target(${IE_SAMPLE_NAME}_cpplint FOR_TARGETS ${IE_SAMPLE_NAME} - CUSTOM_FILTERS ${custom_filters}) - endif() -+ -+ install(TARGETS ${IE_SAMPLE_NAME} DESTINATION bin) - endmacro() - - # collect all samples subdirectories -diff --git a/inference-engine/samples/common/format_reader/CMakeLists.txt b/inference-engine/samples/common/format_reader/CMakeLists.txt -index 48dbed9f2b..76532fd047 100644 ---- a/inference-engine/samples/common/format_reader/CMakeLists.txt -+++ b/inference-engine/samples/common/format_reader/CMakeLists.txt -@@ -41,3 +41,5 @@ target_include_directories(${TARGET_NAME} PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}" - - set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME} - FOLDER cpp_samples) -+ -+install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR}) -diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt -index 3bba22215e..b6f6b7b203 100644 ---- a/inference-engine/src/inference_engine/CMakeLists.txt -+++ b/inference-engine/src/inference_engine/CMakeLists.txt -@@ -229,8 +229,8 @@ install(TARGETS ${TARGET_NAME} - install(FILES "${OpenVINO_BINARY_DIR}/share/ie_parallel.cmake" - "${OpenVINO_BINARY_DIR}/share/InferenceEngineConfig.cmake" - "${OpenVINO_BINARY_DIR}/share/InferenceEngineConfig-version.cmake" -- DESTINATION ${IE_CPACK_IE_DIR}/share -+ DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/InferenceEngine - COMPONENT core) - install(FILES $<TARGET_FILE_DIR:${TARGET_NAME}>/plugins.xml -- DESTINATION ${IE_CPACK_RUNTIME_PATH} -+ DESTINATION ${CMAKE_INSTALL_LIBDIR} - COMPONENT core) -diff --git a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt -index 889f2e6e66..67de9c3a32 100644 ---- a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt -+++ b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt -@@ -50,5 +50,5 @@ set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_REL - # install - - install(FILES ${IE_MAIN_SOURCE_DIR}/thirdparty/movidius/mvnc/src/97-myriad-usbboot.rules -- DESTINATION ${IE_CPACK_IE_DIR}/external -+ DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/udev/rules.d - COMPONENT myriad) -diff --git a/inference-engine/tests/unit/cpu/CMakeLists.txt b/inference-engine/tests/unit/cpu/CMakeLists.txt -index c9a92b4857..2b4fcc4d01 100644 ---- a/inference-engine/tests/unit/cpu/CMakeLists.txt -+++ b/inference-engine/tests/unit/cpu/CMakeLists.txt -@@ -25,3 +25,5 @@ addIeTargetTest( - ie_faster_build(${TARGET_NAME} - UNITY - ) -+ -+install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/inference-engine/tests/unit/inference_engine/CMakeLists.txt b/inference-engine/tests/unit/inference_engine/CMakeLists.txt -index 76cc67cca1..04ff11cc05 100644 ---- a/inference-engine/tests/unit/inference_engine/CMakeLists.txt -+++ b/inference-engine/tests/unit/inference_engine/CMakeLists.txt -@@ -26,3 +26,5 @@ addIeTargetTest( - LABELS - IE - ) -+ -+install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/inference-engine/tests/unit/vpu/CMakeLists.txt b/inference-engine/tests/unit/vpu/CMakeLists.txt -index 215562f2af..215ec9f4fb 100644 ---- a/inference-engine/tests/unit/vpu/CMakeLists.txt -+++ b/inference-engine/tests/unit/vpu/CMakeLists.txt -@@ -35,3 +35,5 @@ addIeTargetTest( - VPU - MYRIAD - ) -+ -+install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR}) -diff --git a/inference-engine/tools/compile_tool/CMakeLists.txt b/inference-engine/tools/compile_tool/CMakeLists.txt -index 58614d3ced..9dfa068e4d 100644 ---- a/inference-engine/tools/compile_tool/CMakeLists.txt -+++ b/inference-engine/tools/compile_tool/CMakeLists.txt -@@ -49,7 +49,7 @@ add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME}) - # install - - install(TARGETS compile_tool -- RUNTIME DESTINATION deployment_tools/tools/compile_tool -+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} - COMPONENT core) - - install(FILES README.md --- -2.29.2 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-protobuf-allow-target-protoc-to-be-built.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-protobuf-allow-target-protoc-to-be-built.patch new file mode 100644 index 00000000..59095133 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-protobuf-allow-target-protoc-to-be-built.patch @@ -0,0 +1,45 @@ +From 3e288ed876c6bcb6aa3174e52446b479255ddf22 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Wed, 29 Nov 2023 12:55:19 +0530 +Subject: [PATCH 4/4] protobuf: allow target protoc to be built + +We can run target binaries using a qemu wrapper so allow these to be +built and run. + +Upstream-Status: Inappropriate + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + cmake/developer_package/frontends/frontends.cmake | 2 +- + thirdparty/protobuf/CMakeLists.txt | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/cmake/developer_package/frontends/frontends.cmake b/cmake/developer_package/frontends/frontends.cmake +index 49c5b881030..2a1ea8562bc 100644 +--- a/cmake/developer_package/frontends/frontends.cmake ++++ b/cmake/developer_package/frontends/frontends.cmake +@@ -143,7 +143,7 @@ macro(ov_add_frontend) + set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${relative_path}/${FILE_WE}.pb.h) + add_custom_command( + OUTPUT "${OUTPUT_PB_SRC}" "${OUTPUT_PB_HEADER}" +- COMMAND ${PROTOC_EXECUTABLE} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file} ++ COMMAND protoc ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file} + DEPENDS ${PROTOC_DEPENDENCY} ${proto_file} + COMMENT "Running C++ protocol buffer compiler (${PROTOC_EXECUTABLE}) on ${proto_file_relative}" + VERBATIM +diff --git a/thirdparty/protobuf/CMakeLists.txt b/thirdparty/protobuf/CMakeLists.txt +index 4b6d6da87f3..409e492a5b3 100644 +--- a/thirdparty/protobuf/CMakeLists.txt ++++ b/thirdparty/protobuf/CMakeLists.txt +@@ -28,7 +28,7 @@ set(ABSL_PROPAGATE_CXX_STD ON CACHE BOOL "Abseil protogate CXX standard to depen + if(CMAKE_CROSSCOMPILING OR + (APPLE AND (HOST_X86_64 AND AARCH64)) OR + (MSVC AND (HOST_X86_64 AND (AARCH64 OR ARM)))) +- set(protobuf_BUILD_PROTOC_BINARIES OFF CACHE BOOL "Build protoc binaries" FORCE) ++ set(protobuf_BUILD_PROTOC_BINARIES ON CACHE BOOL "Build protoc binaries" FORCE) + else() + set(protobuf_BUILD_PROTOC_BINARIES ON CACHE BOOL "Build protoc binaries" FORCE) + endif() +-- +2.34.1 + diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-cldnn-fix-inclusion-of-headers.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-cldnn-fix-inclusion-of-headers.patch deleted file mode 100644 index d4819077..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-cldnn-fix-inclusion-of-headers.patch +++ /dev/null @@ -1,53 +0,0 @@ -From aa515686548d74a68456b9ba7a295b6ae4be343a Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Wed, 10 Jun 2020 09:50:19 +0800 -Subject: [PATCH] cldnn: fix inclusion of headers - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> - ---- - inference-engine/include/gpu/gpu_ocl_wrapper.hpp | 2 +- - inference-engine/src/cldnn_engine/CMakeLists.txt | 1 + - .../thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp | 2 +- - 3 files changed, 3 insertions(+), 2 deletions(-) - -diff --git a/inference-engine/include/gpu/gpu_ocl_wrapper.hpp b/inference-engine/include/gpu/gpu_ocl_wrapper.hpp -index 68ccf3217..c5b0ce6be 100644 ---- a/inference-engine/include/gpu/gpu_ocl_wrapper.hpp -+++ b/inference-engine/include/gpu/gpu_ocl_wrapper.hpp -@@ -39,7 +39,7 @@ - # pragma GCC system_header - #endif - --#include <CL/cl2.hpp> -+#include <cl2.hpp> - - #ifdef __GNUC__ - # pragma GCC diagnostic pop -diff --git a/inference-engine/src/cldnn_engine/CMakeLists.txt b/inference-engine/src/cldnn_engine/CMakeLists.txt -index 7e15abbed..46d43e0e5 100644 ---- a/inference-engine/src/cldnn_engine/CMakeLists.txt -+++ b/inference-engine/src/cldnn_engine/CMakeLists.txt -@@ -31,6 +31,7 @@ target_include_directories(${TARGET_NAME} PRIVATE - ${CMAKE_CURRENT_SOURCE_DIR} - $<TARGET_PROPERTY:inference_engine_transformations,INTERFACE_INCLUDE_DIRECTORIES> - ${CLDNN__IOCL_ICD_INCDIRS} -+ ${CLDNN_TOP_FOLDER}/common/khronos_ocl_clhpp - ${CLDNN_TOP_FOLDER}) - - set_target_properties(${TARGET_NAME} PROPERTIES INTERPROCEDURAL_OPTIMIZATION_RELEASE ${ENABLE_LTO}) -diff --git a/inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp b/inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp -index 97608c30a..3a04096c0 100644 ---- a/inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp -+++ b/inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/cl2_ext.hpp -@@ -29,7 +29,7 @@ typedef cl_d3d11_device_set_khr cl_device_set_intel; - typedef cl_va_api_device_source_intel cl_device_source_intel; - typedef cl_va_api_device_set_intel cl_device_set_intel; - #endif --#include <CL/cl_intel_planar_yuv.h> -+#include <CL/cl_ext_intel.h> - #include "cl_intel_usm_defs.h" - - #include <memory> diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-switch-to-python3.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-switch-to-python3.patch deleted file mode 100644 index 8bfb9ac9..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-switch-to-python3.patch +++ /dev/null @@ -1,38 +0,0 @@ -From 4dd5d9c7042b421c929bece05ee162b8827dc568 Mon Sep 17 00:00:00 2001 -From: Changqing Li <changqing.li@windriver.com> -Date: Mon, 2 Nov 2020 11:44:33 +0800 -Subject: [PATCH] switch to python3 - -Upstream-Status: Submitted -[https://github.com/openvinotoolkit/open_model_zoo/pull/1701/commits/0261e21e63b84cc4e91b220f4a84ec52b5678e2c; -https://github.com/gflags/gflags/pull/318#issuecomment-719466350] - -Signed-off-by: Changqing Li <changqing.li@windriver.com> ---- - .../speech_recognition_demo/speech_recognition_demo.py | 2 +- - thirdparty/gflags/test/gflags_build.py.in | 2 +- - 2 files changed, 2 insertions(+), 2 deletions(-) - -diff --git a/python_demos/speech_recognition_demo/speech_recognition_demo.py b/python_demos/speech_recognition_demo/speech_recognition_demo.py -index 6e8ff534..d28ccddc 100755 ---- a/python_demos/speech_recognition_demo/speech_recognition_demo.py -+++ b/python_demos/speech_recognition_demo/speech_recognition_demo.py -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - # - # Copyright (C) 2019-2020 Intel Corporation - # SPDX-License-Identifier: Apache-2.0 -diff --git a/thirdparty/gflags/test/gflags_build.py.in b/thirdparty/gflags/test/gflags_build.py.in -index a8cba2bf..559163ef 100644 ---- a/thirdparty/gflags/test/gflags_build.py.in -+++ b/thirdparty/gflags/test/gflags_build.py.in -@@ -1,4 +1,4 @@ --#!/usr/bin/env python -+#!/usr/bin/env python3 - - import os - import sys --- -2.17.1 - diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch index 864c735e..816a98a3 100644 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch @@ -1,33 +1,27 @@ -From 56078933a8397b7fae146156743408319eac1ae0 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Mon, 19 Oct 2020 23:29:23 +0800 +From 804b08023b3f8e72b8e3eb09e464d6775c11d966 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Fri, 21 Oct 2022 11:38:23 +0800 Subject: [PATCH] demos: use gflags from meta-oe Upstream-Status: Inappropriate Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> + --- - demos/CMakeLists.txt | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) + demos/CMakeLists.txt | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt -index e5f17231..08d4e4e6 100644 +index 51767051c..fb7e3d22f 100644 --- a/demos/CMakeLists.txt +++ b/demos/CMakeLists.txt -@@ -90,11 +90,11 @@ if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) - endif() - #################################### - --set (GFLAGS_IS_SUBPROJECT TRUE) -+set (GFLAGS_IS_SUBPROJECT FALSE) - set (HAVE_SYS_STAT_H 1) - set (HAVE_INTTYPES_H 1) +@@ -141,7 +141,7 @@ endmacro() + find_package(OpenCV REQUIRED COMPONENTS core highgui videoio imgproc imgcodecs) + find_package(OpenVINO REQUIRED COMPONENTS Runtime) -add_subdirectory(thirdparty/gflags) +#add_subdirectory(thirdparty/gflags) + add_subdirectory(common/cpp) - if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall") --- -2.26.2 - + find_package(OpenCV QUIET COMPONENTS gapi) diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2021.1.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2021.1.bb deleted file mode 100644 index c5efbfc8..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2021.1.bb +++ /dev/null @@ -1,63 +0,0 @@ -SUMMARY = "OpenVINO(TM) Toolkit - Open Model Zoo repository" -HOMEPAGE = "https://github.com/opencv/open_model_zoo" -DESCRIPTION = "This repository includes optimized deep learning \ -models and a set of demos to expedite development of high-performance \ -deep learning inference applications." - -SRC_URI = "git://github.com/opencv/open_model_zoo.git;protocol=git;branch=master \ - file://0001-switch-to-python3.patch \ - " - -SRCREV = "75ec8ad4b6c4fd7fb161ae9d2c3056281b2443de" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ -" - -inherit cmake - -S = "${WORKDIR}/git/demos" - -DEPENDS += "openvino-inference-engine opencv gflags" - -RDEPENDS_${PN} += " \ - python3-decorator \ - python3-defusedxml \ - python3-networkx \ - python3-protobuf \ - python3-test-generator \ - python3-requests \ - python3-pyyaml \ -" - -COMPATIBLE_HOST = '(x86_64).*-linux' - -EXTRA_OECMAKE += " \ - -DIE_MAIN_SOURCE_DIR=${B} \ - -DENABLE_SAMPLES=ON \ - -DIE_INCLUDE_DIR=${STAGING_EXECPREFIXDIR} \ - -DIE_RELEASE_LIBRARY=${STAGING_LIBDIR}/libinference_engine.so \ - -DIE_C_API_RELEASE_LIBRARY=${STAGING_LIBDIR}/libinference_engine_c_api.so \ - -DIE_LEGACY_RELEASE_LIBRARY=${STAGING_LIBDIR}/libinference_engine_legacy.so \ - -DIE_NN_BUILDER_RELEASE_LIBRARY=${STAGING_LIBDIR}/libinference_engine_nn_builder.so \ - -DIE_ROOT_DIR=${WORKDIR}/InferenceEngine \ -" - -do_configure_prepend(){ - mkdir -p ${WORKDIR}/InferenceEngine/share - cp ${STAGING_LIBDIR}/cmake/InferenceEngine/* ${WORKDIR}/InferenceEngine/share/ -} - -do_install(){ - install -d ${D}${libdir} - install -d ${D}${bindir} - install -d ${D}${datadir}/openvino/open-model-zoo/tools - install -d ${D}${datadir}/openvino/open-model-zoo/demos/python_demos - cp -rf ${WORKDIR}/build/intel64/Release/lib/*.a ${D}${libdir} - cp -rf ${WORKDIR}/build/intel64/Release/*_demo* ${D}${bindir} - cp -rf ${WORKDIR}/git/models ${D}${datadir}/openvino/open-model-zoo - cp -rf ${WORKDIR}/git/tools/downloader ${D}${datadir}/openvino/open-model-zoo/tools - cp -rf ${WORKDIR}/git/demos/python_demos ${D}${datadir}/openvino/open-model-zoo/demos -} - -FILES_${PN} += "${datadir}/openvino" diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2024.0.0.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2024.0.0.bb new file mode 100644 index 00000000..495a4786 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2024.0.0.bb @@ -0,0 +1,54 @@ +SUMMARY = "OpenVINO(TM) Toolkit - Open Model Zoo repository" +HOMEPAGE = "https://github.com/opencv/open_model_zoo" +DESCRIPTION = "This repository includes optimized deep learning \ +models and a set of demos to expedite development of high-performance \ +deep learning inference applications." + +SRC_URI = "git://github.com/opencv/open_model_zoo.git;protocol=https;branch=master \ + file://0001-use-oe-gflags.patch \ + " + +SRCREV = "37f60eb7fe1dcdedc552b2fb184d646723ed5e80" + +LICENSE = "Apache-2.0" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ +" + +inherit cmake + +S = "${WORKDIR}/git" +OECMAKE_SOURCEPATH = "${S}/demos" + +DEPENDS += "openvino-inference-engine opencv gflags" + +RDEPENDS:${PN} += " \ + python3-decorator \ + python3-defusedxml \ + python3-networkx \ + python3-protobuf \ + python3-requests \ + python3-pyyaml \ + python3-numpy \ + bash \ +" + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +EXTRA_OECMAKE += " \ + -DENABLE_SAMPLES=ON \ + " + +do_install(){ + install -d ${D}${libdir} + install -d ${D}${bindir} + install -d ${D}${datadir}/openvino/open-model-zoo/tools + install -d ${D}${datadir}/openvino/open-model-zoo/demos + cp -rf ${WORKDIR}/build/intel64/Release/*.a ${D}${libdir} + cp -rf ${WORKDIR}/build/intel64/Release/*_demo* ${D}${bindir} + cp -rf ${WORKDIR}/git/models ${D}${datadir}/openvino/open-model-zoo + cp -rf ${WORKDIR}/git/demos ${D}${datadir}/openvino/open-model-zoo + cp -rf ${WORKDIR}/git/tools/model_tools ${D}${datadir}/openvino/open-model-zoo/tools +} + +FILES:${PN} += "${datadir}/openvino" diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2021.2.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2021.2.bb deleted file mode 100644 index 568072d7..00000000 --- a/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2021.2.bb +++ /dev/null @@ -1,123 +0,0 @@ -SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit" -HOMEPAGE = "https://github.com/opencv/dldt" -DESCRIPTION = "This toolkit allows developers to deploy pre-trained \ -deep learning models through a high-level C++ Inference Engine API \ -integrated with application logic." - -SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=git;branch=releases/2021/2;lfs=0 \ - https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/usb-ma2x8x/firmware_usb-ma2x8x_1522.zip;name=usb_ma2x8x \ - https://download.01.org/opencv/master/openvinotoolkit/thirdparty/unified/VPU/pcie-ma2x8x/firmware_pcie-ma2x8x_1522.zip;name=pcie_ma2x8x \ - git://github.com/openvinotoolkit/oneDNN.git;protocol=https;destsuffix=git/inference-engine/thirdparty/mkl-dnn;name=mkl;nobranch=1 \ - file://0001-inference-engine-use-system-installed-packages.patch \ - file://0002-cldNN-disable-Werror.patch \ - file://0003-inference-engine-installation-fixes.patch \ - file://0005-cldnn-fix-inclusion-of-headers.patch \ - file://0001-dont-install-licenses-and-version-file.patch \ - " - -SRCREV = "4795391b73381660b69b4cd3986c7a0bf902e868" -SRCREV_mkl = "5ef085d5af65e8966e03cdfcbaa65761d61a5c9a" - -SRC_URI[usb_ma2x8x.sha256sum] = "95a93144f0bbfe6e35d3830e93e6b63e1e109f849a6a7c307cae9030e3a662aa" -SRC_URI[pcie_ma2x8x.sha256sum] = "6d061d21d90f1919ef375138066ba7a20ceb663901d2729d9cb1b639169df5da" - -LICENSE = "Apache-2.0 & ISSL & MIT" -LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ - file://inference-engine/thirdparty/mkl-dnn/LICENSE;md5=afa44a3d001cc203032135324f9636b7 \ - file://inference-engine/thirdparty/mkl-dnn/src/cpu/xbyak/COPYRIGHT;md5=03532861dad9003cc2c17f14fc7a4efa \ - file://inference-engine/thirdparty/clDNN/common/khronos_ocl_clhpp/LICENSE.txt;md5=88b295a48d2b3244ba65d3c055472c8a \ -" -LICENSE_${PN}-vpu-firmware = "ISSL" - -inherit cmake python3native - -S = "${WORKDIR}/git" - -EXTRA_OECMAKE += " \ - -DENABLE_OPENCV=0 \ - -DENABLE_PLUGIN_RPATH=0 \ - -DENABLE_GNA=0 \ - -DPYTHON_EXECUTABLE=${PYTHON} \ - -DCMAKE_BUILD_TYPE=RelWithDebInfo \ - -DTHREADING=TBB -DTBB_DIR=${STAGING_LIBDIR} \ - -DENABLE_SAMPLES=1 \ - -DIE_CPACK_IE_DIR=${prefix} \ - -DNGRAPH_UNIT_TEST_ENABLE=FALSE \ - -DNGRAPH_TEST_UTIL_ENABLE=FALSE \ - -DNGRAPH_ONNX_IMPORT_ENABLE=OFF \ - -DNGRAPH_JSON_ENABLE=FALSE \ - -DTREAT_WARNING_AS_ERROR=FALSE \ - -DENABLE_SPEECH_DEMO=FALSE \ - -DENABLE_DATA=FALSE \ - -DUSE_SYSTEM_PUGIXML=TRUE \ - " - -DEPENDS += "libusb1 \ - ade \ - opencv \ - pugixml \ - protobuf-native \ - tbb \ - onednn \ - " - -COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_libc-musl = "null" - -PACKAGECONFIG ?= "vpu" -PACKAGECONFIG[opencl] = "-DENABLE_CLDNN=1 -DCLDNN__IOCL_ICD_INCDIRS=${STAGING_INCDIR} -DCLDNN__IOCL_ICD_STLDIRS=${STAGING_LIBDIR} -DCLDNN__IOCL_ICD_SHLDIRS=${STAGING_LIBDIR}, -DENABLE_CLDNN=0, ocl-icd opencl-headers libva, intel-compute-runtime" -PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR}, -DENABLE_PYTHON=OFF, python3-cython-native, python3 python3-numpy python3-opencv python3-progress python3-cython" -PACKAGECONFIG[vpu] = "-DENABLE_VPU=ON -DVPU_FIRMWARE_USB-MA2X8X_FILE=../mvnc/usb-ma2x8x.mvcmd -DVPU_FIRMWARE_PCIE-MA2X8X_FILE=../mvnc/pcie-ma2x8x.mvcmd,-DENABLE_VPU=OFF,,${PN}-vpu-firmware" -PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0" - -do_install_append() { - if ${@bb.utils.contains('PACKAGECONFIG', 'vpu', 'true', 'false', d)}; then - install -m0644 ${WORKDIR}/mvnc/usb-ma2x8x.mvcmd ${D}${libdir}/ - install -m0644 ${WORKDIR}/mvnc/pcie-ma2x8x.mvcmd ${D}${libdir}/ - fi - - if ${@bb.utils.contains('PACKAGECONFIG', 'python3', 'true', 'false', d)}; then - install -d ${D}${datadir}/inference_engine - mv ${D}/usr/samples/python ${D}${datadir}/inference_engine/ - - install -d ${D}${PYTHON_SITEPACKAGES_DIR} - mv ${D}${prefix}/python/${PYTHON_DIR}/openvino ${D}${PYTHON_SITEPACKAGES_DIR}/ - mv ${D}${prefix}/deployment_tools/tools/benchmark_tool ${D}${PYTHON_SITEPACKAGES_DIR}/openvino/ - mv ${D}${prefix}/deployment_tools/tools/cross_check_tool ${D}${PYTHON_SITEPACKAGES_DIR}/openvino/ - - rm -rf ${D}${prefix}/python - fi - - rm -rf ${D}${prefix}/deployment_tools - - # Remove the samples source directory. We install the built samples. - rm -rf ${D}/usr/samples -} - -# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR -# instead of RSS -SSTATE_SCAN_FILES_append = " *.cmake" - -FILES_${PN}-dev = "${includedir} \ - ${libdir}/cmake \ - " - -FILES_${PN} += "${libdir}/lib*${SOLIBSDEV} \ - ${datadir}/openvino \ - ${libdir}/custom_kernels \ - ${libdir}/plugins.xml \ - ${libdir}/cache.json \ - " - -# Move inference engine samples into a separate package -PACKAGES =+ "${PN}-samples ${PN}-vpu-firmware" - -FILES_${PN}-samples = "${datadir}/inference_engine \ - ${bindir} \ - " -FILES_${PN}-vpu-firmware += "${libdir}/*.mvcmd" - -# Package for inference engine python API -PACKAGES =+ "${PN}-${PYTHON_PN}" - -FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}/openvino" diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2024.0.0.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2024.0.0.bb new file mode 100644 index 00000000..94edd1b8 --- /dev/null +++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2024.0.0.bb @@ -0,0 +1,143 @@ +SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit" +HOMEPAGE = "https://github.com/opencv/dldt" +DESCRIPTION = "This toolkit allows developers to deploy pre-trained \ +deep learning models through a high-level C++ Inference Engine API \ +integrated with application logic." + +SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;name=openvino;branch=releases/2024/0;lfs=0 \ + git://github.com/openvinotoolkit/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/onednn;name=mkl;nobranch=1 \ + git://github.com/oneapi-src/oneDNN.git;protocol=https;destsuffix=git/src/plugins/intel_gpu/thirdparty/onednn_gpu;name=onednn;nobranch=1 \ + git://github.com/herumi/xbyak.git;protocol=https;destsuffix=git/thirdparty/xbyak;name=xbyak;branch=master \ + git://github.com/nlohmann/json.git;protocol=https;destsuffix=git/thirdparty/json/nlohmann_json;name=json;branch=develop \ + git://github.com/opencv/ade.git;protocol=https;destsuffix=git/thirdparty/ade;name=ade;nobranch=1 \ + git://github.com/protocolbuffers/protobuf.git;protocol=https;destsuffix=git/thirdparty/protobuf/protobuf;name=protobuf;branch=3.20.x \ + git://github.com/gflags/gflags.git;protocol=https;destsuffix=git/thirdparty/gflags/gflags;name=gflags;nobranch=1 \ + git://github.com/madler/zlib.git;protocol=https;destsuffix=git/thirdparty/zlib/zlib;name=zlib;nobranch=1 \ + git://github.com/openvinotoolkit/mlas.git;protocol=https;destsuffix=git/src/plugins/intel_cpu/thirdparty/mlas;name=mlas;nobranch=1 \ + git://github.com/nodejs/node-api-headers.git;protocol=https;destsuffix=git/node-api-headers-src;name=node-api-headers;nobranch=1 \ + git://github.com/nodejs/node-addon-api.git;protocol=https;destsuffix=git/node-addon-api-src;name=node-addon-api;nobranch=1 \ + file://0001-cmake-yocto-specific-tweaks-to-the-build-process.patch \ + file://0003-cmake-Fix-overloaded-virtual-error.patch \ + file://0004-protobuf-allow-target-protoc-to-be-built.patch \ + file://0001-cmake-fix-build-when-using-sysroot.patch \ + file://0001-CPU-Solving-the-build-failure-caused-by-setting-the-.patch \ + " + +SRCREV_openvino = "34caeefd07800b59065345d651949efbe8ab6649" +SRCREV_mkl = "f82148befdbdc9576ec721c9d500155ee4de8060" +SRCREV_onednn = "494af5f9921bdae98f1a0e2955fa7d76ff386c4f" +SRCREV_xbyak = "740dff2e866f3ae1a70dd42d6e8836847ed95cc2" +SRCREV_json = "9cca280a4d0ccf0c08f47a99aa71d1b0e52f8d03" +SRCREV_ade = "0e8a2ccdd34f29dba55894f5f3c5179809888b9e" +SRCREV_protobuf = "fe271ab76f2ad2b2b28c10443865d2af21e27e0e" +SRCREV_gflags = "e171aa2d15ed9eb17054558e0b3a6a413bb01067" +SRCREV_zlib = "09155eaa2f9270dc4ed1fa13e2b4b2613e6e4851" +SRCREV_mlas = "d1bc25ec4660cddd87804fcf03b2411b5dfb2e94" +SRCREV_node-api-headers = "186e04b5e40e54d7fd1655bc67081cc483f12488" +SRCREV_node-addon-api = "39a25bf27788ff7a7ea5c64978c4dcd1e7b9d80d" +SRCREV_FORMAT = "openvino_mkl_onednn_xbyak_json_ade_protobuf_gflags_zlib_node-api-headers_node-addon-api_mlas" + +LICENSE = "Apache-2.0 & MIT & BSD-3-Clause & Zlib" +LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ + file://thirdparty/xbyak/COPYRIGHT;md5=3c98edfaa50a86eeaef4c6109e803f16 \ + file://thirdparty/cnpy/LICENSE;md5=689f10b06d1ca2d4b1057e67b16cd580 \ + file://thirdparty/json/nlohmann_json/LICENSE.MIT;md5=f969127d7b7ed0a8a63c2bbeae002588 \ + file://thirdparty/ade/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://thirdparty/gflags/gflags/COPYING.txt;md5=c80d1a3b623f72bb85a4c75b556551df \ + file://thirdparty/zlib/zlib/LICENSE;md5=b51a40671bc46e961c0498897742c0b8 \ + file://src/plugins/intel_cpu/thirdparty/mlas/LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \ + file://src/plugins/intel_cpu/thirdparty/onednn/LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \ + file://src/plugins/intel_gpu/thirdparty/onednn_gpu/LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \ + file://node-api-headers-src/LICENSE;md5=6adb2909701d4605b4b2ae1a9b25d8bd \ + file://node-addon-api-src/LICENSE.md;md5=0492ef29a9d558a3e9660e7accc9ca6a \ +" + +inherit cmake python3native pkgconfig qemu + +S = "${WORKDIR}/git" +EXTRA_OECMAKE += " \ + -DCMAKE_CROSSCOMPILING_EMULATOR=${WORKDIR}/qemuwrapper \ + -DENABLE_OPENCV=OFF \ + -DENABLE_INTEL_GNA=OFF \ + -DENABLE_SYSTEM_TBB=ON \ + -DPYTHON_EXECUTABLE=${PYTHON} \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DTHREADING=TBB -DTBB_DIR="${STAGING_LIBDIR}/cmake/TBB" \ + -DTREAT_WARNING_AS_ERROR=FALSE \ + -DENABLE_DATA=FALSE \ + -DENABLE_SYSTEM_PUGIXML=TRUE \ + -DENABLE_OV_ONNX_FRONTEND=FALSE \ + -DUSE_BUILD_TYPE_SUBFOLDER=OFF \ + -DENABLE_FUZZING=OFF \ + -DENABLE_TBBBIND_2_5=OFF \ + -DCPACK_GENERATOR=RPM \ + -DENABLE_SYSTEM_FLATBUFFERS=ON \ + -DENABLE_SYSTEM_SNAPPY=ON \ + -DFETCHCONTENT_BASE_DIR="${S}" \ + " + +DEPENDS += "\ + flatbuffers-native \ + pugixml \ + python3-pybind11 \ + python3-pybind11-native \ + qemu-native \ + snappy \ + tbb \ + " + +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:libc-musl = "null" + +PACKAGECONFIG ?= "opencl samples" +PACKAGECONFIG[opencl] = "-DENABLE_INTEL_GPU=TRUE, -DENABLE_INTEL_GPU=FALSE, virtual/opencl-icd opencl-headers opencl-clhpp," +PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR} -DENABLE_PYTHON_PACKAGING=ON, -DENABLE_PYTHON=OFF, patchelf-native, python3 python3-numpy python3-progress" +PACKAGECONFIG[samples] = "-DENABLE_SAMPLES=ON -DENABLE_COMPILE_TOOL=ON, -DENABLE_SAMPLES=OFF -DENABLE_COMPILE_TOOL=OFF, opencv" +PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0" + +do_configure:prepend() { + # Dont set PROJECT_ROOT_DIR + sed -i -e 's:\${OpenVINO_SOURCE_DIR}::;' ${S}/src/CMakeLists.txt + + # qemu wrapper that can be used by cmake to run target binaries. + 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 +} + +do_install:append() { + rm -rf ${D}${prefix}/install_dependencies + rm -rf ${D}${prefix}/setupvars.sh + + find ${B}/src/plugins/intel_cpu/cross-compiled/ -type f -name *_disp.cpp -exec sed -i -e 's%'"${S}"'%'"${TARGET_DBGSRC_DIR}"'%g' {} + +} + +# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR +# instead of RSS +SSTATE_SCAN_FILES:append = " *.cmake" + +FILES:${PN} += "\ + ${libdir}/openvino-${PV}/lib*${SOLIBSDEV} \ + ${libdir}/openvino-${PV}/plugins.xml \ + ${libdir}/openvino-${PV}/cache.json \ + " + +# Move inference engine samples into a separate package +PACKAGES =+ "${PN}-samples" + +FILES:${PN}-samples = "${datadir}/openvino \ + ${bindir} \ + ${libdir}/libformat_reader.a \ + ${libdir}/libopencv_c_wrapper.a \ + " +RDEPENDS:${PN}-samples += "python3-core" + +# Package for inference engine python API +PACKAGES =+ "${PN}-python3" + +FILES:${PN}-python3 = "${PYTHON_SITEPACKAGES_DIR}" + +UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$" diff --git a/lib/oeqa/runtime/cases/jhi.py b/lib/oeqa/runtime/cases/jhi.py deleted file mode 100644 index 7a24b6da..00000000 --- a/lib/oeqa/runtime/cases/jhi.py +++ /dev/null @@ -1,41 +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 JhiTest(OERuntimeTestCase): - - @classmethod - def tearDownClass(cls): - _, output = cls.tc.target.run('pidof jhid') - cls.tc.target.run('kill %s' % output) - - @OEHasPackage(['openssh-sshd']) - @OEHasPackage(['jhi']) - def test_jhi_mei_driver(self): - command = 'ls /dev/mei*' - (status, output) = self.target.run(command) - self.assertEqual(status, 0, msg="Error messages: %s" % output) - - @OETestDepends(['jhi.JhiTest.test_jhi_mei_driver']) - def test_jhi_daemon_version(self): - command = 'jhid -v' - (status, output) = self.target.run(command) - self.assertEqual(status, 0, msg="Error messages: %s" % output) - - @OETestDepends(['jhi.JhiTest.test_jhi_mei_driver']) - def test_jhi_daemon_can_initialized(self): - command = 'jhid -d' - (status, output) = self.target.run(command) - self.assertEqual(status, 0, msg="Error messages: %s" % output) - - @OEHasPackage(['jhi-test']) - @OETestDepends(['jhi.JhiTest.test_jhi_daemon_can_initialized']) - def test_jhi_bist(self): - (status, output) = self.target.run('uname -m') - self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) - if 'x86_64' not in output: - self.skipTest("Skipped jhi bist test if not x86_64 machine (current machine: %s)." % output) - command = 'bist' - (status, output) = self.target.run(command) - self.assertEqual(status, 0, msg="Error messages: %s" % output) diff --git a/lib/oeqa/runtime/cases/microcode.py b/lib/oeqa/runtime/cases/microcode.py index 6ce36a6f..52c1cdb4 100644 --- a/lib/oeqa/runtime/cases/microcode.py +++ b/lib/oeqa/runtime/cases/microcode.py @@ -16,20 +16,15 @@ class MicrocodeTest(OERuntimeTestCase): @OEHasPackage(["iucode-tool"]) def test_microcode_update(self): - (status, output) = self.target.run('iucode_tool /lib/firmware/intel-ucode/ -tb -lS | grep rev') - if status: - self.skipTest("The iucode_tool detected no microcode for update.") + (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*)") - self.assertTrue(selected_rev_list, msg="Could not find any rev from iucode_tool selected microcode.") - (status, output) = self.target.run('dmesg | grep microcode') - self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + (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*)") - self.assertTrue(updated_rev_list, msg="Could not find any updated revision from microcode dmesg.") + 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)" % diff --git a/lib/oeqa/runtime/cases/parselogs-ignores-intel-core2-32.txt b/lib/oeqa/runtime/cases/parselogs-ignores-intel-core2-32.txt new file mode 100644 index 00000000..84ce8168 --- /dev/null +++ b/lib/oeqa/runtime/cases/parselogs-ignores-intel-core2-32.txt @@ -0,0 +1,9 @@ +# These should be reviewed to see if they are still needed +ACPI: No _BQC method, cannot determine initial brightness +[Firmware Bug]: ACPI: No _BQC method, cannot determine initial brightness +(EE) Failed to load module "psb" +(EE) Failed to load module "psbdrv" +(EE) open /dev/fb0: No such file or directory +(EE) AIGLX: reverting to software rendering +dmi: Firmware registration failed. +ioremap error for 0x78 diff --git a/lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt b/lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt new file mode 100644 index 00000000..5c9b4bc7 --- /dev/null +++ b/lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt @@ -0,0 +1,14 @@ +# These should be reviewed to see if they are still needed +can't set Max Payload Size to 256 +intel_punit_ipc: can't request region for resource +[drm] parse error at position 4 in video mode 'efifb' +ACPI Error: Could not enable RealTimeClock event +ACPI Warning: Could not enable fixed event - RealTimeClock +hci_intel INT33E1:00: Unable to retrieve gpio +hci_intel: probe of INT33E1:00 failed +can't derive routing for PCI INT A +failed to read out thermal zone +Bluetooth: hci0: Setting Intel event mask failed +ttyS2 - failed to request DMA +Bluetooth: hci0: Failed to send firmware data (-38) +atkbd serio0: Failed to enable keyboard on isa0060/serio0 diff --git a/lib/oeqa/runtime/cases/thermald.py b/lib/oeqa/runtime/cases/thermald.py index b0efecd8..a0b6a92b 100644 --- a/lib/oeqa/runtime/cases/thermald.py +++ b/lib/oeqa/runtime/cases/thermald.py @@ -19,7 +19,7 @@ class ThermaldTest(OERuntimeTestCase): 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(2) + time.sleep(5) __, output = self.target.run('pidof thermald') self.target.run('kill -9 %s' % output) @@ -27,7 +27,8 @@ class ThermaldTest(OERuntimeTestCase): # 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') - self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output)) + if status: + self.skipTest("CONFIG_THERMAL_EMULATION is not set") @OEHasPackage(['thermald']) @OETestDepends(['thermald.ThermaldTest.test_thermald_emulation_mode']) @@ -38,7 +39,8 @@ class ThermaldTest(OERuntimeTestCase): td_thread = threading.Thread(target=self.run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process, args=(x86_thermal_zone_index,)) td_thread.start() - status, output = self.target.run('thermald --no-daemon --loglevel=info') + 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) diff --git a/recipes-bsp/formfactor/formfactor_0.0.bbappend b/recipes-bsp/formfactor/formfactor_0.0.bbappend index 6dd422ae..d21c3bee 100644 --- a/recipes-bsp/formfactor/formfactor_0.0.bbappend +++ b/recipes-bsp/formfactor/formfactor_0.0.bbappend @@ -1 +1 @@ -FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:" +FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/${PN}:" diff --git a/recipes-bsp/intel-cmt-cat/intel-cmt-cat_23.11.1.bb b/recipes-bsp/intel-cmt-cat/intel-cmt-cat_23.11.1.bb new file mode 100644 index 00000000..60d0dfd2 --- /dev/null +++ b/recipes-bsp/intel-cmt-cat/intel-cmt-cat_23.11.1.bb @@ -0,0 +1,29 @@ +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 = "b26b31b0ae6980c5939a421cefe0316cae884626" + +S = "${WORKDIR}/git" + +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" diff --git a/recipes-bsp/metee/metee_2.2.2.bb b/recipes-bsp/metee/metee_3.2.4.bb index 0bd10b02..da8220b9 100644 --- a/recipes-bsp/metee/metee_2.2.2.bb +++ b/recipes-bsp/metee/metee_3.2.4.bb @@ -10,8 +10,9 @@ COMPATIBLE_HOST = '(i.86|x86_64).*-linux' inherit cmake -SRC_URI = "git://github.com/intel/metee.git" -SRCREV = "f4761a13bd7b3e5d1b7d9f56a1d64b3b0c13d6e6" +SRC_URI = "git://github.com/intel/metee.git;branch=master;protocol=https \ +" +SRCREV = "db45e37e146fd9c06907a15ade55eba06ad1f951" S = "${WORKDIR}/git" diff --git a/recipes-bsp/thermald/thermald/0001-configure.ac-disable-werror.patch b/recipes-bsp/thermald/thermald/0001-configure.ac-disable-werror.patch deleted file mode 100644 index b8639e0e..00000000 --- a/recipes-bsp/thermald/thermald/0001-configure.ac-disable-werror.patch +++ /dev/null @@ -1,27 +0,0 @@ -From b20692607ec8b0895c5ac0c23b0393ad3048640d Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Mon, 22 Jun 2020 09:34:51 +0800 -Subject: [PATCH] configure.ac: disable werror - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - configure.ac | 1 - - 1 file changed, 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 7d6c13c..3e1a8bf 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -84,7 +84,6 @@ for flag in \ - -Wall \ - -Wclobbered \ - -Wempty-body \ -- -Werror \ - -Wformat \ - -Wignored-qualifiers \ - -Wmissing-field-initializers \ --- -2.25.4 - diff --git a/recipes-core/images/core-image-minimal-initramfs.bbappend b/recipes-core/images/core-image-minimal-initramfs.bbappend index 132f15b5..90ac28fd 100644 --- a/recipes-core/images/core-image-minimal-initramfs.bbappend +++ b/recipes-core/images/core-image-minimal-initramfs.bbappend @@ -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" diff --git a/recipes-core/images/core-image-tiny.bb b/recipes-core/images/core-image-tiny.bb index 6b09b0c2..f521f668 100644 --- a/recipes-core/images/core-image-tiny.bb +++ b/recipes-core/images/core-image-tiny.bb @@ -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" diff --git a/recipes-core/libxcam/libxcam/0001-fake_v4l2_device.h-fix-narrowing-warning.patch b/recipes-core/libxcam/libxcam/0001-fake_v4l2_device.h-fix-narrowing-warning.patch new file mode 100644 index 00000000..f15d5cc7 --- /dev/null +++ b/recipes-core/libxcam/libxcam/0001-fake_v4l2_device.h-fix-narrowing-warning.patch @@ -0,0 +1,94 @@ +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 + diff --git a/recipes-core/libxcam/libxcam/0001-test-soft-image.cpp-fix-header-path.patch b/recipes-core/libxcam/libxcam/0001-test-soft-image.cpp-fix-header-path.patch deleted file mode 100644 index 67db3e4c..00000000 --- a/recipes-core/libxcam/libxcam/0001-test-soft-image.cpp-fix-header-path.patch +++ /dev/null @@ -1,37 +0,0 @@ -From 8f8a1d131a05aa1494825f0fae32580cbed680e5 Mon Sep 17 00:00:00 2001 -From: Naveen Saini <naveen.kumar.saini@intel.com> -Date: Thu, 25 Jun 2020 14:22:59 +0800 -Subject: [PATCH] test-soft-image.cpp: fix header path - -throw compilation error: - | ../../git/tests/test-soft-image.cpp:31:10: fatal error: xcore/fisheye_dewarp.h: No such file or directory -| 31 | #include <xcore/fisheye_dewarp.h> -| | ^~~~~~~~~~~~~~~~~~~~~~~~ -| compilation terminated. - -TEST_BASE_CXXFLAGS already includes -I$(top_srcdir)/xcore - -Ref: https://github.com/intel/libxcam/blob/1.4.0/tests/Makefile.am#L48 - -Upstream-Status: Submitted [https://github.com/intel/libxcam/pull/734] -Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> ---- - tests/test-soft-image.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/tests/test-soft-image.cpp b/tests/test-soft-image.cpp -index a9e02d8..1c687e5 100644 ---- a/tests/test-soft-image.cpp -+++ b/tests/test-soft-image.cpp -@@ -28,7 +28,7 @@ - #include <interface/blender.h> - #include <interface/geo_mapper.h> - #include <interface/stitcher.h> --#include <xcore/fisheye_dewarp.h> -+#include <fisheye_dewarp.h> - - #define MAP_WIDTH 3 - #define MAP_HEIGHT 4 --- -2.17.1 - diff --git a/recipes-core/libxcam/libxcam/0002-fix-build-with-vulkan-1.2.140.patch b/recipes-core/libxcam/libxcam/0002-fix-build-with-vulkan-1.2.140.patch deleted file mode 100644 index 05c391ab..00000000 --- a/recipes-core/libxcam/libxcam/0002-fix-build-with-vulkan-1.2.140.patch +++ /dev/null @@ -1,37 +0,0 @@ -Upstream-Status: Backport -[https://github.com/intel/libxcam/commit/ebd4d0e034c6536b8a365f5a079749041ab6a7b7] - -From ebd4d0e034c6536b8a365f5a079749041ab6a7b7 Mon Sep 17 00:00:00 2001 -From: StefanBruens <stefan.bruens@rwth-aachen.de> -Date: Thu, 23 Jul 2020 22:03:06 +0200 -Subject: [PATCH] Fix build with Vulkan 1.2.140 and later - -1.2.140 removed the various _BEGIN_RANGE, _END_RANGE -and _RANGE_SIZE macros, see e.g. -https://gitlab.freedesktop.org/mesa/mesa/-/commit/b0cb38f36085ccee6e71b6e50cb4f094d7f03c58#b04a2be508b96c4286a9f20523ba531cd4f7176a_1050_1032 ---- - modules/vulkan/vk_instance.cpp | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/modules/vulkan/vk_instance.cpp b/modules/vulkan/vk_instance.cpp -index e856be64..6bc2c38c 100644 ---- a/modules/vulkan/vk_instance.cpp -+++ b/modules/vulkan/vk_instance.cpp -@@ -131,14 +131,14 @@ VKInstance::query_physical_info () - dev_num = XCAM_MIN (dev_num, MAX_DEV_NUM); - vkEnumeratePhysicalDevices (_instance_id, &dev_num, devs); - -- VkPhysicalDevice gpu_dev[VK_PHYSICAL_DEVICE_TYPE_RANGE_SIZE] = {}; -+ VkPhysicalDevice gpu_dev[VK_PHYSICAL_DEVICE_TYPE_CPU + 1] = {}; - - VkPhysicalDeviceProperties dev_prop; - for (uint32_t i = 0; i < dev_num; ++i) { - vkGetPhysicalDeviceProperties (devs[i], &dev_prop); - -- if (dev_prop.deviceType < VK_PHYSICAL_DEVICE_TYPE_BEGIN_RANGE || -- dev_prop.deviceType > VK_PHYSICAL_DEVICE_TYPE_END_RANGE) { -+ if (dev_prop.deviceType < VK_PHYSICAL_DEVICE_TYPE_OTHER || -+ dev_prop.deviceType > VK_PHYSICAL_DEVICE_TYPE_CPU) { - continue; - } - if (gpu_dev[dev_prop.deviceType]) { diff --git a/recipes-core/libxcam/libxcam_1.4.0.bb b/recipes-core/libxcam/libxcam_1.5.0.bb index bcbd14ac..31e9344b 100644 --- a/recipes-core/libxcam/libxcam_1.4.0.bb +++ b/recipes-core/libxcam/libxcam_1.5.0.bb @@ -7,13 +7,12 @@ SECTION = "lib" inherit autotools pkgconfig S = "${WORKDIR}/git" -SRCREV = "e0d740f0706f7902d4f262b649d42b1b48c5e4e3" -SRC_URI = "git://github.com/intel/libxcam.git;branch=1.4.0; \ - file://0001-test-soft-image.cpp-fix-header-path.patch \ - file://0002-fix-build-with-vulkan-1.2.140.patch \ +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" +COMPATIBLE_HOST:libc-musl = "null" PACKAGECONFIG ??= " gst \ ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "gles", "", d)} \ @@ -29,12 +28,12 @@ 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 () { +do_install:append () { install -d ${D}${bindir}/libxcam cp -r ${WORKDIR}/build/tests/.libs/* ${D}${bindir}/libxcam/ } -FILES_${PN} += "${libdir}/gstreamer-*/*.so" -FILES_${PN}-test = "${bindir}/libxcam/*" +FILES:${PN} += "${libdir}/gstreamer-*/*.so" +FILES:${PN}-test = "${bindir}/libxcam/*" PACKAGES =+ "${PN}-test" -RDEPENDS_${PN}-test =+ "bash" +RDEPENDS:${PN}-test =+ "bash" diff --git a/recipes-core/meta/icx-environment.inc b/recipes-core/meta/icx-environment.inc new file mode 100644 index 00000000..65322a91 --- /dev/null +++ b/recipes-core/meta/icx-environment.inc @@ -0,0 +1,15 @@ +export ICX_LDFLAGS_OPTION = " -Wl,-dynamic-linker,/lib/ld-linux-x86-64.so.2" +export ICXSDK_PREFIX_OPTION = "-B ${TARGET_PREFIX}" +export ICXQSDK_PREFIX_OPTION = "-qgnu-prefix=${TARGET_PREFIX}" + +create_sdk_files:append() { + script=${SDK_OUTPUT}/${SDKPATH}/environment-setup-${REAL_MULTIMACH_TARGET_SYS} + if ${@bb.utils.contains('ICXSDK', '1', 'true', 'false', d)}; then + echo 'export ICX="icx ${ICXSDK_PREFIX_OPTION} --target=${TARGET_SYS} ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT ${ICX_LDFLAGS_OPTION}"' >> $script + echo 'export ICXCXX="icpx ${ICXSDK_PREFIX_OPTION} --target=${TARGET_SYS} ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT ${ICX_LDFLAGS_OPTION}"' >> $script + echo 'export ICXCPP="icx ${ICXSDK_PREFIX_OPTION} -E --target=${TARGET_SYS} ${TARGET_CC_ARCH} --sysroot=$SDKTARGETSYSROOT ${ICX_LDFLAGS_OPTION}"' >> $script + echo 'export ICXLD="xild --sysroot=$SDKTARGETSYSROOT "' >> $script + echo 'export ICXCCLD="icx ${ICXSDK_PREFIX_OPTION} --sysroot=$SDKTARGETSYSROOT"' >> $script + echo 'export ICXAR="xiar ${ICXQSDK_PREFIX_OPTION}"' >> $script + fi +} diff --git a/recipes-core/meta/meta-environment-extsdk.bbappend b/recipes-core/meta/meta-environment-extsdk.bbappend new file mode 100644 index 00000000..2cff6fc4 --- /dev/null +++ b/recipes-core/meta/meta-environment-extsdk.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +require ${@bb.utils.contains('ICXSDK', '1', 'icx-environment.inc', '', d)} diff --git a/recipes-core/meta/meta-environment.bbappend b/recipes-core/meta/meta-environment.bbappend new file mode 100644 index 00000000..2cff6fc4 --- /dev/null +++ b/recipes-core/meta/meta-environment.bbappend @@ -0,0 +1,3 @@ +FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:" + +require ${@bb.utils.contains('ICXSDK', '1', 'icx-environment.inc', '', d)} diff --git a/recipes-core/microcode/intel-microcode_20201118.bb b/recipes-core/microcode/intel-microcode_20240312.bb index b47c8157..00b18231 100644 --- a/recipes-core/microcode/intel-microcode_20201118.bb +++ b/recipes-core/microcode/intel-microcode_20240312.bb @@ -11,12 +11,12 @@ DESCRIPTION = "The microcode data file contains the latest microcode\ if the file is placed in the /etc/firmware directory of the Linux system." LICENSE = "Intel-Microcode-License" -LIC_FILES_CHKSUM = "file://license;md5=6b58767419df274d2409b294ddae17e6" +LIC_FILES_CHKSUM = "file://license;md5=d8405101ec6e90c1d84b082b0c40c721" SRC_URI = "git://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git;protocol=https;branch=main \ " -SRCREV = "49bb67f32a2e3e631ba1a9a73da1c52e1cac7fd9" +SRCREV = "41af34500598418150aa298bb04e7edacc547897" DEPENDS = "iucode-tool-native" S = "${WORKDIR}/git" @@ -34,12 +34,6 @@ do_compile() { ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \ ${UCODE_FILTER_PARAMETERS} \ --overwrite \ - --write-to=${WORKDIR}/microcode_${PV}.bin \ - ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/* - - ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \ - ${UCODE_FILTER_PARAMETERS} \ - --overwrite \ --write-earlyfw=${WORKDIR}/microcode_${PV}.cpio \ ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/* } @@ -47,6 +41,7 @@ do_compile() { do_install() { install -d ${D}${nonarch_base_libdir}/firmware/intel-ucode/ ${STAGING_DIR_NATIVE}${sbindir_native}/iucode_tool \ + ${UCODE_FILTER_PARAMETERS} \ --write-firmware=${D}${nonarch_base_libdir}/firmware/intel-ucode \ ${S}/intel-ucode/* ${S}/intel-ucode-with-caveats/* } @@ -63,6 +58,6 @@ addtask deploy before do_build after do_compile PACKAGES = "${PN}" -FILES_${PN} = "${nonarch_base_libdir}" +FILES:${PN} = "${nonarch_base_libdir}" UPSTREAM_CHECK_GITTAGREGEX = "^microcode-(?P<pver>(\d+)[a-z]*)$" diff --git a/recipes-core/microcode/iucode-tool_2.3.1.bb b/recipes-core/microcode/iucode-tool_2.3.1.bb index df74a8e9..19417b7c 100644 --- a/recipes-core/microcode/iucode-tool_2.3.1.bb +++ b/recipes-core/microcode/iucode-tool_2.3.1.bb @@ -12,14 +12,14 @@ DESCRIPTION = "iucode_tool is a program to manipulate Intel i686 and X86-64\ HOMEPAGE = "https://gitlab.com/iucode-tool/" BUGTRACKER = "https://bugs.debian.org/cgi-bin/pkgreport.cgi?ordering=normal;archive=0;src=iucode-tool;repeatmerged=0" -LICENSE = "GPLv2+" +LICENSE = "GPL-2.0-or-later" LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ file://iucode_tool.c;beginline=1;endline=15;md5=71eeab3190360ff0267101b570874756" -DEPENDS_append_libc-musl = " argp-standalone" +DEPENDS:append:libc-musl = " argp-standalone" SRC_URI = "https://gitlab.com/iucode-tool/releases/raw/master/iucode-tool_${PV}.tar.xz" -SRC_URI_append_libc-musl = " file://0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch" +SRC_URI:append:libc-musl = " file://0001-Makefile.am-Add-arg-parse-library-for-MUSL-support.patch" SRC_URI[md5sum] = "63b33cc0ea1f8c73b443412abbf39d6f" SRC_URI[sha256sum] = "12b88efa4d0d95af08db05a50b3dcb217c0eb2bfc67b483779e33d498ddb2f95" diff --git a/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch b/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch index c13363d2..7eb3bc69 100644 --- a/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch +++ b/recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch @@ -1,6 +1,6 @@ -From 149b34de80e7f9f5331c285b862776cdd4b02ee3 Mon Sep 17 00:00:00 2001 +From b2099e7184d48a6d05c8713b6fd5dac0e2e70963 Mon Sep 17 00:00:00 2001 From: Mikko Ylinen <mikko.ylinen@linux.intel.com> -Date: Fri, 7 Apr 2017 12:06:14 +0300 +Date: Wed, 2 Mar 2022 10:55:35 +0800 Subject: [PATCH] ovmf: RefkitTestCA: TEST UEFI SecureBoot This patch adds refkit-db.cer (via xxd -i) in OVMF's db @@ -9,25 +9,23 @@ application. It's used for testing purposes only. Images signed with refkit-db keys are allowed to boot. -Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> - -[ Change location of key to AuthData.c ] -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +Upstream-Status: Inappropriate -%% original patch: 0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch +Signed-off-by: Mikko Ylinen <mikko.ylinen@linux.intel.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> --- - OvmfPkg/EnrollDefaultKeys/AuthData.c | 68 +++++++++++++++++++ - OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 1 + + OvmfPkg/EnrollDefaultKeys/AuthData.c | 69 +++++++++++++++++++ + OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c | 3 + OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h | 2 + - 3 files changed, 71 insertions(+) + 3 files changed, 74 insertions(+) diff --git a/OvmfPkg/EnrollDefaultKeys/AuthData.c b/OvmfPkg/EnrollDefaultKeys/AuthData.c -index 3b4856a01f..7109766296 100644 +index 53ee7f7003..127131cd05 100644 --- a/OvmfPkg/EnrollDefaultKeys/AuthData.c +++ b/OvmfPkg/EnrollDefaultKeys/AuthData.c -@@ -398,6 +398,74 @@ CONST UINT8 mMicrosoftUefiCa[] = { +@@ -395,6 +395,75 @@ CONST UINT8 mMicrosoftUefiCa[] = { - CONST UINTN mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
+ CONST UINTN mSizeOfMicrosoftUefiCa = sizeof mMicrosoftUefiCa;
+CONST UINT8 mRefkitTestCA[] = {
+ 0x30, 0x82, 0x02, 0xfb, 0x30, 0x82, 0x01, 0xe3, 0xa0, 0x03, 0x02, 0x01,
@@ -97,32 +95,35 @@ index 3b4856a01f..7109766296 100644 +};
+
+CONST UINTN mSizeOfRefkitTestCA = sizeof mRefkitTestCA;
-
++
//
// The Microsoft.UefiSecureBootLogo.Tests.OutOfBoxConfirmDBXisPresent test case
+ // of the Secure Boot Logo Test in the Microsoft Hardware Certification Kit
diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c -index f45cb799f7..fb1252e768 100644 +index 094e4c821b..0a7eef54dc 100644 --- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c +++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.c -@@ -615,6 +615,7 @@ ShellAppMain ( - &gEfiCertX509Guid,
- mMicrosoftPca, mSizeOfMicrosoftPca, &gMicrosoftVendorGuid,
- mMicrosoftUefiCa, mSizeOfMicrosoftUefiCa, &gMicrosoftVendorGuid,
-+ mRefkitTestCA, mSizeOfRefkitTestCA, &gEfiCallerIdGuid,
- NULL);
+@@ -702,6 +702,9 @@ ShellAppMain ( + mMicrosoftUefiCa,
+ mSizeOfMicrosoftUefiCa,
+ &gMicrosoftVendorGuid,
++ mRefkitTestCA,
++ mSizeOfRefkitTestCA,
++ &gEfiCallerIdGuid,
+ NULL
+ );
}
- if (EFI_ERROR (Status)) {
diff --git a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h -index 8e61f0a77b..e3fa046f95 100644 +index 56da9c71d6..8de1dfe4e0 100644 --- a/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h +++ b/OvmfPkg/EnrollDefaultKeys/EnrollDefaultKeys.h -@@ -135,4 +135,6 @@ extern CONST UINTN mSizeOfMicrosoftUefiCa; - extern CONST UINT8 mSha256OfDevNull[];
- extern CONST UINTN mSizeOfSha256OfDevNull;
+@@ -133,4 +133,6 @@ extern CONST UINTN mSizeOfMicrosoftUefiCa; + extern CONST UINT8 mSha256OfDevNull[];
+ extern CONST UINTN mSizeOfSha256OfDevNull;
+extern CONST UINT8 mRefkitTestCA[];
+extern CONST UINTN mSizeOfRefkitTestCA;
#endif /* ENROLL_DEFAULT_KEYS_H_ */
-- -2.21.0 +2.17.1 diff --git a/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb b/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb index b20f6e58..ca3cfc15 100644 --- a/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb +++ b/recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb @@ -1,10 +1,10 @@ require recipes-core/ovmf/ovmf-shell-image.bb -WKS_SEARCH_PATH_append = ":${COREBASE}/meta/recipes-core/ovmf" +WKS_SEARCH_PATH:append = ":${COREBASE}/meta/recipes-core/ovmf" QB_DRIVE_TYPE = "/dev/vd" -do_image_append() { +do_image:append() { cat > ${IMAGE_ROOTFS}/startup.nsh << EOF EnrollDefaultKeys reset diff --git a/recipes-core/ovmf/ovmf_%.bbappend b/recipes-core/ovmf/ovmf_%.bbappend index bbf5fa32..34a9dd1b 100644 --- a/recipes-core/ovmf/ovmf_%.bbappend +++ b/recipes-core/ovmf/ovmf_%.bbappend @@ -1,6 +1,6 @@ -FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:" +FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/files:" -SRC_URI_append_intel-x86-common = " \ +SRC_URI:append:intel-x86-common = " \ file://0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch \ " -PACKAGECONFIG_append_intel-x86-common = " secureboot" +PACKAGECONFIG:append:intel-x86-common = " secureboot" diff --git a/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend new file mode 100644 index 00000000..b5a5fdd4 --- /dev/null +++ b/recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend @@ -0,0 +1 @@ +RDEPENDS:${PN} += "${@bb.utils.contains('ICXSDK', '1', ' intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev ', '', d)}" diff --git a/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend new file mode 100644 index 00000000..608ea3d3 --- /dev/null +++ b/recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend @@ -0,0 +1 @@ +RRECOMMENDS:${PN}:append:intel-x86-common = "${@bb.utils.contains('ICXSDK', '1', ' intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev ', '', d)}" diff --git a/recipes-core/zlib/zlib-intel_1.2.11.1.jtkv6.3.bb b/recipes-core/zlib/zlib-intel_1.2.11.1.jtkv6.3.bb deleted file mode 100644 index 65303bff..00000000 --- a/recipes-core/zlib/zlib-intel_1.2.11.1.jtkv6.3.bb +++ /dev/null @@ -1,18 +0,0 @@ -require recipes-core/zlib/zlib_1.2.11.bb - -FILESEXTRAPATHS_append = ":${COREBASE}/meta/recipes-core/zlib/zlib" - -SUMMARY = "Zlib Compression Library (Intel-tuned)" - -PROVIDES = "zlib" - -SRC_URI_remove = "${SOURCEFORGE_MIRROR}/libpng/${BPN}/${PV}/${BPN}-${PV}.tar.xz" -SRC_URI_prepend = "git://github.com/jtkukunas/zlib.git;protocol=git " - -SRCREV = "a43a247bfa16ec5368747b5b64f11ea5ca033010" -S = "${WORKDIR}/git" - -RPROVIDES_${PN} += "zlib" -RPROVIDES_${PN}-ptest += "zlib-ptest" - -UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+)_jtkv(\d+(\.\d+)+))$" diff --git a/recipes-devtools/slimboot/slimboot-tools_git.bb b/recipes-devtools/slimboot/slimboot-tools_git.bb index 7d8b66be..b65b182d 100644 --- a/recipes-devtools/slimboot/slimboot-tools_git.bb +++ b/recipes-devtools/slimboot/slimboot-tools_git.bb @@ -4,11 +4,11 @@ binary file format understood by Slim Bootloader to load and initialize\ Operating Systems or Hypervisors." HOMEPAGE = "https://slimbootloader.github.io/tools/index.html" -SRC_URI = "git://github.com/slimbootloader/slimbootloader;protocol=https" -SRCREV = "9f146afd47e0ca204521826a583d55388850b216" +SRC_URI = "git://github.com/slimbootloader/slimbootloader;protocol=https;branch=master" +SRCREV = "df5bd0bc2a522afcb8945a6797592b04838db753" PV = "0.0.0+git${SRCPV}" LICENSE = "BSD-2-Clause-Patent" -LIC_FILES_CHKSUM = "file://LICENSE;md5=d1ed89007e7aa232a4dc1c59b6c9efc4" +LIC_FILES_CHKSUM = "file://LICENSE;md5=ef7fba7be2819ac13aaf5d0f842ce5d9" S = "${WORKDIR}/git" inherit python3native diff --git a/recipes-graphics/gmmlib/files/0001-Add-new-DG2-device-IDs-194.patch b/recipes-graphics/gmmlib/files/0001-Add-new-DG2-device-IDs-194.patch new file mode 100644 index 00000000..825c1f18 --- /dev/null +++ b/recipes-graphics/gmmlib/files/0001-Add-new-DG2-device-IDs-194.patch @@ -0,0 +1,37 @@ +From 8729d66800995a9b7e693bd78249932bd12383e1 Mon Sep 17 00:00:00 2001 +From: John Machado <john.machado@intel.com> +Date: Mon, 25 Mar 2024 11:13:27 +0530 +Subject: [PATCH] Add new DG2 device IDs (#194) + +Upstream-Status: Backport [https://github.com/intel/gmmlib/commit/dcc4b85ea3728c848b62fbb164c00f43b519b6fb] + +Signed-off-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com> +--- + Source/inc/common/igfxfmid.h | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/Source/inc/common/igfxfmid.h b/Source/inc/common/igfxfmid.h +index 7969779..8e2c955 100644 +--- a/Source/inc/common/igfxfmid.h ++++ b/Source/inc/common/igfxfmid.h +@@ -1932,6 +1932,8 @@ typedef enum __NATIVEGTTYPE + #define DEV_ID_56BB 0x56BB + #define DEV_ID_56BC 0x56BC + #define DEV_ID_56BD 0x56BD ++#define DEV_ID_56BE 0x56BE ++#define DEV_ID_56BF 0x56BF + #define DEV_ID_56C0 0x56C0 + #define DEV_ID_56C1 0x56C1 + +@@ -1992,6 +1994,8 @@ typedef enum __NATIVEGTTYPE + ( d == DEV_ID_5690 ) || \ + ( d == DEV_ID_5691 ) || \ + ( d == DEV_ID_5692 ) || \ ++ ( d == DEV_ID_56BE ) || \ ++ ( d == DEV_ID_56BF ) || \ + ( d == DEV_ID_56C0 ) || \ + ( d == DEV_ID_4F80 ) || \ + ( d == DEV_ID_4F81 ) || \ +-- +2.34.1 + diff --git a/recipes-graphics/gmmlib/files/0001-Introduce-ARL-H-support-172.patch b/recipes-graphics/gmmlib/files/0001-Introduce-ARL-H-support-172.patch new file mode 100644 index 00000000..ab4cb178 --- /dev/null +++ b/recipes-graphics/gmmlib/files/0001-Introduce-ARL-H-support-172.patch @@ -0,0 +1,42 @@ +From 2b267b72d6aaa922861b120da9c1543161797046 Mon Sep 17 00:00:00 2001 +From: John Machado <john.machado@intel.com> +Date: Fri, 9 Feb 2024 13:10:18 +0530 +Subject: [PATCH] Introduce ARL-H support (#172) + +Upstream-Status: Backport [https://github.com/intel/gmmlib/commit/544a8be6f66631e085c86c453aafd78b0e7f5179] +Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> +--- + Source/inc/common/igfxfmid.h | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/Source/inc/common/igfxfmid.h b/Source/inc/common/igfxfmid.h +index 99fc624..19aa505 100644 +--- a/Source/inc/common/igfxfmid.h ++++ b/Source/inc/common/igfxfmid.h +@@ -1966,6 +1966,11 @@ typedef enum __NATIVEGTTYPE + // ARL-S + #define DEV_ID_7D67 0x7D67 + ++// ARL-H ++#define DEV_ID_7D41 0x7D41 ++#define DEV_ID_7D51 0x7D51 ++#define DEV_ID_7DD1 0x7DD1 ++ + #define MGM_HAS 0 + + //#define SDG_HAS 1 //Reserve place for Springdale-G HAS +@@ -2012,6 +2017,11 @@ typedef enum __NATIVEGTTYPE + // Macro to identify ARL-S Device ID + #define GFX_IS_ARL_S(d) ( ( d == DEV_ID_7D67 ) ) + ++// Macro to identify ARL-H Device ID ++#define GFX_IS_ARL_H(d) ( ( d == DEV_ID_7D41 ) || \ ++ ( d == DEV_ID_7D51 ) || \ ++ ( d == DEV_ID_7DD1 )) ++ + //we define the highest cap and lower cap of stepping IDs + #define SI_REV_ID(lo,hi) (lo | hi<<16) + +-- +2.40.1 + diff --git a/recipes-graphics/gmmlib/gmmlib_20.4.1.bb b/recipes-graphics/gmmlib/gmmlib_22.3.15.bb index 786c14ef..875fbaf5 100644 --- a/recipes-graphics/gmmlib/gmmlib_20.4.1.bb +++ b/recipes-graphics/gmmlib/gmmlib_22.3.15.bb @@ -4,17 +4,19 @@ device specific and buffer management for the Intel(R) Graphics \ Compute Runtime for OpenCL(TM) and the Intel(R) Media Driver for VAAPI." LICENSE = "MIT" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=d9a6e772cd4c362ee4c8ef87c5aad843" +LIC_FILES_CHKSUM = "file://LICENSE.md;md5=465fe90caea3edd6a2cecb3f0c28a654" SRC_URI = " \ - git://github.com/intel/gmmlib.git;protocol=https \ + git://github.com/intel/gmmlib.git;protocol=https;branch=master \ + file://0001-Introduce-ARL-H-support-172.patch \ + file://0001-Add-new-DG2-device-IDs-194.patch \ " -SRCREV = "6f15b795e1511febf233b42d7dde603f52fcfdab" +SRCREV = "5fb4180e22695ad4e3c155cf680119913c9f44bc" S = "${WORKDIR}/git" -COMPATIBLE_HOST_x86-x32 = "null" +COMPATIBLE_HOST:x86-x32 = "null" UPSTREAM_CHECK_GITTAGREGEX = "^intel-gmmlib-(?P<pver>(\d+(\.\d+)+))$" diff --git a/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch b/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch index f07d466f..6d32da43 100644 --- a/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch +++ b/recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch @@ -9,7 +9,7 @@ exits, which causing hdcpd service failure. Added wait function to block parent process until child process exits. -Upstream-Status: Submitted[https://github.com/intel/hdcp/pull/17] +Upstream-Status: Submitted [https://github.com/intel/hdcp/pull/17] Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> --- diff --git a/recipes-graphics/hdcp/hdcp_20.2.0.bb b/recipes-graphics/hdcp/hdcp_21.2.0.bb index 016e8e0a..8529b5ab 100644 --- a/recipes-graphics/hdcp/hdcp_20.2.0.bb +++ b/recipes-graphics/hdcp/hdcp_21.2.0.bb @@ -9,7 +9,7 @@ SECTION = "lib" inherit pkgconfig cmake useradd systemd features_check -SRC_URI = "git://github.com/intel/hdcp.git \ +SRC_URI = "git://github.com/intel/hdcp.git;branch=master;protocol=https \ file://0001-main-fix-hdcpd-service-failure.patch \ " SRCREV = "cacc352159c5bdaf1c21846cecdd1eb7b031e1d3" @@ -20,7 +20,7 @@ REQUIRED_DISTRO_FEATURES = "systemd" DEPENDS = "libdrm virtual/mesa systemd" USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false --gid nogroup media" +USERADD_PARAM:${PN} = "--system --no-create-home --shell /bin/false --gid nogroup media" -SYSTEMD_SERVICE_${PN} = "hdcpd.service" +SYSTEMD_SERVICE:${PN} = "hdcpd.service" SYSTEMD_AUTO_ENABLE = "disable" diff --git a/recipes-graphics/libva/libva-intel-utils_2.10.0.bb b/recipes-graphics/libva/libva-intel-utils_2.20.1.bb index 137c5e6f..9c26f009 100644 --- a/recipes-graphics/libva/libva-intel-utils_2.10.0.bb +++ b/recipes-graphics/libva/libva-intel-utils_2.20.1.bb @@ -14,8 +14,8 @@ SECTION = "x11" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e" -SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.10-branch" -SRCREV = "f112ee75fcd1472131b20f901b93f6ac1d293fad" +SRC_URI = "git://github.com/intel/libva-utils.git;branch=v2.20-branch;protocol=https" +SRCREV = "2ad888bb463dc9bfb3deb512ec9faf78f1d3bfa8" S = "${WORKDIR}/git" UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+(\.\d+)+))" @@ -32,4 +32,4 @@ PACKAGECONFIG[x11] = "-Dx11=true, -Dx11=false,virtual/libx11 libxext libxfixes" PACKAGECONFIG[wayland] = "-Dwayland=true, -Dwayland=false,wayland-native wayland" PROVIDES = "libva-utils" -RPROVIDES_${PN} += "libva-utils" +RPROVIDES:${PN} += "libva-utils" diff --git a/recipes-graphics/libva/libva-intel_2.10.0.bb b/recipes-graphics/libva/libva-intel_2.20.0.bb index b6eec9cd..c81ed65c 100644 --- a/recipes-graphics/libva/libva-intel_2.10.0.bb +++ b/recipes-graphics/libva/libva-intel_2.20.0.bb @@ -17,8 +17,9 @@ SECTION = "x11" LICENSE = "MIT" LIC_FILES_CHKSUM = "file://COPYING;md5=2e48940f94acb0af582e5ef03537800f" -SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2" -SRC_URI[sha256sum] = "fa81e35b50d9818fce5ec9eeeeff08a24a8864ceeb9a5c8e7ae4446eacfc0236" +SRC_URI = "https://github.com/intel/libva/releases/download/${PV}/libva-${PV}.tar.bz2 \ + " +SRC_URI[sha256sum] = "f72bdb4f48dfe71ad01f1cbefe069672a2c949a6abd51cf3c4d4784210badc49" S = "${WORKDIR}/libva-${PV}" @@ -40,15 +41,15 @@ PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wa PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland" -RDEPENDS_${PN}-x11 =+ "${PN}" -RDEPENDS_${PN}-glx =+ "${PN}-x11" +RDEPENDS:${PN}-x11 =+ "${PN}" +RDEPENDS:${PN}-glx =+ "${PN}-x11" -FILES_${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" -FILES_${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" -FILES_${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" +FILES:${PN}-x11 =+ "${libdir}/libva-x11*${SOLIBS}" +FILES:${PN}-glx =+ "${libdir}/libva-glx*${SOLIBS}" +FILES:${PN}-wayland =+ "${libdir}/libva-wayland*${SOLIBS}" PROVIDES += "libva" -RPROVIDES_${PN} += "libva" -RPROVIDES_${PN}-x11 += "libva-x11" -RPROVIDES_${PN}-glx += "libva-glx" -RPROVIDES_${PN}-wayland += "libva-wayland" +RPROVIDES:${PN} += "libva" +RPROVIDES:${PN}-x11 += "libva-x11" +RPROVIDES:${PN}-glx += "libva-glx" +RPROVIDES:${PN}-wayland += "libva-wayland" diff --git a/recipes-graphics/metrics-discovery/metrics-discovery/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch b/recipes-graphics/metrics-discovery/metrics-discovery/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch deleted file mode 100644 index d97c6543..00000000 --- a/recipes-graphics/metrics-discovery/metrics-discovery/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 8c11096a0e5cf980309692ae3e272108da5f2b4e Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Wed, 9 Oct 2019 11:36:56 -0700 -Subject: [PATCH] md_internal.h: Replace string.h with <string> C++ header API - -This helps in compiling with libc++/Clang -Fixes -usr/include/c++/v1/type_traits:1561:38: error: implicit instantiation of undefined template 'std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >' -: public integral_constant<bool, __is_empty(_Tp)> {}; -^ - -Upstream-Status: Submitted [https://github.com/intel/metrics-discovery/pull/14] -Signed-off-by: Khem Raj <raj.khem@gmail.com> ---- - instrumentation/metrics_discovery/common/md_internal.cpp | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/instrumentation/metrics_discovery/common/md_internal.cpp b/instrumentation/metrics_discovery/common/md_internal.cpp -index f9571ac..0767e81 100644 ---- a/instrumentation/metrics_discovery/common/md_internal.cpp -+++ b/instrumentation/metrics_discovery/common/md_internal.cpp -@@ -27,8 +27,8 @@ - \*****************************************************************************/ - #include "md_internal.h" - --#include <string.h> - #include <stdlib.h> -+#include <string> - #include <new> - #include <unordered_map> - --- -2.23.0 - diff --git a/recipes-graphics/metrics-discovery/metrics-discovery_1.5.108.bb b/recipes-graphics/metrics-discovery/metrics-discovery_1.12.170.bb index da7cb652..3ed1c9bd 100644 --- a/recipes-graphics/metrics-discovery/metrics-discovery_1.5.108.bb +++ b/recipes-graphics/metrics-discovery/metrics-discovery_1.12.170.bb @@ -8,9 +8,8 @@ SECTION = "lib" inherit pkgconfig cmake S = "${WORKDIR}/git" -SRCREV = "a495db4682b7318bc82b1cccfb17fafdf2e3a2ff" -SRC_URI = "git://github.com/intel/metrics-discovery.git \ - file://0001-md_internal.h-Replace-string.h-with-string-C-header-.patch \ +SRCREV = "75b292eb1309e4ea10dce403065ee8ca5bf29ecc" +SRC_URI = "git://github.com/intel/metrics-discovery.git;branch=master;protocol=https \ " EXTRA_OECMAKE += "-DMD_PLATFORM=linux" diff --git a/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb b/recipes-graphics/xorg-driver/xf86-video-ast_1.1.6.bb index 090efd62..d7e4eab4 100644 --- a/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb +++ b/recipes-graphics/xorg-driver/xf86-video-ast_1.1.6.bb @@ -7,6 +7,6 @@ DESCRIPTION = "ast is an Xorg driver for ASpeed Technologies video cards" LIC_FILES_CHKSUM = "file://COPYING;md5=0b8c242f0218eea5caa949b7910a774b" DEPENDS += "libpciaccess" +XORG_DRIVER_COMPRESSOR = ".tar.gz" -SRC_URI[md5sum] = "4f85febe48d51e53624550a96fc9e9ee" -SRC_URI[sha256sum] = "1edbbc55d47d3fd71dec99b15c2483e22738c642623a0fb86ef4a81a9067a2de" +SRC_URI[sha256sum] = "eeff52178ce2916a0e07b531bb23c8b105826b6e6e6c5f7c90e33f757827a7c7" diff --git a/recipes-kernel/intel-ethernet/ixgbe_5.9.4.bb b/recipes-kernel/intel-ethernet/ixgbe_5.19.6.bb index 70aabfdf..7ef38650 100644 --- a/recipes-kernel/intel-ethernet/ixgbe_5.9.4.bb +++ b/recipes-kernel/intel-ethernet/ixgbe_5.19.6.bb @@ -4,13 +4,13 @@ PCI Express* 10 Gigabit Network Connections." HOMEPAGE = "https://sourceforge.net/projects/e1000/" SECTION = "kernel/network" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417" SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/${PV}/${BP}.tar.gz \ " -SRC_URI[sha256sum] = "41f7fa9b8515b462c9fb01becbf75d23bb832c35488f0957a7c36487ce5e688d" +SRC_URI[sha256sum] = "a844f1fea8064e30b276792455c3b286c1d7af26731e8f865d4a4e9ed1dcf4ab" UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/" UPSTREAM_CHECK_REGEX = "ixgbe%20stable/(?P<pver>\d+(\.\d+)+)/" @@ -19,14 +19,14 @@ CVE_PRODUCT = "linux:linux_kernel_ixgbe" S = "${WORKDIR}/${BP}/src" -EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"' +EXTRA_OEMAKE=' KSRC="${STAGING_KERNEL_DIR}" KOBJ="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"' -KERNEL_MODULE_AUTOLOAD_append_intel-core2-32 = " ixgbe" -KERNEL_MODULE_AUTOLOAD_append_intel-corei7-64 = " ixgbe" +KERNEL_MODULE_AUTOLOAD:append:intel-core2-32 = " ixgbe" +KERNEL_MODULE_AUTOLOAD:append:intel-corei7-64 = " ixgbe" inherit module -do_install_append () { +do_install:append () { # Install scripts/set_irq_affinity install -d ${D}${sysconfdir}/network install -m 0755 ${S}/../scripts/set_irq_affinity ${D}${sysconfdir}/network @@ -36,6 +36,8 @@ do_install_append () { PACKAGES += "${PN}-script" -FILES_${PN}-script += "${sysconfdir}/network/set_irq_affinity" +FILES:${PN}-script += "${sysconfdir}/network/set_irq_affinity" EXCLUDE_FROM_WORLD = "1" + +CVE_STATUS[CVE-2015-1142857] = "fixed-version: Fixed from version 4.4-rc1" diff --git a/recipes-kernel/intel-ethernet/ixgbevf_4.9.3.bb b/recipes-kernel/intel-ethernet/ixgbevf_4.18.7.bb index 86f84809..b21796c6 100644 --- a/recipes-kernel/intel-ethernet/ixgbevf_4.9.3.bb +++ b/recipes-kernel/intel-ethernet/ixgbevf_4.18.7.bb @@ -7,13 +7,13 @@ The guest OS loading this driver must support MSI-X interrupts." HOMEPAGE = "https://sourceforge.net/projects/e1000/" SECTION = "kernel/network" -LICENSE = "GPLv2" +LICENSE = "GPL-2.0-only" LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417" SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/${PV}/${BP}.tar.gz \ " -SRC_URI[sha256sum] = "0a74665ac3e5e41b9bb12ef06617f3019980d2a66b3d1c52c33d3845dd557013" +SRC_URI[sha256sum] = "90f6cd614008839b6fc748ae0f4ad3503435f8b788318d4f40cfc83c7029025e" UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/" UPSTREAM_CHECK_REGEX = "ixgbevf%20stable/(?P<pver>\d+(\.\d+)+)/" @@ -22,14 +22,14 @@ CVE_PRODUCT = "linux:linux_kernel_ixgbe" S = "${WORKDIR}/${BP}/src" -EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"' +EXTRA_OEMAKE='KSRC="${STAGING_KERNEL_DIR}" KOBJ="${STAGING_KERNEL_BUILDDIR}" KVER="${KERNEL_VERSION}" INSTALL_MOD_PATH="${D}"' -KERNEL_MODULE_AUTOLOAD_append_intel-core2-32 = " ixgbevf" -KERNEL_MODULE_AUTOLOAD_append_intel-corei7-64 = " ixgbevf" +KERNEL_MODULE_AUTOLOAD:append:intel-core2-32 = " ixgbevf" +KERNEL_MODULE_AUTOLOAD:append:intel-corei7-64 = " ixgbevf" inherit module -do_install_append () { +do_install:append () { # Install scripts/set_irq_affinity install -d ${D}${sysconfdir}/network install -m 0755 ${S}/../scripts/set_irq_affinity ${D}${sysconfdir}/network @@ -39,4 +39,8 @@ do_install_append () { PACKAGES += "${PN}-script" -FILES_${PN}-script += "${sysconfdir}/network/set_irq_affinity" +FILES:${PN}-script += "${sysconfdir}/network/set_irq_affinity" + +CVE_STATUS[CVE-2015-1142857] = "fixed-version: Fixed from version 4.4-rc1" + +EXCLUDE_FROM_WORLD = "1" diff --git a/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb b/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb index 9eb0a45d..ea36cfc3 100644 --- a/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb +++ b/recipes-kernel/iwlwifi/backport-iwlwifi_git.bb @@ -1,13 +1,13 @@ SUMMARY = "Intel Wireless LinuxCore kernel driver" DESCRIPTION = "Intel Wireless LinuxCore kernel driver" SECTION = "kernel" -LICENSE = "GPL-2.0" +LICENSE = "GPL-2.0-only" REQUIRED_DISTRO_FEATURES = "wifi" -LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" +LIC_FILES_CHKSUM = "file://${S}/COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -inherit module +inherit module features_check # For some iwfwifi LinuxCore supported wireless chips, the best/latest # firmware blobs are found in the iwlwifi's linux-firmware.git fork. @@ -17,8 +17,8 @@ inherit module # When updating this recipe, ensure that the proper firmware is included from # either the linux-firmware or iwlwifi-firmware repos. -PV = "45" -SRCREV = "a75c1de6b3fa87885556c67619429cfa87cc048f" +PV = "79" +SRCREV = "574631d89d736fd2c76b0e2ea489270c50903e52" SRC_URI = " \ git://git.kernel.org/pub/scm/linux/kernel/git/iwlwifi/backport-iwlwifi;branch=release/core${PV} \ @@ -36,16 +36,18 @@ do_configure() { MODULES_INSTALL_TARGET="install" -do_install_append() { +do_install:append() { ## install configs and service scripts install -d ${D}${sysconfdir}/modprobe.d install -m 0644 ${WORKDIR}/iwlwifi.conf ${D}${sysconfdir}/modprobe.d } -RDEPENDS_${PN} = "linux-firmware-iwlwifi" +RDEPENDS:${PN} = "linux-firmware-iwlwifi" -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi" +FILES:${PN} += "${sysconfdir}/modprobe.d/iwlwifi.conf" + +KERNEL_MODULE_AUTOLOAD:append:core2-32-intel-common = " iwlwifi" +KERNEL_MODULE_AUTOLOAD:append:corei7-64-intel-common = " iwlwifi" KERNEL_MODULE_PACKAGE_PREFIX = "backport-iwlwifi" diff --git a/recipes-kernel/linux/linux-intel-dev.bb b/recipes-kernel/linux/linux-intel-dev.bb deleted file mode 100644 index abe6fb36..00000000 --- a/recipes-kernel/linux/linux-intel-dev.bb +++ /dev/null @@ -1,34 +0,0 @@ -require recipes-kernel/linux/linux-yocto.inc -require recipes-kernel/linux/meta-intel-compat-kernel.inc - -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-intel:" - -SRC_URI = " \ - git://github.com/intel/mainline-tracking.git;protocol=https;name=machine;nobranch=1; \ - git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${KMETA_BRANCH};destsuffix=${KMETA} \ - file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch \ - " -SRC_URI_append_core2-32-intel-common = " file://disable_skylake_sound.cfg" - -KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" - -KMETA_BRANCH = "master" - -LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" - -DEPENDS += "elfutils-native openssl-native util-linux-native" - -LINUX_VERSION ?= "5.8.0" -SRCREV_machine ?= "bcf876870b95592b52519ed4aafcf9d95999bc9c" -SRCREV_meta ?= "2bcb4b9e8a85412849095463d4b891d9bbfbd1ad" - -LINUX_VERSION_EXTENSION ?= "-mainline-tracking-${LINUX_KERNEL_TYPE}" -PV = "${LINUX_VERSION}+git${SRCPV}" - -COMPATIBLE_MACHINE ?= "(intel-corei7-64|intel-core2-32)" - -# Functionality flags -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" diff --git a/recipes-kernel/linux/linux-intel-rt_5.4.bb b/recipes-kernel/linux/linux-intel-rt_5.4.bb deleted file mode 100644 index 1c21506e..00000000 --- a/recipes-kernel/linux/linux-intel-rt_5.4.bb +++ /dev/null @@ -1,30 +0,0 @@ -require linux-intel.inc - -# Skip processing of this recipe if it is not explicitly specified as the -# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying -# to build multiple virtual/kernel providers, e.g. as dependency of -# core-image-rt-sdk, core-image-rt. -python () { - if d.getVar("KERNEL_PACKAGE_NAME", True) == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt": - raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it") -} - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" -SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch \ -" - -KBRANCH = "5.4/preempt-rt" -KMETA_BRANCH = "yocto-5.4" - -DEPENDS += "elfutils-native openssl-native util-linux-native" - -LINUX_VERSION ?= "5.4.78" -SRCREV_machine ?= "d5fde3d31ce39557fac848a476e3473b14f2c042" -SRCREV_meta ?= "a1b2d188bdfc855ff9dff770480a24cecf66285d" - -LINUX_KERNEL_TYPE = "preempt-rt" - -# Kernel config 'CONFIG_GPIO_LYNXPOINT' goes by a different name 'CONFIG_PINCTRL_LYNXPOINT' in -# linux-intel 5.4 specifically. This cause annoying warning during kernel config audit. So suppress the -# harmless warning for now. -KCONF_BSP_AUDIT_LEVEL = "0" diff --git a/recipes-kernel/linux/linux-intel-rt_5.10.bb b/recipes-kernel/linux/linux-intel-rt_6.6.bb index b1a32c1a..342679eb 100644 --- a/recipes-kernel/linux/linux-intel-rt_5.10.bb +++ b/recipes-kernel/linux/linux-intel-rt_6.6.bb @@ -1,5 +1,8 @@ require linux-intel.inc +SRC_URI:prepend = "git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \ + " + # Skip processing of this recipe if it is not explicitly specified as the # PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying # to build multiple virtual/kernel providers, e.g. as dependency of @@ -9,17 +12,22 @@ python () { raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it") } -LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" -SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch \ -" +KBRANCH = "6.6/preempt-rt" +KMETA_BRANCH = "yocto-6.6" -KBRANCH = "5.10/preempt-rt" -KMETA_BRANCH = "yocto-5.10" +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" DEPENDS += "elfutils-native openssl-native util-linux-native" -LINUX_VERSION ?= "5.10.1" -SRCREV_machine ?= "7cc9ab35ca5c12de2484deeb2ffe0ebc063e409a" -SRCREV_meta ?= "47c7a3148a4d7653cec536ba202b25148d1952ad" +LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}" + +LINUX_VERSION ?= "6.6.25" +SRCREV_machine ?= "f8939454cf9bb7277239bb44e90c99474c599f37" +SRCREV_meta ?= "c3d1322fb6ff68cdcf4d7a3c1140d81bfdc1320a" LINUX_KERNEL_TYPE = "preempt-rt" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" + +UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.6.(\d+)-rt(\d)-preempt-rt-(\d+)T(\d+)Z)$" diff --git a/recipes-kernel/linux/linux-intel.inc b/recipes-kernel/linux/linux-intel.inc index c6163973..f78f5205 100644 --- a/recipes-kernel/linux/linux-intel.inc +++ b/recipes-kernel/linux/linux-intel.inc @@ -1,26 +1,24 @@ require recipes-kernel/linux/linux-yocto.inc require recipes-kernel/linux/meta-intel-compat-kernel.inc -FILESEXTRAPATHS_prepend := "${THISDIR}/linux-intel:" +FILESEXTRAPATHS:prepend := "${THISDIR}/linux-intel:" KERNEL_CONFIG_URI ?= "git://git.yoctoproject.org/yocto-kernel-cache;type=kmeta;name=meta;branch=${KMETA_BRANCH};destsuffix=${KMETA}" SRC_URI = " \ - git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \ ${KERNEL_CONFIG_URI} \ + file://0001-vt-conmakehash-improve-reproducibility.patch \ + file://0001-lib-build_OID_registry-fix-reproducibility-issues.patch \ + file://fix-perf-reproducibility.patch \ + file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch \ + file://0002-mconf-fix-output-of-cflags-and-libraries.patch \ " -SRC_URI_append = " file://enable_lynxpoint_gpio.cfg" -SRC_URI_append_core2-32-intel-common = " file://disable_skylake_sound.cfg" - -LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}" - PV = "${LINUX_VERSION}+git${SRCPV}" KMETA = "kernel-meta" -KCONF_BSP_AUDIT_LEVEL = "2" +KCONF_BSP_AUDIT_LEVEL = "0" -COMPATIBLE_MACHINE ?= "(intel-corei7-64|intel-core2-32)" +COMPATIBLE_MACHINE ?= "(intel-corei7-64)" -KERNEL_FEATURES_append = " ${KERNEL_EXTRA_FEATURES}" -KERNEL_FEATURES_append = " ${@bb.utils.contains("TUNE_FEATURES", "mx32", " cfg/x32.scc", "" ,d)}" +KERNEL_FEATURES:append = " ${KERNEL_EXTRA_FEATURES}" diff --git a/recipes-kernel/linux/linux-intel/0001-lib-build_OID_registry-fix-reproducibility-issues.patch b/recipes-kernel/linux/linux-intel/0001-lib-build_OID_registry-fix-reproducibility-issues.patch new file mode 100644 index 00000000..d41c3f0b --- /dev/null +++ b/recipes-kernel/linux/linux-intel/0001-lib-build_OID_registry-fix-reproducibility-issues.patch @@ -0,0 +1,48 @@ +From 2fca0fd719812ea2ff67630b01355aa80481623e Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Sun, 10 Jul 2022 22:56:53 -0400 +Subject: [PATCH] lib/build_OID_registry: fix reproducibility issues + +The script build_OID_registry captures the full path of itself +in the generated data. This causes reproduciblity issues as the +path is captured and packaged. + +We use the basename of the script instead, and that allows us +to be reprodicible, with slightly less information captured in +the output data (but the generating script can still easily +be found). + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +Upstream-Status: Inappropriate + +Taken from linux-yocto, v5.15/standard/base. + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + lib/build_OID_registry | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/lib/build_OID_registry b/lib/build_OID_registry +index d7fc32ea8ac2..f6de0a7f7457 100755 +--- a/lib/build_OID_registry ++++ b/lib/build_OID_registry +@@ -8,6 +8,7 @@ + # + + use strict; ++use File::Basename; + + my @names = (); + my @oids = (); +@@ -35,7 +36,7 @@ close IN_FILE || die; + # + open C_FILE, ">$ARGV[1]" or die; + print C_FILE "/*\n"; +-print C_FILE " * Automatically generated by ", $0, ". Do not edit\n"; ++print C_FILE " * Automatically generated by ", basename $0, ". Do not edit\n"; + print C_FILE " */\n"; + + # +-- +2.36.1 + diff --git a/recipes-kernel/linux/linux-intel/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch b/recipes-kernel/linux/linux-intel/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch index 3dc71ff2..a601e783 100644 --- a/recipes-kernel/linux/linux-intel/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch +++ b/recipes-kernel/linux/linux-intel/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch @@ -1,7 +1,8 @@ -From bebd63730a433ba62549a80114a9851328aa8897 Mon Sep 17 00:00:00 2001 +From 1811da09f42ca5e82282970e8ad014707bc94c82 Mon Sep 17 00:00:00 2001 From: Bruce Ashfield <bruce.ashfield@windriver.com> Date: Mon, 2 Jul 2018 23:10:28 -0400 -Subject: [PATCH] menuconfig,mconf-cfg: Allow specification of ncurses location +Subject: [PATCH 1/2] menuconfig,mconf-cfg: Allow specification of ncurses + location In some cross build environments such as the Yocto Project build environment it provides an ncurses library that is compiled @@ -16,33 +17,36 @@ check-lxdialog.sh for environments such as the Yocto Project. Adding a CROSS_CURSES_LIB and CROSS_CURSES_INC solves the issue and allowing compiling and linking against the right headers and libraries. +Upstream-Status: Submitted + Signed-off-by: Jason Wessel <jason.wessel@windriver.com> cc: Michal Marek <mmarek@suse.cz> cc: linux-kbuild@vger.kernel.org Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> --- scripts/kconfig/mconf-cfg.sh | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh -index c812872d7f9d..42d20819025c 100755 +index 1e61f50a5905..38cf8304bb31 100755 --- a/scripts/kconfig/mconf-cfg.sh +++ b/scripts/kconfig/mconf-cfg.sh -@@ -4,6 +4,14 @@ +@@ -7,6 +7,14 @@ libs=$2 PKG="ncursesw" PKG2="ncurses" +if [ "$CROSS_CURSES_LIB" != "" ]; then -+ echo libs=\'$CROSS_CURSES_LIB\' -+ if [ x"$CROSS_CURSES_INC" != x ]; then -+ echo cflags=\'$CROSS_CURSES_INC\' -+ fi -+ exit 0 ++ echo libs=\'$CROSS_CURSES_LIB\' ++ if [ x"$CROSS_CURSES_INC" != x ]; then ++ echo cflags=\'$CROSS_CURSES_INC\' ++ fi ++ exit 0 +fi + - if [ -n "$(command -v pkg-config)" ]; then - if pkg-config --exists $PKG; then - echo cflags=\"$(pkg-config --cflags $PKG)\" + if [ -n "$(command -v ${HOSTPKG_CONFIG})" ]; then + if ${HOSTPKG_CONFIG} --exists $PKG; then + ${HOSTPKG_CONFIG} --cflags ${PKG} > ${cflags} -- -2.17.1 +2.34.1 diff --git a/recipes-kernel/linux/linux-intel/0001-vt-conmakehash-improve-reproducibility.patch b/recipes-kernel/linux/linux-intel/0001-vt-conmakehash-improve-reproducibility.patch new file mode 100644 index 00000000..33280063 --- /dev/null +++ b/recipes-kernel/linux/linux-intel/0001-vt-conmakehash-improve-reproducibility.patch @@ -0,0 +1,58 @@ +From 0f586f4ee8adacac79b64d1f3d47799a5eb7fbea Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Sun, 10 Jul 2022 21:37:07 -0400 +Subject: [PATCH] vt/conmakehash: improve reproducibility + +The file generated by conmakehash capture the application +path used to generate the file. While that can be informative, +it varies based on where the kernel was built, as the full +path is captured. + +We tweak the application to use a second input as the "capture +name", and then modify the Makefile to pass the basename of +the source, making it reproducible. + +This could be improved by using some sort of path mapping, +or the application manipualing argv[1] itself, but for now +this solves the reprodicibility issue. + +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> + +Upstream-Status: Inappropriate + +Taken from linux-yocto, v5.15/standard/base +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + drivers/tty/vt/Makefile | 2 +- + drivers/tty/vt/conmakehash.c | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/drivers/tty/vt/Makefile b/drivers/tty/vt/Makefile +index fe30ce512819..cb51c21b58f9 100644 +--- a/drivers/tty/vt/Makefile ++++ b/drivers/tty/vt/Makefile +@@ -15,7 +15,7 @@ clean-files := consolemap_deftbl.c defkeymap.c + hostprogs += conmakehash + + quiet_cmd_conmk = CONMK $@ +- cmd_conmk = $(obj)/conmakehash $< > $@ ++ cmd_conmk = $(obj)/conmakehash $< $(shell basename $<) > $@ + + $(obj)/consolemap_deftbl.c: $(src)/$(FONTMAPFILE) $(obj)/conmakehash + $(call cmd,conmk) +diff --git a/drivers/tty/vt/conmakehash.c b/drivers/tty/vt/conmakehash.c +index cddd789fe46e..d62510b280e9 100644 +--- a/drivers/tty/vt/conmakehash.c ++++ b/drivers/tty/vt/conmakehash.c +@@ -253,7 +253,7 @@ int main(int argc, char *argv[]) + #include <linux/types.h>\n\ + \n\ + u8 dfont_unicount[%d] = \n\ +-{\n\t", argv[1], fontlen); ++{\n\t", argv[2], fontlen); + + for ( i = 0 ; i < fontlen ; i++ ) + { +-- +2.36.1 + diff --git a/recipes-kernel/linux/linux-intel/0002-mconf-fix-output-of-cflags-and-libraries.patch b/recipes-kernel/linux/linux-intel/0002-mconf-fix-output-of-cflags-and-libraries.patch new file mode 100644 index 00000000..a96b68d9 --- /dev/null +++ b/recipes-kernel/linux/linux-intel/0002-mconf-fix-output-of-cflags-and-libraries.patch @@ -0,0 +1,40 @@ +From 1b53d82a8152843afcddd7f16b0c43b6b4f22895 Mon Sep 17 00:00:00 2001 +From: Bruce Ashfield <bruce.ashfield@gmail.com> +Date: Mon, 17 Jul 2023 17:17:55 -0400 +Subject: [PATCH 2/2] mconf: fix output of cflags and libraries + +commit 3122c84409d578a5df8bcb1 [kconfig: refactor Makefile to reduce +process forks] changes the way that flags are detected. They are +no longer just echo'd and captured, they are written to a file and +later read. + +We adjust our CROSS ncurses patch accordingly. + +We'll eventually be able to drop this patch, but not quite yet. + +Upstream-Status: Inappropriate [OE-Specific] +Signed-off-by: Bruce Ashfield <bruce.ashfield@gmail.com> +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + scripts/kconfig/mconf-cfg.sh | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/scripts/kconfig/mconf-cfg.sh b/scripts/kconfig/mconf-cfg.sh +index 38cf8304bb31..a5ae56e08b07 100755 +--- a/scripts/kconfig/mconf-cfg.sh ++++ b/scripts/kconfig/mconf-cfg.sh +@@ -8,9 +8,9 @@ PKG="ncursesw" + PKG2="ncurses" + + if [ "$CROSS_CURSES_LIB" != "" ]; then +- echo libs=\'$CROSS_CURSES_LIB\' ++ echo $CROSS_CURSES_LIB > ${libs} + if [ x"$CROSS_CURSES_INC" != x ]; then +- echo cflags=\'$CROSS_CURSES_INC\' ++ echo $CROSS_CURSES_INC > ${cflags} + fi + exit 0 + fi +-- +2.34.1 + diff --git a/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg b/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg deleted file mode 100644 index 312bcb1a..00000000 --- a/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg +++ /dev/null @@ -1,7 +0,0 @@ -# CONFIG_SND_SOC_INTEL_SKYLAKE is not set -# CONFIG_SND_SOC_INTEL_BXT_DA7219_MAX98357A_MACH is not set -# CONFIG_SND_SOC_INTEL_BXT_RT298_MACH is not set -# CONFIG_SND_SOC_INTEL_KBL_RT5663_MAX98927_MACH is not set -# CONFIG_SND_SOC_INTEL_SKL_RT286_MACH is not set -# CONFIG_SND_SOC_INTEL_SKL_NAU88L25_SSM4567_MACH is not set -# CONFIG_SND_SOC_INTEL_SKL_NAU88L25_MAX98357A_MACH is not set diff --git a/recipes-kernel/linux/linux-intel/enable_lynxpoint_gpio.cfg b/recipes-kernel/linux/linux-intel/enable_lynxpoint_gpio.cfg deleted file mode 100644 index 49e70e67..00000000 --- a/recipes-kernel/linux/linux-intel/enable_lynxpoint_gpio.cfg +++ /dev/null @@ -1 +0,0 @@ -CONFIG_PINCTRL_LYNXPOINT=m diff --git a/recipes-kernel/linux/linux-intel/fix-perf-reproducibility.patch b/recipes-kernel/linux/linux-intel/fix-perf-reproducibility.patch new file mode 100644 index 00000000..1a98b1db --- /dev/null +++ b/recipes-kernel/linux/linux-intel/fix-perf-reproducibility.patch @@ -0,0 +1,39 @@ +From b8cd0e429bf75b673c438a8277d4bc74327df992 Mon Sep 17 00:00:00 2001 +From: Tom Zanussi <tom.zanussi@intel.com> +Date: Tue, 3 Jul 2012 13:07:23 -0500 +Subject: perf: change --root to --prefix for python install + +Otherwise we get the sysroot path appended to the build path, not what +we want. + +Signed-off-by: Tom Zanussi <tom.zanussi@intel.com> + +Upstream-Status: Inappropriate + +Taken from linux-yocto, v5.15/standard/base +https://git.yoctoproject.org/linux-yocto/commit?id=b8cd0e429bf75b673c438a8277d4bc74327df992&h=v5.15%2Fstandard%2Fbase + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + tools/perf/Makefile.perf | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +(limited to 'tools/perf/Makefile.perf') + +diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf +index 8f738e11356d..ee945d8e3996 100644 +--- a/tools/perf/Makefile.perf ++++ b/tools/perf/Makefile.perf +@@ -1022,7 +1022,7 @@ install-bin: install-tools install-tests install-traceevent-plugins + install: install-bin try-install-man + + install-python_ext: +- $(PYTHON_WORD) util/setup.py --quiet install --root='/$(DESTDIR_SQ)' ++ $(PYTHON_WORD) util/setup.py --quiet install --prefix='$(DESTDIR_SQ)/usr' + + # 'make install-doc' should call 'make -C Documentation install' + $(INSTALL_DOC_TARGETS): +-- +cgit + + diff --git a/recipes-kernel/linux/linux-intel_5.10.bb b/recipes-kernel/linux/linux-intel_5.10.bb deleted file mode 100644 index caf2c899..00000000 --- a/recipes-kernel/linux/linux-intel_5.10.bb +++ /dev/null @@ -1,21 +0,0 @@ -require linux-intel.inc - -KBRANCH = "5.10/yocto" -KMETA_BRANCH = "yocto-5.10" - -LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" - -SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch" - -DEPENDS += "elfutils-native openssl-native util-linux-native" - -LINUX_VERSION ?= "5.10.1" -SRCREV_machine ?= "b8dd2066fae53c1bba0c7a6c73a08e137d5fca29" -SRCREV_meta ?= "47c7a3148a4d7653cec536ba202b25148d1952ad" - -# For Crystalforest and Romley -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio" - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" diff --git a/recipes-kernel/linux/linux-intel_5.4.bb b/recipes-kernel/linux/linux-intel_5.4.bb deleted file mode 100644 index a2e554f4..00000000 --- a/recipes-kernel/linux/linux-intel_5.4.bb +++ /dev/null @@ -1,26 +0,0 @@ -require linux-intel.inc - -KBRANCH = "5.4/yocto" -KMETA_BRANCH = "yocto-5.4" - -LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814" - -SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch" - -DEPENDS += "elfutils-native openssl-native util-linux-native" - -LINUX_VERSION ?= "5.4.81" -SRCREV_machine ?= "b3d20595bdf59d0784cb8256445fff65df26c4ac" -SRCREV_meta ?= "a1b2d188bdfc855ff9dff770480a24cecf66285d" - -# For Crystalforest and Romley -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio" - -# Functionality flags -KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" - -# Kernel config 'CONFIG_GPIO_LYNXPOINT' goes by a different name 'CONFIG_PINCTRL_LYNXPOINT' in -# linux-intel 5.4 specifically. This cause warning during kernel config audit. So suppress the -# harmless warning for now. -KCONF_BSP_AUDIT_LEVEL = "0" diff --git a/recipes-kernel/linux/linux-intel_6.6.bb b/recipes-kernel/linux/linux-intel_6.6.bb new file mode 100644 index 00000000..3b917bfa --- /dev/null +++ b/recipes-kernel/linux/linux-intel_6.6.bb @@ -0,0 +1,21 @@ +require linux-intel.inc + +SRC_URI:prepend = "git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \ + " +KBRANCH = "6.6/linux" +KMETA_BRANCH = "yocto-6.6" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +DEPENDS += "elfutils-native openssl-native util-linux-native" + +LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}" + +LINUX_VERSION ?= "6.6.25" +SRCREV_machine ?= "lts-v6.6.25-linux-240415T215440Z" +SRCREV_meta ?= "c3d1322fb6ff68cdcf4d7a3c1140d81bfdc1320a" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" + +UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.6.(\d+)-linux-(\d+)T(\d+)Z)$" diff --git a/recipes-kernel/linux/linux-intel_6.8.bb b/recipes-kernel/linux/linux-intel_6.8.bb new file mode 100644 index 00000000..036879db --- /dev/null +++ b/recipes-kernel/linux/linux-intel_6.8.bb @@ -0,0 +1,20 @@ +require linux-intel.inc + +SRC_URI:prepend = "git://github.com/intel/mainline-tracking.git;protocol=https;name=machine;nobranch=1; \ + " +KMETA_BRANCH = "master" + +LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46" + +DEPENDS += "elfutils-native openssl-native util-linux-native" + +LINUX_VERSION_EXTENSION ??= "-mainline-tracking-${LINUX_KERNEL_TYPE}" + +LINUX_VERSION ?= "6.8" +SRCREV_machine ?= "efbae83db36abbbbdb946d4f7bbdfda174107cd2" +SRCREV_meta ?= "27907f391a4fc508da21358b13419c6e86926c34" + +# Functionality flags +KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc" + +UPSTREAM_CHECK_GITTAGREGEX = "^mainline-tracking-v6.7-rc3-linux-(?P<pver>(\d+)T(\d+)Z)$" diff --git a/recipes-kernel/linux/linux-yocto-dev.bbappend b/recipes-kernel/linux/linux-yocto-dev.bbappend index 6173148c..deb19940 100644 --- a/recipes-kernel/linux/linux-yocto-dev.bbappend +++ b/recipes-kernel/linux/linux-yocto-dev.bbappend @@ -1,21 +1,21 @@ -FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:" +FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/${PN}:" -COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}" -KMACHINE_core2-32-intel-common = "intel-core2-32" -KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" +COMPATIBLE_MACHINE:core2-32-intel-common = "${MACHINE}" +KMACHINE:core2-32-intel-common = "intel-core2-32" +KERNEL_FEATURES:append:core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" -COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}" -KMACHINE_corei7-64-intel-common = "intel-corei7-64" -KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" +COMPATIBLE_MACHINE:corei7-64-intel-common = "${MACHINE}" +KMACHINE:corei7-64-intel-common = "intel-corei7-64" +KERNEL_FEATURES:append:corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}" # NOTE: We do not set SRCREVs here as -dev is intended to be built with AUTOREV # and setting them here breaks the default mechanism to use AUTOREV if the # default SRCREV is set and linux-yocto-dev is the preferred provider. # For Crystalforest and Romley -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio" +KERNEL_MODULE_AUTOLOAD:append:core2-32-intel-common = " uio" +KERNEL_MODULE_AUTOLOAD:append:corei7-64-intel-common = " uio" # For FRI2, NUC -KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi" -KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi" +KERNEL_MODULE_AUTOLOAD:append:core2-32-intel-common = " iwlwifi" +KERNEL_MODULE_AUTOLOAD:append:corei7-64-intel-common = " iwlwifi" diff --git a/recipes-kernel/linux/linux-yocto-rt_5.%.bbappend b/recipes-kernel/linux/linux-yocto-rt_%.bbappend index daa7dd6b..daa7dd6b 100644 --- a/recipes-kernel/linux/linux-yocto-rt_5.%.bbappend +++ b/recipes-kernel/linux/linux-yocto-rt_%.bbappend diff --git a/recipes-kernel/linux/linux-yocto_%.bbappend b/recipes-kernel/linux/linux-yocto_%.bbappend index 7c29be14..9f3d43e3 100644 --- a/recipes-kernel/linux/linux-yocto_%.bbappend +++ b/recipes-kernel/linux/linux-yocto_%.bbappend @@ -1,4 +1,6 @@ +require meta-intel-compat-kernel.inc + # The kernel build is 64-bit regardless, so include both common overrides. # Without this, the kernel will be missing vars that make it buildable for the # intel-corei7-64 machine. -MACHINEOVERRIDES_prepend_corei7-64-x32-intel-common = "corei7-64-intel-common:" +MACHINEOVERRIDES:prepend:corei7-64-x32-intel-common = "corei7-64-intel-common:" diff --git a/recipes-kernel/linux/linux-yocto_5.%.bbappend b/recipes-kernel/linux/linux-yocto_5.%.bbappend deleted file mode 100644 index daa7dd6b..00000000 --- a/recipes-kernel/linux/linux-yocto_5.%.bbappend +++ /dev/null @@ -1 +0,0 @@ -require meta-intel-compat-kernel.inc diff --git a/recipes-kernel/linux/meta-intel-compat-kernel.inc b/recipes-kernel/linux/meta-intel-compat-kernel.inc index a985925f..0c861e13 100644 --- a/recipes-kernel/linux/meta-intel-compat-kernel.inc +++ b/recipes-kernel/linux/meta-intel-compat-kernel.inc @@ -3,12 +3,12 @@ KERNEL_FEATURES_INTEL_COMMON ?= "" -COMPATIBLE_MACHINE_intel-x86-common = "${MACHINE}" -KERNEL_FEATURES_intel-x86-common = "${KERNEL_FEATURES_INTEL_COMMON}" +COMPATIBLE_MACHINE:intel-x86-common = "${MACHINE}" +KERNEL_FEATURES:intel-x86-common = "${KERNEL_FEATURES_INTEL_COMMON}" -KMACHINE_corei7-64-intel-common = "intel-corei7-64" -KMACHINE_core2-32-intel-common = "intel-core2-32" -KMACHINE_skylake-64-intel-common = "intel-corei7-64" +KMACHINE:corei7-64-intel-common = "intel-corei7-64" +KMACHINE:core2-32-intel-common = "intel-core2-32" +KMACHINE:x86-64-v3-intel-common = "intel-corei7-64" INTEL_COMMON_AUTOLOAD ?= " uio iwlwifi i915" -KERNEL_MODULE_AUTOLOAD_intel-x86-common = " ${INTEL_COMMON_AUTOLOAD}" +KERNEL_MODULE_AUTOLOAD:intel-x86-common = " ${INTEL_COMMON_AUTOLOAD}" diff --git a/recipes-multimedia/itt/itt_3.15.12.bb b/recipes-multimedia/itt/itt_3.24.6.bb index 010d5869..1c4759f9 100644 --- a/recipes-multimedia/itt/itt_3.15.12.bb +++ b/recipes-multimedia/itt/itt_3.24.6.bb @@ -3,18 +3,20 @@ DESCRIPTION = "The Instrumentation and Tracing Technology (ITT) API enables \ application to generate and control the collection of trace data during its \ execution across different Intel tools." -LICENSE = "BSD-3-Clause & GPLv2" +LICENSE = "BSD-3-Clause & GPL-2.0-only" LIC_FILES_CHKSUM = "file://LICENSES/BSD-3-Clause.txt;md5=c551872bcf41ce707df54c722edeca7b \ file://LICENSES/GPL-2.0-only.txt;md5=e2d76e7801260c21b90eea3605508ad6 \ " -SRC_URI = "git://github.com/intel/ittapi.git;protocol=https" -SRCREV = "8a3d4f4c4f8b66d1a242393efb82558dcfcd109b" +SRC_URI = "git://github.com/intel/ittapi.git;protocol=https;branch=master" +SRCREV = "ec077431fc725dba590b09b2cec5137878b14783" S = "${WORKDIR}/git" PE = "1" UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$" +COMPATIBLE_HOST = '(i.86|x86_64).*-linux' + inherit pkgconfig cmake EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release" @@ -25,6 +27,13 @@ do_install() { install -m 644 ${B}/bin/*.a ${D}${libdir} cp -r ${S}/include/* ${D}${includedir}/ittnotify cp -r ${S}/src/ittnotify/*.h ${D}${includedir}/ittnotify + rm -r ${D}${includedir}/ittnotify/fortran/win32 + if [ "${TARGET_ARCH}" = "x86_64" ]; then + rm -r ${D}${includedir}/ittnotify/fortran/posix/x86 + else + rm -r ${D}${includedir}/ittnotify/fortran/posix/x86_64 + fi + } -RDEPENDS_${PN}-dev_remove = "${PN} (= ${EXTENDPKGV})" +RDEPENDS:${PN}-dev:remove = "${PN} (= ${EXTENDPKGV})" diff --git a/recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch b/recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch new file mode 100644 index 00000000..90dff8d1 --- /dev/null +++ b/recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch @@ -0,0 +1,35 @@ +From 1b303f417113ad1aa6b63fc024fbe4aa0c943f57 Mon Sep 17 00:00:00 2001 +From: Lim Siew Hoon <siew.hoon.lim@intel.com> +Date: Tue, 5 Sep 2023 16:13:42 +0800 +Subject: [PATCH 01/12] Disable vp9 padding on mtl. + +Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1720] + +Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> +--- + media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp b/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp +index 844545a87..72265289c 100644 +--- a/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp ++++ b/media_softlet/linux/Xe_M_plus/ddi/media_sku_wa_mtl.cpp +@@ -284,7 +284,7 @@ static bool InitMtlMediaWaExt(struct GfxDeviceInfo *devInfo, + + MEDIA_WR_WA(waTable, WaDisableSetObjectCapture, 1); + +- MEDIA_WR_WA(waTable, Wa_Vp9UnalignedHeight, 1); ++ MEDIA_WR_WA(waTable, Wa_Vp9UnalignedHeight, 0); + + MEDIA_WR_WA(waTable, Wa_15013355402, 1); + +@@ -337,4 +337,4 @@ static struct LinuxDeviceInit arlDeviceInit = + }; + + static bool arlDeviceRegister = DeviceInfoFactory<LinuxDeviceInit>:: +- RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit); +\ No newline at end of file ++ RegisterDevice((uint32_t)IGFX_ARROWLAKE, &arlDeviceInit); +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch b/recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch new file mode 100644 index 00000000..df3d9805 --- /dev/null +++ b/recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch @@ -0,0 +1,44 @@ +From 1580f01ec5ad5afdad58c39dded999494275be10 Mon Sep 17 00:00:00 2001 +From: Lim Siew Hoon <siew.hoon.lim@intel.com> +Date: Wed, 11 Oct 2023 15:36:21 +0800 +Subject: [PATCH 02/12] Force ARGB surface to tile4 for ACM + +Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1728] + +Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com> +Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> +--- + media_driver/linux/common/ddi/media_libva_util.cpp | 10 ++++++++++ + 1 file changed, 10 insertions(+) + +diff --git a/media_driver/linux/common/ddi/media_libva_util.cpp b/media_driver/linux/common/ddi/media_libva_util.cpp +index 63c173419..73be76366 100755 +--- a/media_driver/linux/common/ddi/media_libva_util.cpp ++++ b/media_driver/linux/common/ddi/media_libva_util.cpp +@@ -504,6 +504,7 @@ VAStatus DdiMediaUtil_AllocateSurface( + gmmCustomParams.Flags.Gpu.UnifiedAuxSurface = 0; + } + } ++ + break; + case TILING_X: + gmmCustomParams.Flags.Info.TiledX = true; +@@ -685,6 +686,15 @@ VAStatus DdiMediaUtil_AllocateSurface( + } + } + } ++ // There's no VAAPI interface for modifier query yet. As a workaround, always allocate ++ // RGB surface as tile4. ++ if ((format == Media_Format_A8R8G8B8 || ++ format == Media_Format_B10G10R10A2 | ++ format == Media_Format_A8B8G8R8 || ++ format == Media_Format_X8R8G8B8) && !MEDIA_IS_SKU(&mediaDrvCtx->SkuTable, FtrTileY)) ++ { ++ gmmParams.Flags.Info.Tile4 = true; ++ } + break; + case TILING_X: + gmmParams.Flags.Info.TiledX = true; +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0004-Add-device-ID-for-ARL.patch b/recipes-multimedia/libva/files/0004-Add-device-ID-for-ARL.patch new file mode 100644 index 00000000..59fff127 --- /dev/null +++ b/recipes-multimedia/libva/files/0004-Add-device-ID-for-ARL.patch @@ -0,0 +1,45 @@ +From bb860c0bfe53060925b1dce50da4e6e94cfc8cae Mon Sep 17 00:00:00 2001 +From: huangli2018 <li.h.huang@intel.com> +Date: Wed, 20 Dec 2023 15:47:43 +0800 +Subject: [PATCH 04/13] Add device ID for ARL + +Add device ID for ARL + +Upstream-Status: Backport [https://github.com/intel/media-driver/commit/95cbfce81cafa3c24d9d4601d41a855093bc51fb] +Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> +--- + .../linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp | 13 +++++++++++-- + 1 file changed, 11 insertions(+), 2 deletions(-) + +diff --git a/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp b/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp +index 426bd795f..7b73dfaff 100644 +--- a/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp ++++ b/media_softlet/linux/Xe_M_plus/ddi/media_sysinfo_mtl.cpp +@@ -1,6 +1,6 @@ + /*===================== begin_copyright_notice ================================== + +-Copyright (c) 2022, Intel Corporation ++Copyright (c) 2023, Intel Corporation + + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), +@@ -218,4 +218,13 @@ static struct GfxDeviceInfo arlInfo = { + }; + + static bool arlsDevice7d67 = DeviceInfoFactory<GfxDeviceInfo>:: +- RegisterDevice(0x7D67, &arlInfo); +\ No newline at end of file ++ RegisterDevice(0x7D67, &arlInfo); ++ ++static bool arlhDevice7d51 = DeviceInfoFactory<GfxDeviceInfo>:: ++ RegisterDevice(0x7D51, &arlInfo); ++ ++static bool arlhDevice7dd1 = DeviceInfoFactory<GfxDeviceInfo>:: ++ RegisterDevice(0x7DD1, &arlInfo); ++ ++static bool arlhDevice7d41 = DeviceInfoFactory<GfxDeviceInfo>:: ++ RegisterDevice(0x7D41, &arlInfo); +\ No newline at end of file +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0005-Add-XR24-support-to-DMABuf.patch b/recipes-multimedia/libva/files/0005-Add-XR24-support-to-DMABuf.patch new file mode 100644 index 00000000..a9cd2317 --- /dev/null +++ b/recipes-multimedia/libva/files/0005-Add-XR24-support-to-DMABuf.patch @@ -0,0 +1,34 @@ +From bbd3af94a6146d702909ff7e25b0c0547ecbb895 Mon Sep 17 00:00:00 2001 +From: jlui <jonathan.ming.jun.lui@intel.com> +Date: Wed, 15 Nov 2023 10:48:34 +0800 +Subject: [PATCH 05/13] Add XR24 support to DMABuf + +This is to enable XR24/BGRX support for DMABuf + +Signed-off-by: Lui, Jonathan Ming Jun <jonathan.ming.jun.lui@intel.com> + +Upstream-Status: Backport [https://github.com/intel/media-driver/commit/3910b7029f5416fd0b5972f940c65d0a82c48c7b] + +Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> +--- + .../vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h b/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h +index fdcca8873..2dcf440a4 100644 +--- a/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h ++++ b/media_softlet/linux/xe_lpm_plus_r0/vp/ddi/capstable_data_vp_xe_lpm_plus_r0_specific.h +@@ -55,8 +55,9 @@ static ProfileSurfaceAttribInfo surfaceAttribInfo_VAEntrypointVideoProc_VAProfil + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('4', '2', '2', 'V')}}}, + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'A')}}}, + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('B', 'G', 'R', 'A')}}}, +- {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, { VA_FOURCC('R', 'G', 'B', 'P')}}}, ++ {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'P')}}}, + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', 'B', 'X')}}}, ++ {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('X', 'R', 'G', 'B')}}}, + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('P', '0', '1', '0')}}}, + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC('R', 'G', '2', '4')}}}, + {VASurfaceAttribPixelFormat, VA_SURFACE_ATTRIB_GETTABLE | VA_SURFACE_ATTRIB_SETTABLE, {VAGenericValueTypeInteger, {VA_FOURCC_ARGB}}}, +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch b/recipes-multimedia/libva/files/0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch new file mode 100644 index 00000000..5b04201a --- /dev/null +++ b/recipes-multimedia/libva/files/0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch @@ -0,0 +1,214 @@ +From 67fb6128adf8fc03d429393e98f0982b42a40e64 Mon Sep 17 00:00:00 2001 +From: Zhang_Xinfeng <carl.zhang@intel.com> +Date: Wed, 27 Dec 2023 09:59:29 +0800 +Subject: [PATCH 06/12] add INTEL MEDIA ALLOC refineE to specify the memory + alignment + +this key is used to allocate bigger pages +env variable INTEL_MEDIA_ALLOC_refineE also could be used +and was not enabled by default +mode 0 is default mode +mode 1 is < 64 align to 64 +mode 2 is > 1M && <= 3M align to 1M, >3M align to 2M +mode 3 is mode 1 & mode 2 + +Upstream-Status: Backport [https://github.com/intel/media-driver/commit/765dd939dcc5562d18cca18e5eda505bda952797] +Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> +--- + .../linux/common/os/i915/mos_bufmgr.c | 75 +++++++++++++++---- + .../common/os/i915_production/mos_bufmgr.c | 1 + + .../common/os/mos_context_specific_next.cpp | 21 +++++- + .../common/os/mos_user_setting_specific.cpp | 7 ++ + 4 files changed, 90 insertions(+), 14 deletions(-) + +diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr.c b/media_softlet/linux/common/os/i915/mos_bufmgr.c +index c0b3ba027..b623d0129 100644 +--- a/media_softlet/linux/common/os/i915/mos_bufmgr.c ++++ b/media_softlet/linux/common/os/i915/mos_bufmgr.c +@@ -138,7 +138,7 @@ struct mos_bufmgr_gem { + int exec_count; + + /** Array of lists of cached gem objects of power-of-two sizes */ +- struct mos_gem_bo_bucket cache_bucket[14 * 4]; ++ struct mos_gem_bo_bucket cache_bucket[64]; + int num_buckets; + time_t time; + +@@ -3852,9 +3852,9 @@ add_bucket(struct mos_bufmgr_gem *bufmgr_gem, int size) + } + + static void +-init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem) ++init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem, uint8_t alloc_mode) + { +- unsigned long size, cache_max_size = 64 * 1024 * 1024; ++ unsigned long size, cache_max_size = 64 * 1024 * 1024, unit_size; + + /* OK, so power of two buckets was too wasteful of memory. + * Give 3 other sizes between each power of two, to hopefully +@@ -3864,17 +3864,63 @@ init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem) + * width/height alignment and rounding of sizes to pages will + * get us useful cache hit rates anyway) + */ +- add_bucket(bufmgr_gem, 4096); +- add_bucket(bufmgr_gem, 4096 * 2); +- add_bucket(bufmgr_gem, 4096 * 3); ++ /* alloc_mode 0 is default alloc_mode ++ * alloc_mode 1 rounding up to 64K for all < 1M ++ * alloc_mode 2 rounding up to 2M for size> 1M ++ * alloc_mode 3 rounding up to 2M for size > 1M and 64K for size <= 1M */ ++ if( alloc_mode > 3 ) ++ alloc_mode = 0; ++ ++ if ( 0 == alloc_mode || 2 == alloc_mode) ++ { ++ // < 1M normal alloc_mode ++ add_bucket(bufmgr_gem, 4096); ++ add_bucket(bufmgr_gem, 4096 * 2); ++ add_bucket(bufmgr_gem, 4096 * 3); ++ /* Initialize the linked lists for BO reuse cache. */ ++ for (size = 4 * 4096; size < 1024 * 1024; size *= 2) { ++ add_bucket(bufmgr_gem, size); ++ add_bucket(bufmgr_gem, size + size * 1 / 4); ++ add_bucket(bufmgr_gem, size + size * 2 / 4); ++ add_bucket(bufmgr_gem, size + size * 3 / 4); ++ } + +- /* Initialize the linked lists for BO reuse cache. */ +- for (size = 4 * 4096; size <= cache_max_size; size *= 2) { +- add_bucket(bufmgr_gem, size); ++ add_bucket(bufmgr_gem, 1024 * 1024); ++ } ++ if (1 == alloc_mode || 3 == alloc_mode) ++ { ++ // < 1M 64k alignment ++ unit_size = 64 * 1024; ++ for (size = unit_size; size <= 1024 * 1024; size += unit_size) ++ { ++ add_bucket(bufmgr_gem, size); ++ } ++ } ++ if( 0 == alloc_mode || 1 == alloc_mode) ++ { ++ //> 1M is normal alloc_mode ++ add_bucket(bufmgr_gem, 1280 * 1024); ++ add_bucket(bufmgr_gem, 1536 * 1024); ++ add_bucket(bufmgr_gem, 1792 * 1024); ++ ++ for (size = 2 * 1024 * 1024; size < cache_max_size; size *= 2) { ++ add_bucket(bufmgr_gem, size); ++ add_bucket(bufmgr_gem, size + size * 1 / 4); ++ add_bucket(bufmgr_gem, size + size * 2 / 4); ++ add_bucket(bufmgr_gem, size + size * 3 / 4); ++ } ++ } ++ if( 2 == alloc_mode || 3 == alloc_mode) ++ { ++ //> 1M rolling to 2M ++ unit_size = 2 * 1024 * 1024; ++ add_bucket(bufmgr_gem, unit_size); ++ add_bucket(bufmgr_gem, 3 * 1024 * 1024); + +- add_bucket(bufmgr_gem, size + size * 1 / 4); +- add_bucket(bufmgr_gem, size + size * 2 / 4); +- add_bucket(bufmgr_gem, size + size * 3 / 4); ++ for (size = 4 * 1024 * 1024; size <= cache_max_size; size += unit_size) ++ { ++ add_bucket(bufmgr_gem, size); ++ } + } + } + +@@ -5100,6 +5146,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) + struct drm_i915_gem_get_aperture aperture; + drm_i915_getparam_t gp; + int ret, tmp; ++ uint8_t alloc_mode; + bool exec2 = false; + + pthread_mutex_lock(&bufmgr_list_mutex); +@@ -5352,10 +5399,12 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) + * + * Every 4 was too few for the blender benchmark. + */ ++ alloc_mode = (uint8_t)(batch_size & 0xff); ++ batch_size &= 0xffffff00; + bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2; + + DRMINITLISTHEAD(&bufmgr_gem->named); +- init_cache_buckets(bufmgr_gem); ++ init_cache_buckets(bufmgr_gem,alloc_mode); + + DRMLISTADD(&bufmgr_gem->managers, &bufmgr_list); + +diff --git a/media_softlet/linux/common/os/i915_production/mos_bufmgr.c b/media_softlet/linux/common/os/i915_production/mos_bufmgr.c +index 90b5685b1..b3574f7d3 100644 +--- a/media_softlet/linux/common/os/i915_production/mos_bufmgr.c ++++ b/media_softlet/linux/common/os/i915_production/mos_bufmgr.c +@@ -5403,6 +5403,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) + * + * Every 4 was too few for the blender benchmark. + */ ++ batch_size &= 0xffffff00; + bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2; + + DRMINITLISTHEAD(&bufmgr_gem->named); +diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp +index 9e9e3ff7e..543e262d1 100644 +--- a/media_softlet/linux/common/os/mos_context_specific_next.cpp ++++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp +@@ -64,6 +64,7 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) + uint32_t iDeviceId = 0; + MOS_STATUS eStatus = MOS_STATUS_SUCCESS; + uint32_t value = 0; ++ uint32_t mode = 0; + MediaUserSettingSharedPtr userSettingPtr = nullptr; + + MOS_OS_FUNCTION_ENTER; +@@ -89,7 +90,25 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) + + userSettingPtr = MosInterface::MosGetUserSettingInstance(osDriverContext); + +- m_bufmgr = mos_bufmgr_gem_init(m_fd, BATCH_BUFFER_SIZE, &m_deviceType); ++ mode = BATCH_BUFFER_SIZE; ++ ReadUserSetting( ++ userSettingPtr, ++ value, ++ "INTEL MEDIA ALLOC MODE", ++ MediaUserSetting::Group::Device); ++ ++ if (value) ++ { ++ mode |= (value & 0x000000ff); ++ } ++ value = 0; ++ /* no need to set batch buffer size after switch to softpin ++ * keep it, just for test during relocation to softpin transition ++ * now , it could be a debug method , but is actually useless ++ * so it is safe to reuse the lowest 8bit to convey addtional information ++ * more suitable solution is deleting it , or add additional parameter*/ ++ ++ m_bufmgr = mos_bufmgr_gem_init(m_fd, (int)mode, &m_deviceType); + if (nullptr == m_bufmgr) + { + MOS_OS_ASSERTMESSAGE("Not able to allocate buffer manager, fd=0x%d", m_fd); +diff --git a/media_softlet/linux/common/os/mos_user_setting_specific.cpp b/media_softlet/linux/common/os/mos_user_setting_specific.cpp +index 6be8b4298..caed584f4 100644 +--- a/media_softlet/linux/common/os/mos_user_setting_specific.cpp ++++ b/media_softlet/linux/common/os/mos_user_setting_specific.cpp +@@ -52,5 +52,12 @@ MOS_STATUS MosUserSetting::InitMosUserSettingSpecific(MediaUserSettingSharedPtr + 0, + true); //"Enable VM Bind." + ++ DeclareUserSettingKey( ++ userSettingPtr, ++ "INTEL MEDIA ALLOC MODE", ++ MediaUserSetting::Group::Device, ++ 0, ++ false); // ++ + return MOS_STATUS_SUCCESS; + } +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0007-Skip-report-keys.patch b/recipes-multimedia/libva/files/0007-Skip-report-keys.patch new file mode 100644 index 00000000..459ff490 --- /dev/null +++ b/recipes-multimedia/libva/files/0007-Skip-report-keys.patch @@ -0,0 +1,78 @@ +From b1aebef4d342c77fc2b9c5efbf20aeb2aa9d634e Mon Sep 17 00:00:00 2001 +From: Wang_Pingli <pingli.wang@intel.com> +Date: Thu, 28 Dec 2023 16:44:40 +0800 +Subject: [PATCH 07/12] Skip report keys + +Skip to report keys + +Upstream-Status: Backport [https://github.com/intel/media-driver/commit/68ce25b0a6fa90614eb4734c8680aa4e149e8323] +Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> +--- + .../os/osservice/mos_utilities_specific.cpp | 30 +++++++++++++++++-- + 1 file changed, 28 insertions(+), 2 deletions(-) + +diff --git a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp +index b5df29f06..96785e21e 100644 +--- a/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp ++++ b/media_softlet/linux/common/os/osservice/mos_utilities_specific.cpp +@@ -67,6 +67,8 @@ int32_t g_mosMemoryFailSimulateAllocCounter = 0; + int32_t *MosUtilities::m_mosAllocMemoryFailSimulateAllocCounter = &g_mosMemoryFailSimulateAllocCounter; + #endif + ++static bool s_skipToReportReg = false; ++ + double MosUtilities::MosGetTime() + { + struct timespec ts = {}; +@@ -1551,6 +1553,10 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap) + { + std::string id = ""; + ++ static const char *disableReportRegKeyList[] = { ++ "INTEL MEDIA ALLOC MODE" ++ }; ++ static const uint32_t disableReportRegKeyListCount = sizeof(disableReportRegKeyList) / sizeof(disableReportRegKeyList[0]); + while(!regStream.eof()) + { + std::string line = ""; +@@ -1585,8 +1591,22 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap) + { + std::string name = line.substr(0,pos); + std::string value = line.substr(pos+1); +- auto &keys = regBufferMap[id]; +- keys[name] = value; ++ if (name.size() > 0 && value.size() > 0) ++ { ++ auto &keys = regBufferMap[id]; ++ keys[name] = value; ++ if (s_skipToReportReg == false && id == USER_SETTING_CONFIG_PATH) ++ { ++ for (uint32_t i = 0; i < disableReportRegKeyListCount; i++) ++ { ++ if (strcmp(name.c_str(), disableReportRegKeyList[i]) == 0) ++ { ++ s_skipToReportReg = true; ++ break; ++ } ++ } ++ } ++ } + } + } + } +@@ -1606,6 +1626,12 @@ MOS_STATUS MosUtilities::MosInitializeReg(RegBufferMap ®BufferMap) + MOS_STATUS MosUtilities::MosUninitializeReg(RegBufferMap ®BufferMap) + { + MOS_STATUS status = MOS_STATUS_SUCCESS; ++ ++ if (s_skipToReportReg) ++ { ++ return MOS_STATUS_SUCCESS; ++ } ++ + if (regBufferMap.size() == 0) + { + return MOS_STATUS_SUCCESS; +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch b/recipes-multimedia/libva/files/0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch new file mode 100644 index 00000000..ece5e00b --- /dev/null +++ b/recipes-multimedia/libva/files/0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch @@ -0,0 +1,255 @@ +From ac2ffac8d4aade216cc361c6c7120c13a8780719 Mon Sep 17 00:00:00 2001 +From: "Soon, Thean Siew" <thean.siew.soon@intel.com> +Date: Thu, 28 Dec 2023 18:42:59 +0000 +Subject: [PATCH 08/12] Limit INTEL MEDIA ALLOC MODE to MTL and ARL only + +Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1754] + +Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com> +--- + .../common/os/i915/include/mos_bufmgr_api.h | 1 + + .../common/os/i915/include/mos_bufmgr_priv.h | 2 +- + .../linux/common/os/i915/mos_bufmgr.c | 69 +++++++++++++++---- + .../linux/common/os/i915/mos_bufmgr_api.c | 19 +++++ + .../os/i915_production/mos_bufmgr_priv.h | 1 + + .../common/os/mos_context_specific_next.cpp | 36 +++++----- + 6 files changed, 94 insertions(+), 34 deletions(-) + +diff --git a/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h b/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h +index 71cc01099..ab4f1ba89 100644 +--- a/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h ++++ b/media_softlet/linux/common/os/i915/include/mos_bufmgr_api.h +@@ -299,6 +299,7 @@ void mos_bufmgr_enable_vmbind(struct mos_bufmgr *bufmgr); + void mos_bufmgr_disable_object_capture(struct mos_bufmgr *bufmgr); + int mos_bufmgr_get_memory_info(struct mos_bufmgr *bufmgr, char *info, uint32_t length); + int mos_bufmgr_get_devid(struct mos_bufmgr *bufmgr); ++void mos_bufmgr_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode); + + int mos_bo_map_unsynchronized(struct mos_linux_bo *bo); + int mos_bo_map_gtt(struct mos_linux_bo *bo); +diff --git a/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h b/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h +index 63f69f985..6fd58f827 100644 +--- a/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h ++++ b/media_softlet/linux/common/os/i915/include/mos_bufmgr_priv.h +@@ -358,9 +358,9 @@ struct mos_bufmgr { + void (*disable_object_capture)(struct mos_bufmgr *bufmgr) = nullptr; + int (*get_memory_info)(struct mos_bufmgr *bufmgr, char *info, uint32_t length) = nullptr; + int (*get_devid)(struct mos_bufmgr *bufmgr) = nullptr; ++ void (*realloc_cache)(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) = nullptr; + int (*query_engines_count)(struct mos_bufmgr *bufmgr, + unsigned int *nengine) = nullptr; +- + int (*query_engines)(struct mos_bufmgr *bufmgr, + __u16 engine_class, + __u64 caps, +diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr.c b/media_softlet/linux/common/os/i915/mos_bufmgr.c +index b623d0129..2814ddbb7 100644 +--- a/media_softlet/linux/common/os/i915/mos_bufmgr.c ++++ b/media_softlet/linux/common/os/i915/mos_bufmgr.c +@@ -2426,19 +2426,9 @@ mos_gem_bo_start_gtt_access(struct mos_linux_bo *bo, int write_enable) + } + + static void +-mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr) ++mos_bufmgr_cleanup_cache(struct mos_bufmgr_gem *bufmgr_gem) + { +- struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *) bufmgr; +- struct drm_gem_close close_bo; +- int i, ret; +- +- free(bufmgr_gem->exec2_objects); +- free(bufmgr_gem->exec_objects); +- free(bufmgr_gem->exec_bos); +- pthread_mutex_destroy(&bufmgr_gem->lock); +- +- /* Free any cached buffer objects we were going to reuse */ +- for (i = 0; i < bufmgr_gem->num_buckets; i++) { ++ for (int i = 0; i < bufmgr_gem->num_buckets; i++) { + struct mos_gem_bo_bucket *bucket = + &bufmgr_gem->cache_bucket[i]; + struct mos_bo_gem *bo_gem; +@@ -2450,7 +2440,25 @@ mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr) + + mos_gem_bo_free(&bo_gem->bo); + } ++ bufmgr_gem->cache_bucket[i].size = 0; + } ++ bufmgr_gem->num_buckets = 0; ++} ++ ++static void ++mos_bufmgr_gem_destroy(struct mos_bufmgr *bufmgr) ++{ ++ struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr; ++ struct drm_gem_close close_bo; ++ int ret; ++ ++ free(bufmgr_gem->exec2_objects); ++ free(bufmgr_gem->exec_objects); ++ free(bufmgr_gem->exec_bos); ++ pthread_mutex_destroy(&bufmgr_gem->lock); ++ ++ /* Free any cached buffer objects we were going to reuse */ ++ mos_bufmgr_cleanup_cache(bufmgr_gem); + + /* Release userptr bo kept hanging around for optimisation. */ + if (bufmgr_gem->userptr_active.ptr) { +@@ -3852,9 +3860,41 @@ add_bucket(struct mos_bufmgr_gem *bufmgr_gem, int size) + } + + static void +-init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem, uint8_t alloc_mode) ++init_cache_buckets(struct mos_bufmgr_gem *bufmgr_gem) ++{ ++ unsigned long size, cache_max_size = 64 * 1024 * 1024; ++ ++ /* OK, so power of two buckets was too wasteful of memory. ++ * Give 3 other sizes between each power of two, to hopefully ++ * cover things accurately enough. (The alternative is ++ * probably to just go for exact matching of sizes, and assume ++ * that for things like composited window resize the tiled ++ * width/height alignment and rounding of sizes to pages will ++ * get us useful cache hit rates anyway) ++ */ ++ add_bucket(bufmgr_gem, 4096); ++ add_bucket(bufmgr_gem, 4096 * 2); ++ add_bucket(bufmgr_gem, 4096 * 3); ++ ++ /* Initialize the linked lists for BO reuse cache. */ ++ for (size = 4 * 4096; size <= cache_max_size; size *= 2) { ++ add_bucket(bufmgr_gem, size); ++ ++ add_bucket(bufmgr_gem, size + size * 1 / 4); ++ add_bucket(bufmgr_gem, size + size * 2 / 4); ++ add_bucket(bufmgr_gem, size + size * 3 / 4); ++ } ++} ++ ++static void ++mos_gem_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) + { + unsigned long size, cache_max_size = 64 * 1024 * 1024, unit_size; ++ struct mos_bufmgr_gem *bufmgr_gem = (struct mos_bufmgr_gem *)bufmgr; ++ ++ // Clean up the pre-allocated cache before re-allocating according ++ // to alloc_mode ++ mos_bufmgr_cleanup_cache(bufmgr_gem); + + /* OK, so power of two buckets was too wasteful of memory. + * Give 3 other sizes between each power of two, to hopefully +@@ -5218,6 +5258,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) + bufmgr_gem->bufmgr.disable_object_capture = mos_gem_disable_object_capture; + bufmgr_gem->bufmgr.get_memory_info = mos_gem_get_memory_info; + bufmgr_gem->bufmgr.get_devid = mos_gem_get_devid; ++ bufmgr_gem->bufmgr.realloc_cache = mos_gem_realloc_cache; + bufmgr_gem->bufmgr.set_context_param = mos_gem_set_context_param; + bufmgr_gem->bufmgr.set_context_param_parallel = mos_gem_set_context_param_parallel; + bufmgr_gem->bufmgr.set_context_param_load_balance = mos_gem_set_context_param_load_balance; +@@ -5404,7 +5445,7 @@ mos_bufmgr_gem_init_i915(int fd, int batch_size) + bufmgr_gem->max_relocs = batch_size / sizeof(uint32_t) / 2 - 2; + + DRMINITLISTHEAD(&bufmgr_gem->named); +- init_cache_buckets(bufmgr_gem,alloc_mode); ++ init_cache_buckets(bufmgr_gem); + + DRMLISTADD(&bufmgr_gem->managers, &bufmgr_list); + +diff --git a/media_softlet/linux/common/os/i915/mos_bufmgr_api.c b/media_softlet/linux/common/os/i915/mos_bufmgr_api.c +index abe8ef96a..d0e02c267 100644 +--- a/media_softlet/linux/common/os/i915/mos_bufmgr_api.c ++++ b/media_softlet/linux/common/os/i915/mos_bufmgr_api.c +@@ -1204,6 +1204,25 @@ mos_bufmgr_get_devid(struct mos_bufmgr *bufmgr) + } + } + ++void ++mos_bufmgr_realloc_cache(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) ++{ ++ if(!bufmgr) ++ { ++ MOS_OS_CRITICALMESSAGE("Input null ptr\n"); ++ return; ++ } ++ ++ if (bufmgr->realloc_cache) ++ { ++ return bufmgr->realloc_cache(bufmgr, alloc_mode); ++ } ++ else ++ { ++ MOS_OS_CRITICALMESSAGE("Unsupported\n"); ++ } ++} ++ + int + mos_query_engines_count(struct mos_bufmgr *bufmgr, + unsigned int *nengine) +diff --git a/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h b/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h +index c3b765a4c..1d7f7edb0 100644 +--- a/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h ++++ b/media_softlet/linux/common/os/i915_production/mos_bufmgr_priv.h +@@ -358,6 +358,7 @@ struct mos_bufmgr { + void (*disable_object_capture)(struct mos_bufmgr *bufmgr) = nullptr; + int (*get_memory_info)(struct mos_bufmgr *bufmgr, char *info, uint32_t length) = nullptr; + int (*get_devid)(struct mos_bufmgr *bufmgr) = nullptr; ++ void (*realloc_cache)(struct mos_bufmgr *bufmgr, uint8_t alloc_mode) = nullptr; + int (*query_engines_count)(struct mos_bufmgr *bufmgr, + unsigned int *nengine) = nullptr; + +diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp +index 543e262d1..87059f538 100644 +--- a/media_softlet/linux/common/os/mos_context_specific_next.cpp ++++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp +@@ -90,25 +90,7 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) + + userSettingPtr = MosInterface::MosGetUserSettingInstance(osDriverContext); + +- mode = BATCH_BUFFER_SIZE; +- ReadUserSetting( +- userSettingPtr, +- value, +- "INTEL MEDIA ALLOC MODE", +- MediaUserSetting::Group::Device); +- +- if (value) +- { +- mode |= (value & 0x000000ff); +- } +- value = 0; +- /* no need to set batch buffer size after switch to softpin +- * keep it, just for test during relocation to softpin transition +- * now , it could be a debug method , but is actually useless +- * so it is safe to reuse the lowest 8bit to convey addtional information +- * more suitable solution is deleting it , or add additional parameter*/ +- +- m_bufmgr = mos_bufmgr_gem_init(m_fd, (int)mode, &m_deviceType); ++ m_bufmgr = mos_bufmgr_gem_init(m_fd, BATCH_BUFFER_SIZE, &m_deviceType); + if (nullptr == m_bufmgr) + { + MOS_OS_ASSERTMESSAGE("Not able to allocate buffer manager, fd=0x%d", m_fd); +@@ -151,6 +133,22 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) + return eStatus; + } + ++ if (m_platformInfo.eProductFamily == IGFX_METEORLAKE || ++ m_platformInfo.eProductFamily == IGFX_ARROWLAKE) ++ { ++ ReadUserSetting( ++ userSettingPtr, ++ value, ++ "INTEL MEDIA ALLOC MODE", ++ MediaUserSetting::Group::Device); ++ ++ if (value) ++ { ++ mode = (value & 0x000000ff); ++ } ++ mos_bufmgr_realloc_cache(m_bufmgr, mode); ++ } ++ + ReadUserSetting( + userSettingPtr, + value, +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0009-Skip-cache-bucket-realloc-for-default-mode-0.patch b/recipes-multimedia/libva/files/0009-Skip-cache-bucket-realloc-for-default-mode-0.patch new file mode 100644 index 00000000..8ee7ef14 --- /dev/null +++ b/recipes-multimedia/libva/files/0009-Skip-cache-bucket-realloc-for-default-mode-0.patch @@ -0,0 +1,33 @@ +From 18c32247cbc0e9fabff7a847add099496af9e53f Mon Sep 17 00:00:00 2001 +From: "Soon, Thean Siew" <thean.siew.soon@intel.com> +Date: Mon, 8 Jan 2024 18:12:30 +0000 +Subject: [PATCH 09/12] Skip cache bucket realloc for default mode 0 + +Upstream-Status: Submitted [https://github.com/intel/media-driver/pull/1754] + +Signed-off-by: Soon, Thean Siew <thean.siew.soon@intel.com> +--- + .../linux/common/os/mos_context_specific_next.cpp | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/media_softlet/linux/common/os/mos_context_specific_next.cpp b/media_softlet/linux/common/os/mos_context_specific_next.cpp +index 87059f538..9dbd5da79 100644 +--- a/media_softlet/linux/common/os/mos_context_specific_next.cpp ++++ b/media_softlet/linux/common/os/mos_context_specific_next.cpp +@@ -146,7 +146,12 @@ MOS_STATUS OsContextSpecificNext::Init(DDI_DEVICE_CONTEXT ddiDriverContext) + { + mode = (value & 0x000000ff); + } +- mos_bufmgr_realloc_cache(m_bufmgr, mode); ++ ++ // Realloc cache only if it's not mode 0 ++ if (mode) ++ { ++ mos_bufmgr_realloc_cache(m_bufmgr, mode); ++ } + } + + ReadUserSetting( +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch b/recipes-multimedia/libva/files/0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch new file mode 100644 index 00000000..0100df77 --- /dev/null +++ b/recipes-multimedia/libva/files/0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch @@ -0,0 +1,195 @@ +From 7291ab5206c5e172c6c94dcfbe4f1bc258f3b7a5 Mon Sep 17 00:00:00 2001 +From: WenshengZhang <wensheng.zhang@intel.com> +Date: Wed, 10 Jan 2024 14:08:37 +0800 +Subject: [PATCH 10/12] Fix failed 4k video wall test case and color corruption + of video composition + +Fix failed 4k video wall test case from 16CH video only show 1CH output and +corruption observed on certain number of video composition when doing +sample_multi_transcode. + +Upstream-Status: Backport [https://github.com/intel/media-driver/commit/38e14b1b97170b51586d00d1fa607e496b0c5825] +Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> +--- + .../common/vp/kdll/hal_kerneldll_next.h | 1 + + .../vp/hal/packet/vp_render_fc_kernel.cpp | 7 ++ + .../common/vp/kdll/hal_kerneldll_next.c | 70 +++++++++++-------- + .../linux/common/vp/ddi/ddi_vp_functions.cpp | 20 ++---- + 4 files changed, 55 insertions(+), 43 deletions(-) + +diff --git a/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h b/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h +index 6447999b7..8e2ab371e 100644 +--- a/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h ++++ b/media_common/agnostic/common/vp/kdll/hal_kerneldll_next.h +@@ -588,6 +588,7 @@ typedef struct tagKdll_FilterEntry + Kdll_Scalingratio ScalingRatio; + Kdll_RenderMethod RenderMethod; + Kdll_SetCSCCoeffMethod SetCSCCoeffMode; ++ bool forceToTargetColorSpace; + } Kdll_FilterEntry, *PKdll_FilterEntry; + + // Structure that defines a compositing filter +diff --git a/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp b/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp +index 8e982f67e..f8308fed1 100644 +--- a/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp ++++ b/media_softlet/agnostic/common/vp/hal/packet/vp_render_fc_kernel.cpp +@@ -775,6 +775,13 @@ MOS_STATUS VpRenderFcKernel::BuildFilter( + + for (i = 0; (i < (int)compParams->sourceCount) && (iMaxFilterSize > 0); i++) + { ++ if (i > 0) ++ { ++ if (!RECT1_CONTAINS_RECT2(compParams->source[0].surf->rcDst, compParams->source[i].surf->rcDst)) ++ { ++ pFilter->forceToTargetColorSpace = true; ++ } ++ } + src = &compParams->source[i]; + + //-------------------------------- +diff --git a/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c b/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c +index d8f7d429a..151f3b039 100644 +--- a/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c ++++ b/media_softlet/agnostic/common/vp/kdll/hal_kerneldll_next.c +@@ -2378,6 +2378,7 @@ bool KernelDll_SetupCSC( + Kdll_CSC_Matrix curr_matrix; + Kdll_CSC_Matrix *matrix = pCSC->Matrix; // Color Space conversion matrix + uint8_t * matrixID = pCSC->MatrixID; // CSC coefficient allocation table ++ bool forceToTargetColorSpace = false; + + // Clear all CSC matrices + MOS_ZeroMemory(matrix, sizeof(pCSC->Matrix)); +@@ -2395,6 +2396,10 @@ bool KernelDll_SetupCSC( + //---------------------------------------------------------------// + for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++) + { ++ if (pFilter->forceToTargetColorSpace) ++ { ++ forceToTargetColorSpace = true; ++ } + // Disable Procamp for all layers except Main Video + // Disable Procamp if source is RGB + if (pFilter->layer != Layer_MainVideo || +@@ -2456,44 +2461,51 @@ bool KernelDll_SetupCSC( + //---------------------------------------------------------------// + if (sel_cspace == CSpace_Any) + { +- int cs; +- for (cs = (CSpace_Any + 1); cs < CSpace_Count; cs++) ++ if (forceToTargetColorSpace) + { +- // Skip color spaces not in use +- cspace = (VPHAL_CSPACE)cs; +- if (!cspace_in_use[cspace]) +- { +- continue; +- } +- +- // xvYCC and BT are treated as same for CSC considerations (BT.x to xvYCC.x matrix is I) +- cspace = KernelDll_TranslateCspace(cspace); +- +- // Count # of CS conversions and matrices +- csc_count = 0; +- for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++) ++ sel_cspace = out_cspace; ++ } ++ else ++ { ++ int cs; ++ for (cs = (CSpace_Any + 1); cs < CSpace_Count; cs++) + { +- // Ignore layers where the Color Space may be set in software (colorfill, palletized) +- if (pFilter->cspace == CSpace_Any) ++ // Skip color spaces not in use ++ cspace = (VPHAL_CSPACE)cs; ++ if (!cspace_in_use[cspace]) + { + continue; + } + +- // Check if CSC/PA is required +- if (KernelDll_TranslateCspace(pFilter->cspace) != cspace || +- pFilter->procamp != DL_PROCAMP_DISABLED) ++ // xvYCC and BT are treated as same for CSC considerations (BT.x to xvYCC.x matrix is I) ++ cspace = KernelDll_TranslateCspace(cspace); ++ ++ // Count # of CS conversions and matrices ++ csc_count = 0; ++ for (i = iFilterSize, pFilter = pSearchState->Filter; i > 0; i--, pFilter++) + { +- csc_count++; ++ // Ignore layers where the Color Space may be set in software (colorfill, palletized) ++ if (pFilter->cspace == CSpace_Any) ++ { ++ continue; ++ } ++ ++ // Check if CSC/PA is required ++ if (KernelDll_TranslateCspace(pFilter->cspace) != cspace || ++ pFilter->procamp != DL_PROCAMP_DISABLED) ++ { ++ csc_count++; ++ } + } +- } + +- // Save best choice as requiring minimum number of CSC operations +- if ((sel_csc_count < 0) || // Initial value +- (csc_count < sel_csc_count) || // Minimum number of CSC operations +- (csc_count == sel_csc_count && cs == main_cspace)) // Use main cspace as default if same CSC count +- { +- sel_cspace = cspace; +- sel_csc_count = csc_count; ++ // Save best choice as requiring minimum number of CSC operations ++ if ((sel_csc_count < 0) || // Initial value ++ (csc_count < sel_csc_count) || // Minimum number of CSC operations ++ (csc_count == sel_csc_count && cs == main_cspace)) // Use main cspace as default if same CSC count ++ { ++ sel_cspace = cspace; ++ sel_csc_count = csc_count; ++ } + } + } + } +diff --git a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp +index 40d0b3fad..e60a6c69c 100644 +--- a/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp ++++ b/media_softlet/linux/common/vp/ddi/ddi_vp_functions.cpp +@@ -2115,9 +2115,8 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill( + { + DDI_VP_FUNC_ENTER; + DDI_VP_CHK_NULL(vpHalRenderParams, "nullptr vpHalRenderParams.", VA_STATUS_ERROR_INVALID_PARAMETER); +- DDI_VP_CHK_NULL(vpHalRenderParams->pTarget[0],"nullptr pTarget[0].", VA_STATUS_ERROR_INVALID_PARAMETER); + +- if ((outBackGroundcolor >> 24) != 0 || vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB) ++ if ((outBackGroundcolor >> 24) != 0) + { + if (vpHalRenderParams->pColorFillParams == nullptr) + { +@@ -2126,18 +2125,11 @@ VAStatus DdiVpFunctions::SetBackgroundColorfill( + + DDI_VP_CHK_NULL(vpHalRenderParams->pColorFillParams, "nullptr pColorFillParams.", VA_STATUS_ERROR_UNKNOWN); + +- if (vpHalRenderParams->pTarget[0]->ColorSpace == CSpace_sRGB && (outBackGroundcolor >> 24) == 0) +- { +- // set color space for sRGB output +- vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; +- } +- else +- { +- // set background colorfill option +- vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor; +- vpHalRenderParams->pColorFillParams->bYCbCr = false; +- vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; +- } ++ // set background colorfill option ++ vpHalRenderParams->pColorFillParams->Color = outBackGroundcolor; ++ vpHalRenderParams->pColorFillParams->bYCbCr = false; ++ vpHalRenderParams->pColorFillParams->CSpace = CSpace_sRGB; ++ + } + else + { +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0011-Disable-422H-format-output.patch b/recipes-multimedia/libva/files/0011-Disable-422H-format-output.patch new file mode 100644 index 00000000..2f4aec1e --- /dev/null +++ b/recipes-multimedia/libva/files/0011-Disable-422H-format-output.patch @@ -0,0 +1,33 @@ +From f8b4d982232d4c1330e1e5f5dcd7cd8ca94decba Mon Sep 17 00:00:00 2001 +From: WenshengZhang <wensheng.zhang@intel.com> +Date: Thu, 25 Jan 2024 16:35:10 +0800 +Subject: [PATCH 11/12] Disable 422H format output + +Disable 422H format output. + +Upstream-Status: Backport [https://github.com/intel/media-driver/commit/eab411768e61a46e096793291f5f992eecf76cd8] +Signed-off-by: Lim, Siew Hoon <siew.hoon.lim@intel.com> +--- + .../agnostic/common/vp/hal/feature_manager/policy.cpp | 6 ++++++ + 1 file changed, 6 insertions(+) + +diff --git a/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp b/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp +index 317cec25a..12f1124fa 100644 +--- a/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp ++++ b/media_softlet/agnostic/common/vp/hal/feature_manager/policy.cpp +@@ -1140,6 +1140,12 @@ MOS_STATUS Policy::GetScalingExecutionCaps(SwFilter *feature, bool isHdrEnabled) + bool isAlphaSettingSupportedByVebox = + IsAlphaSettingSupportedByVebox(scalingParams->formatInput, scalingParams->formatOutput, scalingParams->pCompAlpha); + ++ if (scalingParams->formatOutput == Format_422H) ++ { ++ VP_PUBLIC_ASSERTMESSAGE("Scaling not support 422H format output."); ++ return MOS_STATUS_UNIMPLEMENTED; ++ } ++ + // Clean usedForNextPass flag. + if (scalingEngine->usedForNextPass) + { +-- +2.40.1 + diff --git a/recipes-multimedia/libva/files/0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch b/recipes-multimedia/libva/files/0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch new file mode 100644 index 00000000..1be9139d --- /dev/null +++ b/recipes-multimedia/libva/files/0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch @@ -0,0 +1,32 @@ +From b93904533d3ee66c7919fa8e23d26b852a37a917 Mon Sep 17 00:00:00 2001 +From: Lim Siew Hoon <siew.hoon.lim@intel.com> +Date: Tue, 30 Jan 2024 13:27:52 +0800 +Subject: [PATCH 12/12] [Decode] Fix AVC decode SFC 4K hang issue + +Updated VDSFC input width and height for AVC decode + +Upstream-Status: Submitted [https://github.com/intel-innersource/drivers.gpu.unified/pull/151401] + +Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> +--- + .../hal/dec/avc/packet/decode_avc_downsampling_packet.cpp | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp +index e75fd8137..9cc236bd7 100644 +--- a/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp ++++ b/media_softlet/agnostic/common/codec/hal/dec/avc/packet/decode_avc_downsampling_packet.cpp +@@ -59,6 +59,10 @@ MOS_STATUS AvcDownSamplingPkt::InitSfcParams(VDBOX_SFC_PARAMS &sfcParams) + + AvcBasicFeature *avcBasicFeature = dynamic_cast<AvcBasicFeature*>(m_basicFeature); + DECODE_CHK_NULL(avcBasicFeature); ++ ++ sfcParams.input.width = avcBasicFeature->m_width; ++ sfcParams.input.height = avcBasicFeature->m_height; ++ + CODEC_PICTURE curPic = avcBasicFeature->m_avcPicParams->CurrPic; + + if (avcBasicFeature->m_avcPicParams->seq_fields.mb_adaptive_frame_field_flag == true) +-- +2.40.1 + diff --git a/recipes-multimedia/libva/intel-media-driver_20.4.5.bb b/recipes-multimedia/libva/intel-media-driver_23.4.3.bb index 513f9ba6..6513d574 100644 --- a/recipes-multimedia/libva/intel-media-driver_20.4.5.bb +++ b/recipes-multimedia/libva/intel-media-driver_23.4.3.bb @@ -18,20 +18,31 @@ REQUIRED_DISTRO_FEATURES = "opengl" DEPENDS += "libva gmmlib" -SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;branch=intel-media-20.4 \ +SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;nobranch=1 \ + file://0001-Disable-vp9-padding-on-mtl.patch \ + file://0002-Force-ARGB-surface-to-tile4-for-ACM.patch \ + file://0004-Add-device-ID-for-ARL.patch \ + file://0005-Add-XR24-support-to-DMABuf.patch \ + file://0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch \ + file://0007-Skip-report-keys.patch \ + file://0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch \ + file://0009-Skip-cache-bucket-realloc-for-default-mode-0.patch \ + file://0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch \ + file://0011-Disable-422H-format-output.patch \ + file://0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch \ " -SRCREV = "74e2f11131def34314ce52940e8d0028a4aba01c" +SRCREV = "a9f272496fc0f3e823cc4a814666ea27b443d902" S = "${WORKDIR}/git" -COMPATIBLE_HOST_x86-x32 = "null" +COMPATIBLE_HOST:x86-x32 = "null" UPSTREAM_CHECK_GITTAGREGEX = "^intel-media-(?P<pver>(?!600\..*)\d+(\.\d+)+)$" inherit cmake pkgconfig -MEDIA_DRIVER_ARCH_x86 = "32" -MEDIA_DRIVER_ARCH_x86-64 = "64" +MEDIA_DRIVER_ARCH:x86 = "32" +MEDIA_DRIVER_ARCH:x86-64 = "64" EXTRA_OECMAKE += " \ -DMEDIA_RUN_TEST_SUITE=OFF \ @@ -39,12 +50,12 @@ EXTRA_OECMAKE += " \ -DMEDIA_BUILD_FATAL_WARNINGS=OFF \ " -CXXFLAGS_append_x86 = " -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" +CXXFLAGS:append:x86 = " -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE" -do_configure_prepend_toolchain-clang() { +do_configure:prepend:toolchain-clang() { sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake } -FILES_${PN} += " \ +FILES:${PN} += " \ ${libdir}/dri/ \ " diff --git a/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb b/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb index ccb9fec1..5038d8d7 100644 --- a/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb +++ b/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb @@ -29,6 +29,6 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} PACKAGECONFIG[x11] = "-Dwith_x11=yes, -Dwith_x11=no" PACKAGECONFIG[wayland] = "-Dwith_wayland=yes, -Dwith_wayland=no, wayland wayland-native virtual/egl" -FILES_${PN} += "${libdir}/dri/*.so" -FILES_${PN}-dev += "${libdir}/dri/*.la" -FILES_${PN}-dbg += "${libdir}/dri/.debug" +FILES:${PN} += "${libdir}/dri/*.so" +FILES:${PN}-dev += "${libdir}/dri/*.la" +FILES:${PN}-dbg += "${libdir}/dri/.debug" diff --git a/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch b/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch deleted file mode 100644 index f7de9d16..00000000 --- a/recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch +++ /dev/null @@ -1,96 +0,0 @@ -From f2e6d2ecfea635ab952649156e31ca893d4b1a47 Mon Sep 17 00:00:00 2001 -From: Khem Raj <raj.khem@gmail.com> -Date: Sat, 12 Aug 2017 08:49:20 -0700 -Subject: [PATCH] Fix build with clang - -Fix errors e.g. -error: comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare]error: comparison of constant -1 with expression of type 'char' is always true [-Werror,-Wtautological-constant-out-of-range-compare] - -and - -psnr.cpp:225:17: error: bool literal returned from 'main' [-Werror,-Wmain] - -Signed-off-by: Khem Raj <raj.khem@gmail.com> -Upstream-Status: Pending - ---- - tests/decodehelp.cpp | 2 +- - tests/encodehelp.h | 2 +- - tests/vpp.cpp | 2 +- - tests/yamitranscode.cpp | 2 +- - testscripts/psnr.cpp | 4 ++-- - 5 files changed, 6 insertions(+), 6 deletions(-) - -diff --git a/tests/decodehelp.cpp b/tests/decodehelp.cpp -index b27b977..62cca63 100644 ---- a/tests/decodehelp.cpp -+++ b/tests/decodehelp.cpp -@@ -81,7 +81,7 @@ bool processCmdLine(int argc, char** argv, DecodeParameter* parameters) - { NULL, no_argument, NULL, 0 } - }; - -- char opt; -+ int opt; - while ((opt = getopt_long_only(argc, argv, "h:m:n:i:f:o:w:?", long_opts,&option_index)) != -1){ - switch (opt) { - case 'h': -diff --git a/tests/encodehelp.h b/tests/encodehelp.h -index 63580a4..651ec08 100644 ---- a/tests/encodehelp.h -+++ b/tests/encodehelp.h -@@ -109,7 +109,7 @@ static VideoRateControl string_to_rc_mode(char *str) - - static bool process_cmdline(int argc, char *argv[]) - { -- char opt; -+ int opt; - const struct option long_opts[] = { - { "help", no_argument, NULL, 'h' }, - { "qp", required_argument, NULL, 0 }, -diff --git a/tests/vpp.cpp b/tests/vpp.cpp -index 5a60c0a..52da43b 100644 ---- a/tests/vpp.cpp -+++ b/tests/vpp.cpp -@@ -151,7 +151,7 @@ public: - private: - bool processCmdLine(int argc, char* argv[]) - { -- char opt; -+ int opt; - const struct option long_opts[] = { - { "help", no_argument, NULL, 'h' }, - { "sharpening", required_argument, NULL, 's' }, -diff --git a/tests/yamitranscode.cpp b/tests/yamitranscode.cpp -index 6207209..00164ce 100755 ---- a/tests/yamitranscode.cpp -+++ b/tests/yamitranscode.cpp -@@ -100,7 +100,7 @@ static VideoRateControl string_to_rc_mode(char *str) - - static bool processCmdLine(int argc, char *argv[], TranscodeParams& para) - { -- char opt; -+ int opt; - const struct option long_opts[] = { - { "help", no_argument, NULL, 'h' }, - { "qp", required_argument, NULL, 0 }, -diff --git a/testscripts/psnr.cpp b/testscripts/psnr.cpp -index 5cc24c9..68bd668 100644 ---- a/testscripts/psnr.cpp -+++ b/testscripts/psnr.cpp -@@ -215,14 +215,14 @@ int main(int argc, char *argv[]) - const char* psnrresult = "average_psnr.txt"; - int width=0,height=0; - int standardpsnr = NORMAL_PSNR; -- char opt; -+ int opt; - while ((opt = getopt(argc, argv, "h:W:H:i:o:s:?")) != -1) - { - switch (opt) { - case 'h': - case '?': - print_help(argv[0]); -- return false; -+ return -1; - case 'i': - filename1 = optarg; - break; diff --git a/recipes-multimedia/libyami/libyami-utils_1.3.2.bb b/recipes-multimedia/libyami/libyami-utils_1.3.2.bb deleted file mode 100644 index f9333f3d..00000000 --- a/recipes-multimedia/libyami/libyami-utils_1.3.2.bb +++ /dev/null @@ -1,26 +0,0 @@ -SUMMARY = "Applications and Scripts for libyami." -DESCRIPTION = "Applications and Scripts for libyami." - -HOMEPAGE = "https://github.com/intel/libyami-utils" -BUGTRACKER = "https://github.com/intel/libyami-utils/issues/new" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e3fc50a88d0a364313df4b21ef20c29e" - -SRC_URI = "git://github.com/intel/libyami-utils.git \ - file://0001-Fix-build-with-clang.patch \ - " -SRCREV = "c3d25b64b05aeb0c4eecc140aef617cfeced6b8e" -S = "${WORKDIR}/git" - -DEPENDS = "libva libyami" - -inherit autotools pkgconfig features_check - -REQUIRED_DISTRO_FEATURES = "opengl" - -PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'x11', d)}" - -# --enable-x11 needs libva-x11 -# gles-tests fail to build without x11: see https://github.com/intel/libyami-utils/issues/91 -PACKAGECONFIG[x11] = "--enable-x11 --enable-egl,--disable-x11 --disable-egl, virtual/libx11" diff --git a/recipes-multimedia/libyami/libyami_1.3.2.bb b/recipes-multimedia/libyami/libyami_1.3.2.bb deleted file mode 100644 index c8628141..00000000 --- a/recipes-multimedia/libyami/libyami_1.3.2.bb +++ /dev/null @@ -1,24 +0,0 @@ -SUMMARY = "Yami is media infrastructure base on libva" -DESCRIPTION = "Yet Another Media Infrastructure \ -light weight hardware codec library base on VA-API " - -HOMEPAGE = "https://github.com/intel/libyami" -BUGTRACKER = "https://github.com/intel/libyami/issues/new" - -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3b83ef96387f14655fc854ddc3c6bd57" - -SRC_URI = "git://github.com/intel/libyami.git;branch=apache \ -" -SRCREV = "08606d0a43e0ef15e5b61cc13563169370ce8715" -S = "${WORKDIR}/git" - -CXXFLAGS_append = " -Wno-error" - -PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)}" -PACKAGECONFIG[x11] = "--enable-x11,--disable-x11,virtual/libx11 libxrandr libxrender" - -DEPENDS = "libva" -inherit autotools pkgconfig features_check - -REQUIRED_DISTRO_FEATURES = "opengl" diff --git a/recipes-multimedia/mediasdk/files/0001-FindOpenCL.cmake-don-t-look-for-driver-at-build-time.patch b/recipes-multimedia/mediasdk/files/0001-FindOpenCL.cmake-don-t-look-for-driver-at-build-time.patch deleted file mode 100644 index 34ffb912..00000000 --- a/recipes-multimedia/mediasdk/files/0001-FindOpenCL.cmake-don-t-look-for-driver-at-build-time.patch +++ /dev/null @@ -1,35 +0,0 @@ -From cc30986a6033e3b3b8709cf62a84bd832209e493 Mon Sep 17 00:00:00 2001 -From: Anuj Mittal <anuj.mittal@intel.com> -Date: Wed, 9 Sep 2020 15:04:14 +0800 -Subject: [PATCH] FindOpenCL.cmake: don't look for driver at build time - -We don't need the icd driver to be present when building. - -Upstream-Status: Inappropriate - -Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> ---- - builder/FindOpenCL.cmake | 2 -- - 1 file changed, 2 deletions(-) - -diff --git a/builder/FindOpenCL.cmake b/builder/FindOpenCL.cmake -index ed531bc8..d8ac00a6 100644 ---- a/builder/FindOpenCL.cmake -+++ b/builder/FindOpenCL.cmake -@@ -25,13 +25,11 @@ set( OCL_LIBS "" ) - - if ( NOT OPENCL_INCLUDE MATCHES NOTFOUND ) - if ( NOT OPENCL_LIBRARY MATCHES NOTFOUND ) -- if ( EXISTS /etc/OpenCL/vendors/intel.icd ) - set ( OPENCL_FOUND TRUE ) - - get_filename_component( OPENCL_LIBRARY_PATH ${OPENCL_LIBRARY} PATH ) - - list( APPEND OPENCL_LIBS OpenCL ) -- endif() - endif() - endif() - --- -2.26.2 - diff --git a/recipes-multimedia/mediasdk/files/fix-gcc13.patch b/recipes-multimedia/mediasdk/files/fix-gcc13.patch new file mode 100644 index 00000000..fb973870 --- /dev/null +++ b/recipes-multimedia/mediasdk/files/fix-gcc13.patch @@ -0,0 +1,15 @@ +Upstream-Status: Inactive-Upstream +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> + +diff --git a/api/mfx_dispatch/linux/mfxparser.cpp b/api/mfx_dispatch/linux/mfxparser.cpp +index 9d3823ec3e..12e46d1881 100644 +--- a/api/mfx_dispatch/linux/mfxparser.cpp ++++ b/api/mfx_dispatch/linux/mfxparser.cpp +@@ -20,6 +20,7 @@ + + #include <ctype.h> + #include <stdio.h> ++#include <stdint.h> + #include <stdlib.h> + #include <string.h> + diff --git a/recipes-multimedia/mediasdk/intel-mediasdk_20.5.1.bb b/recipes-multimedia/mediasdk/intel-mediasdk_23.2.2.bb index 965a4e33..f00a4404 100644 --- a/recipes-multimedia/mediasdk/intel-mediasdk_20.5.1.bb +++ b/recipes-multimedia/mediasdk/intel-mediasdk_23.2.2.bb @@ -12,12 +12,14 @@ CVE_DETAILS = "intel:media_sdk" # Only for 64 bit until media-driver issues aren't fixed COMPATIBLE_HOST = '(x86_64).*-linux' -COMPATIBLE_HOST_x86-x32 = "null" +COMPATIBLE_HOST:x86-x32 = "null" inherit features_check REQUIRED_DISTRO_FEATURES = "opengl" -DEPENDS += "libdrm libva intel-media-driver" +DEPENDS += "libva" + +RDEPENDS:${PN} += "intel-media-driver" PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dri3", "", d)} \ ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)} \ @@ -27,15 +29,16 @@ PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "dri3", "", d) PACKAGECONFIG[dri3] = "-DENABLE_X11_DRI3=ON, -DENABLE_X11_DRI3=OFF" PACKAGECONFIG[itt] = "-DENABLE_ITT=ON, -DENABLE_ITT=OFF, itt" -PACKAGECONFIG[opencl] = "-DENABLE_OPENCL=ON, -DENABLE_OPENCL=OFF, ocl-icd opencl-clhpp opencl-headers" +PACKAGECONFIG[opencl] = "-DENABLE_OPENCL=ON, -DENABLE_OPENCL=OFF, virtual/opencl-icd opencl-clhpp opencl-headers" PACKAGECONFIG[samples] = "-DBUILD_SAMPLES=ON, -DBUILD_SAMPLES=OFF" PACKAGECONFIG[wayland] = "-DENABLE_WAYLAND=ON, -DENABLE_WAYLAND=OFF, wayland wayland-native" -SRC_URI = "git://github.com/Intel-Media-SDK/MediaSDK.git;protocol=https;branch=${BPN}-20.5;lfs=0 \ - file://0001-FindOpenCL.cmake-don-t-look-for-driver-at-build-time.patch \ +SRC_URI = "git://github.com/Intel-Media-SDK/MediaSDK.git;protocol=https;nobranch=1;lfs=0 \ file://0001-FindITT.cmake-fix-detection-of-header-library.patch \ + file://fix-gcc13.patch \ " -SRCREV = "98c0c3639f74bc0d030642dd29592054aecffa64" + +SRCREV = "869b60a6c3d7b5e9f7c3b3b914986322dca4bbae" S = "${WORKDIR}/git" UPSTREAM_CHECK_GITTAGREGEX = "^intel-mediasdk-(?P<pver>(\d+(\.\d+)+))$" @@ -44,17 +47,17 @@ inherit cmake pkgconfig EXTRA_OECMAKE += "-DMFX_INCLUDE=${S}/api/include" -do_install_append() { +do_install:append() { mv ${D}${datadir}/mfx/samples ${D}${libdir}/mfx/samples } PACKAGE_BEFORE_PN = " ${PN}-samples" -FILES_${PN} += " \ +FILES:${PN} += " \ ${libdir}/mfx \ ${datadir}/mfx/plugins.cfg \ " -FILES_${PN}-samples = "${libdir}/mfx/samples" +FILES:${PN}-samples = "${libdir}/mfx/samples" -INSANE_SKIP_${PN}-samples += "staticdev" +INSANE_SKIP:${PN}-samples += "staticdev" diff --git a/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch b/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch new file mode 100644 index 00000000..8d1f3380 --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch @@ -0,0 +1,39 @@ +From a425927469b36e7bc597bff4fdc24d42a1168d1a Mon Sep 17 00:00:00 2001 +From: gfxVPLsdm <gfxvplsdm@intel.com> +Date: Mon, 18 Dec 2023 09:58:35 +0800 +Subject: [PATCH] ARLH DID open source (#6286) + +Co-authored-by: huangli <li.h.huang@intel.com> + +Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/66f1b4d60a367eb1b0774e0b4369f906e0e632ae] +Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> + +--- + _studio/shared/include/mfxstructures-int.h | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/_studio/shared/include/mfxstructures-int.h b/_studio/shared/include/mfxstructures-int.h +index 363d9a63..8f16b0a8 100644 +--- a/_studio/shared/include/mfxstructures-int.h ++++ b/_studio/shared/include/mfxstructures-int.h +@@ -1,4 +1,4 @@ +-// Copyright (c) 2007-2021 Intel Corporation ++// Copyright (c) 2007-2023 Intel Corporation + // + // Permission is hereby granted, free of charge, to any person obtaining a copy + // of this software and associated documentation files (the "Software"), to deal +@@ -569,6 +569,11 @@ typedef struct { + /* ARL S */ + { 0x7D67, MFX_HW_ARL, MFX_GT2 }, + ++ /* ARL H*/ ++ { 0x7D51, MFX_HW_ARL, MFX_GT2 }, ++ { 0x7DD1, MFX_HW_ARL, MFX_GT2 }, ++ { 0x7D41, MFX_HW_ARL, MFX_GT2 }, ++ + }; + + /* +-- +2.40.1 + diff --git a/recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch b/recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch new file mode 100644 index 00000000..8e014c97 --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch @@ -0,0 +1,32 @@ +From e118062518c95d8fb0080cc8276b123a90bd0eb9 Mon Sep 17 00:00:00 2001 +From: gfxVPLsdm <gfxvplsdm@intel.com> +Date: Wed, 21 Feb 2024 17:11:52 +0800 +Subject: [PATCH] Fix SetBuffersYV12() V & U plane offsets calculation (#6475) + +Signed-off-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com> +Co-authored-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com> + +Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/ce704ddfe11724767ba86c9425a3917dc3100d4a] +Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> +--- + _studio/shared/src/libmfx_core_vaapi.cpp | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/_studio/shared/src/libmfx_core_vaapi.cpp b/_studio/shared/src/libmfx_core_vaapi.cpp +index 2cad86f8..fd5fc269 100644 +--- a/_studio/shared/src/libmfx_core_vaapi.cpp ++++ b/_studio/shared/src/libmfx_core_vaapi.cpp +@@ -462,8 +462,8 @@ public: + } + else + { +- eb.offsets[1] = eb.offsets[0] + uint32_t(eb.height * eb.pitches[1] / 2); +- eb.offsets[2] = eb.offsets[1] + uint32_t(eb.height * eb.pitches[2] / 2); ++ eb.offsets[1] = eb.offsets[0] + uint32_t(eb.height * eb.pitches[0]); ++ eb.offsets[2] = eb.offsets[1] + uint32_t(eb.height * eb.pitches[1] / 2); + } + eb.num_planes = 3; + eb.data_size = eb.offsets[2] + (eb.height * eb.pitches[2] / 2); +-- +2.40.1 + diff --git a/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch b/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch new file mode 100644 index 00000000..e3854407 --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch @@ -0,0 +1,96 @@ +From 40c0bc6d3dfe172dd25908df2c16de29c34fa4d4 Mon Sep 17 00:00:00 2001 +From: gfxVPLsdm <gfxvplsdm@intel.com> +Date: Mon, 5 Feb 2024 17:14:07 +0800 +Subject: [PATCH] [JPEGe] Enable BGR4 JPEG Enc support (#6470) + +Co-authored-by: vcheah <vincent.beng.keat.cheah@intel.com> + +Upstream-Status: Backport [https://github.com/oneapi-src/oneVPL-intel-gpu/commit/e73763d05f8fdc348c356b58dcb83075b5e868f8] +Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com> +--- + .../mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp | 6 ++++-- + .../encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp | 9 +++++---- + 2 files changed, 9 insertions(+), 6 deletions(-) + +diff --git a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp +index 141564b1..332f6372 100644 +--- a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp ++++ b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw.cpp +@@ -212,7 +212,8 @@ mfxStatus MFXVideoENCODEMJPEG_HW::QueryImplsDescription( + ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_YV12; + ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_YUY2; + ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_RGB4; +- memCaps.NumColorFormats = 4; ++ ah.PushBack(memCaps.ColorFormats) = MFX_FOURCC_BGR4; ++ memCaps.NumColorFormats = 5; + + ah.PushBack(profileCaps.MemDesc); + profileCaps.MemDesc[1] = profileCaps.MemDesc[0]; +@@ -392,7 +393,7 @@ mfxStatus MFXVideoENCODEMJPEG_HW::Query(VideoCORE * core, mfxVideoParam *in, mfx + if ((fourCC == 0 && chromaFormat == 0) || + (fourCC == MFX_FOURCC_NV12 && (chromaFormat == MFX_CHROMAFORMAT_YUV420 || chromaFormat == MFX_CHROMAFORMAT_YUV400)) || + (fourCC == MFX_FOURCC_YUY2 && chromaFormat == MFX_CHROMAFORMAT_YUV422H) || +- (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444)) ++ ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444)) + { + out->mfx.FrameInfo.FourCC = in->mfx.FrameInfo.FourCC; + out->mfx.FrameInfo.ChromaFormat = in->mfx.FrameInfo.ChromaFormat; +@@ -698,6 +699,7 @@ mfxStatus MFXVideoENCODEMJPEG_HW::Init(mfxVideoParam *par) + doubleBytesPerPx = 4; + break; + case MFX_FOURCC_RGB4: ++ case MFX_FOURCC_BGR4: + default: + doubleBytesPerPx = 8; + break; +diff --git a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp +index 3fc619d1..b1ab556e 100644 +--- a/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp ++++ b/_studio/mfx_lib/encode_hw/mjpeg/src/mfx_mjpeg_encode_hw_utils.cpp +@@ -108,6 +108,7 @@ mfxStatus MfxHwMJpegEncode::CheckJpegParam(VideoCORE *core, mfxVideoParam & par, + BytesPerPx = 2; + break; + case MFX_FOURCC_RGB4: ++ case MFX_FOURCC_BGR4: + default: + BytesPerPx = 4; + } +@@ -157,7 +158,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c + + m_payload_base.length = 0; + m_payload_list.clear(); +- if (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444) ++ if ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444) + { + m_app14_data.header = 0xEEFF;//APP14 + m_app14_data.lenH = 0; +@@ -287,7 +288,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c + m_pps.num_components = 3; + else if (fourCC == MFX_FOURCC_NV12 && chromaFormat == MFX_CHROMAFORMAT_YUV400) + m_pps.num_components = 1; +- else if (fourCC == MFX_FOURCC_RGB4 && chromaFormat == MFX_CHROMAFORMAT_YUV444) ++ else if ((fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) && chromaFormat == MFX_CHROMAFORMAT_YUV444) + m_pps.num_components = 3; + else + MFX_RETURN(MFX_ERR_UNDEFINED_BEHAVIOR); +@@ -341,7 +342,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c + { + // No external tables - use Quality parameter + m_dqt_list.resize(0); +- if (fourCC == MFX_FOURCC_RGB4) ++ if (fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4) + { + m_pps.quantiser_table_selector[0] = 0; + m_pps.quantiser_table_selector[1] = 0; +@@ -393,7 +394,7 @@ mfxStatus ExecuteBuffers::Init(mfxVideoParam const *par, mfxEncodeCtrl const * c + { + m_dht_list.resize(0); + } +- else if (hwCaps->MaxNumHuffTable == 1 || fourCC == MFX_FOURCC_RGB4) ++ else if (hwCaps->MaxNumHuffTable == 1 || (fourCC == MFX_FOURCC_RGB4 || fourCC == MFX_FOURCC_BGR4)) + { + m_dht_list.resize(1); + +-- +2.40.1 + diff --git a/recipes-multimedia/onevpl/files/0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch b/recipes-multimedia/onevpl/files/0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch new file mode 100644 index 00000000..762a4902 --- /dev/null +++ b/recipes-multimedia/onevpl/files/0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch @@ -0,0 +1,28 @@ +From 630c32194f53c70f4f654fb3d198790df253ba1f Mon Sep 17 00:00:00 2001 +From: Markus Volk <f_l_k@t-online.de> +Date: Thu, 15 Jun 2023 13:43:32 +0200 +Subject: [PATCH] vpl.pc.in: dont pass pcfiledir to cflags + +Signed-off-by: Markus Volk <f_l_k@t-online.de> + +Upstream-Status: Inappropriate [oe specific] +--- + libvpl/pkgconfig/vpl.pc.in | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/libvpl/pkgconfig/vpl.pc.in b/libvpl/pkgconfig/vpl.pc.in +index ab468a9..05c020e 100644 +--- a/libvpl/pkgconfig/vpl.pc.in ++++ b/libvpl/pkgconfig/vpl.pc.in +@@ -8,6 +8,6 @@ Description: oneAPI Video Processing Library + Version: @API_VERSION_MAJOR@.@API_VERSION_MINOR@ + URL: https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/onevpl.html + +-Libs: -L${libdir} -l@OUTPUT_NAME@ @VPL_PKGCONFIG_DEPENDENT_LIBS@ ++Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@ -l@OUTPUT_NAME@ @VPL_PKGCONFIG_DEPENDENT_LIBS@ + Libs.private: @VPL_PKGCONFIG_PRIVATE_LIBS@ +-Cflags: -I${includedir} -I${includedir}/vpl ++Cflags: -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@ -I@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_INCLUDEDIR@/vpl +-- +2.40.1 + diff --git a/recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb b/recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb new file mode 100644 index 00000000..0b849bf1 --- /dev/null +++ b/recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb @@ -0,0 +1,33 @@ +SUMMARY = "Intel(R) oneVPL runtime for Intel GPU accelerated media processing" +DESCRIPTION = "Intel(R) oneVPL runtime provides an runtime to access hardware-accelerated \ +video decode, encode and filtering on Intel® graphics." + +HOMEPAGE = "https://github.com/oneapi-src/oneVPL-intel-gpu" +BUGTRACKER = "https://github.com/oneapi-src/oneVPL-intel-gpu/issues" + +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=eb8cb45b9b57dbaa9fcc9adc4230202b" + +PE = "1" + +# Only for 64 bit +COMPATIBLE_HOST = '(x86_64).*-linux' +COMPATIBLE_HOST:x86-x32 = "null" + +DEPENDS += "libdrm libva intel-media-driver onevpl pkgconfig-native" +RDEPENDS:${PN} += "intel-media-driver" + +SRC_URI = "git://github.com/oneapi-src/oneVPL-intel-gpu.git;protocol=https;nobranch=1;lfs=0 \ + file://0001-ARLH-DID-open-source-6286.patch \ + file://0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch \ + file://0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch \ + " + +SRCREV = "852fa9f705ef44c004d014548601f3804a6de705" +S = "${WORKDIR}/git" + +FILES:${PN} += " \ + ${libdir}/libmfx-gen/enctools.so \ + " + +inherit cmake diff --git a/recipes-multimedia/onevpl/onevpl_2023.4.0.bb b/recipes-multimedia/onevpl/onevpl_2023.4.0.bb new file mode 100644 index 00000000..513c7f2c --- /dev/null +++ b/recipes-multimedia/onevpl/onevpl_2023.4.0.bb @@ -0,0 +1,40 @@ +SUMMARY = "oneAPI Video Processing Library" +DESCRIPTION = "The oneAPI Video Processing Library (oneVPL) provides \ +a single video processing API for encode, decode, and video processing \ +that works across a wide range of accelerators." + +HOMEPAGE = "https://github.com/oneapi-src/oneVPL" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=c18ea6bb4786a26bf4eee88a7424a408 \ + file://third-party-programs.txt;md5=0e35a23482445dd089b4eabe19103a06" + +SRC_URI = "git://github.com/oneapi-src/oneVPL.git;protocol=https;branch=master \ + file://0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch \ + " +SRCREV = "2274efcd3672b43297ef774f332e1fed6781381c" +S = "${WORKDIR}/git" + +inherit cmake +DEPENDS += "libva pkgconfig-native" + +PACKAGECONFIG ??= "tools" +PACKAGECONFIG[tools] = "-DBUILD_TOOLS=ON, -DBUILD_TOOLS=OFF, wayland wayland-native wayland-protocols" + +do_install:append() { + mkdir -p ${D}${datadir}/oneVPL/samples + mv ${D}${bindir}/sample_* ${D}${datadir}/oneVPL/samples +} + +COMPATIBLE_HOST = '(x86_64).*-linux' + +PACKAGES =+ "${PN}-examples" + +FILES:${PN}-examples = "${datadir}/vpl \ + " + +FILES_SOLIBSDEV = "" +FILES:${PN}-dev += "${libdir}/libvpl.so" + +FILES:${PN} += " ${datadir}/oneVPL/samples \ + ${libdir}/vpl/libvpl_wayland.so \ + " diff --git a/recipes-oneapi/crypto/intel-crypto-mb/0001-CMakeLists.txt-exclude-host-system-headers.patch b/recipes-oneapi/crypto/intel-crypto-mb/0001-CMakeLists.txt-exclude-host-system-headers.patch new file mode 100644 index 00000000..58ed1c9a --- /dev/null +++ b/recipes-oneapi/crypto/intel-crypto-mb/0001-CMakeLists.txt-exclude-host-system-headers.patch @@ -0,0 +1,27 @@ +From efedbf9080c19241c2aa9ee7ba901245d38c8fa2 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Mon, 7 Mar 2022 16:44:24 +0800 +Subject: [PATCH 1/2] CMakeLists.txt: exclude host system headers + +Upstream-Status: Inappropriate + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + sources/ippcp/crypto_mb/CMakeLists.txt | 1 - + 1 file changed, 1 deletion(-) + +diff --git a/sources/ippcp/crypto_mb/CMakeLists.txt b/sources/ippcp/crypto_mb/CMakeLists.txt +index c4cc82a..4094f34 100644 +--- a/sources/ippcp/crypto_mb/CMakeLists.txt ++++ b/sources/ippcp/crypto_mb/CMakeLists.txt +@@ -82,7 +82,6 @@ include_directories( + ${CRYPTO_MB_INCLUDE_DIR} + ${OPENSSL_INCLUDE_DIR} + $<$<C_COMPILER_ID:Intel>:$ENV{ROOT}/compiler/include $ENV{ROOT}/compiler/include/icc> +- $<$<NOT:$<C_COMPILER_ID:Intel>>:${CMAKE_SYSTEM_INCLUDE_PATH}> + $<$<OR:$<C_COMPILER_ID:Intel>,$<BOOL:${MSVC_IDE}>>:$ENV{INCLUDE}> + ) + +-- +2.17.1 + diff --git a/recipes-oneapi/crypto/intel-crypto-mb/0001-crypto-mb-Make-sure-libs-are-installed-correctly.patch b/recipes-oneapi/crypto/intel-crypto-mb/0001-crypto-mb-Make-sure-libs-are-installed-correctly.patch new file mode 100644 index 00000000..c47c8de5 --- /dev/null +++ b/recipes-oneapi/crypto/intel-crypto-mb/0001-crypto-mb-Make-sure-libs-are-installed-correctly.patch @@ -0,0 +1,42 @@ +From 3b7b4eca54aa8d851e37f60c74e4a027fa7b21f2 Mon Sep 17 00:00:00 2001 +From: Anuj Mittal <anuj.mittal@intel.com> +Date: Wed, 14 Jun 2023 13:18:45 +0800 +Subject: [PATCH] crypto-mb: Make sure libs are installed correctly + +Dont assume that "lib" is always the correct destination. This fixes +multilib builds when libdir != /usr/lib. + +Upstream-Status: Pending + +Signed-off-by: Anuj Mittal <anuj.mittal@intel.com> +--- + sources/ippcp/crypto_mb/src/CMakeLists.txt | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/sources/ippcp/crypto_mb/src/CMakeLists.txt b/sources/ippcp/crypto_mb/src/CMakeLists.txt +index c9cad06..31f52bd 100644 +--- a/sources/ippcp/crypto_mb/src/CMakeLists.txt ++++ b/sources/ippcp/crypto_mb/src/CMakeLists.txt +@@ -123,8 +123,8 @@ endif(DYNAMIC_LIB OR MB_STANDALONE) + # Installation of the shared library + if (MB_STANDALONE) # standalone crypto_mb's cmake run + install(TARGETS ${MB_DYN_LIB_TARGET} +- LIBRARY DESTINATION "lib" +- RUNTIME DESTINATION "lib" ++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ++ RUNTIME DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION "include/crypto_mb") + elseif (DYNAMIC_LIB) # build from ippcp's cmake + install(TARGETS ${MB_DYN_LIB_TARGET} +@@ -154,7 +154,7 @@ endif() + # Static lib installation + if(MB_STANDALONE) + install(TARGETS ${MB_STATIC_LIB_TARGET} +- ARCHIVE DESTINATION "lib" ++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} + PUBLIC_HEADER DESTINATION "include/crypto_mb") + else() + install(TARGETS ${MB_STATIC_LIB_TARGET} +-- +2.37.3 + diff --git a/recipes-oneapi/crypto/intel-crypto-mb/0002-cmake-exclude-Yocto-build-flags.patch b/recipes-oneapi/crypto/intel-crypto-mb/0002-cmake-exclude-Yocto-build-flags.patch new file mode 100644 index 00000000..62b56ea2 --- /dev/null +++ b/recipes-oneapi/crypto/intel-crypto-mb/0002-cmake-exclude-Yocto-build-flags.patch @@ -0,0 +1,45 @@ +From b4549bb765d279b5ba042c6340e1dd69d0890b64 Mon Sep 17 00:00:00 2001 +From: Naveen Saini <naveen.kumar.saini@intel.com> +Date: Thu, 10 Mar 2022 14:30:01 +0800 +Subject: [PATCH 2/2] cmake: exclude Yocto build flags + +Ipp-crypto has its own set of flags and -march values, +which causes conflict with default -march=nehalem in gcc + +Upstream-Status: Inappropriate + +Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com> +--- + sources/ippcp/crypto_mb/src/CMakeLists.txt | 2 +- + sources/ippcp/crypto_mb/src/cmake/linux/GNU.cmake | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/sources/ippcp/crypto_mb/src/CMakeLists.txt b/sources/ippcp/crypto_mb/src/CMakeLists.txt +index 1ca1a8c..5284d62 100644 +--- a/sources/ippcp/crypto_mb/src/CMakeLists.txt ++++ b/sources/ippcp/crypto_mb/src/CMakeLists.txt +@@ -81,7 +81,7 @@ endif() + set(MB_LIB_TARGET ${MB_DYN_LIB_TARGET}) + + set_source_files_properties(${CRYPTO_MB_SOURCES} PROPERTIES COMPILE_DEFINITIONS "${AVX512_LIBRARY_DEFINES}" +- COMPILE_FLAGS "${AVX512_CFLAGS} ${CMAKE_ASM_FLAGS} ${CMAKE_C_FLAGS_SECURITY}") ++ COMPILE_FLAGS "${AVX512_CFLAGS} ${CMAKE_C_FLAGS_SECURITY}") + + # Don't specify architectural flags for the assembler for this sources, because of the bug in Intel® C Compiler under MacOS: error: invalid instruction mnemonic 'vkmovb' + # The bug has been fixed since version 2021.3. This is a workaround to support older versions of Intel® C Compiler. +diff --git a/sources/ippcp/crypto_mb/src/cmake/linux/GNU.cmake b/sources/ippcp/crypto_mb/src/cmake/linux/GNU.cmake +index a2abeeb..aadd6e2 100644 +--- a/sources/ippcp/crypto_mb/src/cmake/linux/GNU.cmake ++++ b/sources/ippcp/crypto_mb/src/cmake/linux/GNU.cmake +@@ -58,7 +58,7 @@ set(LINK_FLAGS_DYNAMIC "${LINK_FLAGS_DYNAMIC} ${CRYPTO_MB_SOURCES_DIR}/cmake/dll + # Compiler flags + + # Tells the compiler to align functions and loops +-set(CMAKE_C_FLAGS " -falign-functions=32 -falign-loops=32") ++set(CMAKE_C_FLAGS " -falign-functions=32 -falign-loops=32 ${TOOLCHAIN_OPTIONS}") + # Ensures that compilation takes place in a freestanding environment + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -ffreestanding") + +-- +2.17.1 + diff --git a/recipes-oneapi/crypto/intel-crypto-mb_2021.11.1.bb b/recipes-oneapi/crypto/intel-crypto-mb_2021.11.1.bb new file mode 100644 index 00000000..be72fd85 --- /dev/null +++ b/recipes-oneapi/crypto/intel-crypto-mb_2021.11.1.bb @@ -0,0 +1,28 @@ +SUMMARY = "Crypto Multi-buffer Library" +DESCRIPTION = "Intel® Integrated Performance Primitives (Intel® IPP) Cryptography \ +is a secure, fast and lightweight library of building blocks for cryptography, \ +highly-optimized for various Intel® CPUs." +HOMEPAGE = "https://github.com/intel/ipp-crypto" + +LICENSE = "Apache-2.0" + +LIC_FILES_CHKSUM = "file://../../../LICENSE;md5=e787af283468feca985d6b865d27d95b" + +IPP_BRANCH = "ipp-crypto_${@'_'.join(d.getVar('PV').rsplit('.')[-3:])}" + +SRC_URI = "git://github.com/intel/ipp-crypto;protocol=https;branch=${IPP_BRANCH} \ + file://0001-CMakeLists.txt-exclude-host-system-headers.patch;striplevel=4 \ + file://0002-cmake-exclude-Yocto-build-flags.patch;striplevel=4 \ + file://0001-crypto-mb-Make-sure-libs-are-installed-correctly.patch;striplevel=4 \ + " +SRCREV = "d02611e34328898d16025467d3deeb7d62b6076b" + +S = "${WORKDIR}/git/sources/ippcp/crypto_mb" + +DEPENDS = "openssl" + +inherit cmake pkgconfig +COMPATIBLE_HOST = '(x86_64).*-linux' + +EXTRA_OECMAKE += " -DARCH=intel64" +EXTRA_OECMAKE += " -DTOOLCHAIN_OPTIONS='${TOOLCHAIN_OPTIONS}'" diff --git a/recipes-oneapi/onedpl/onedpl_2022.3.0.bb b/recipes-oneapi/onedpl/onedpl_2022.3.0.bb new file mode 100644 index 00000000..d80b64c9 --- /dev/null +++ b/recipes-oneapi/onedpl/onedpl_2022.3.0.bb @@ -0,0 +1,26 @@ +SUMMARY = "oneAPI DPC++ Library (oneDPL)" +DESCRIPTION = "The oneAPI DPC++ Library (oneDPL) aims to work with the \ +oneAPI DPC++ Compiler to provide high-productivity APIs to developers, \ +which can minimize DPC++ programming efforts across devices for high \ +performance parallel applications." +HOMEPAGE = "https://github.com/oneapi-src/oneDPL" + +LICENSE = "Apache-2.0-with-LLVM-exception" +LIC_FILES_CHKSUM = "file://licensing/LICENSE.txt;md5=2e982d844baa4df1c80de75470e0c5cb \ + file://licensing/third-party-programs.txt;md5=cfb8d6b1f04a8fcc7d0dddd817619634" + +S = "${WORKDIR}/git" + +SRC_URI = "git://github.com/oneapi-src/oneDPL.git;protocol=https;branch=release/2022.3 \ + " +SRCREV = "180f18ad25fbc39fa13bad43f1df7d54ee8f5609" + +do_compile[noexec] = "1" +do_configure[noexec] = "1" + +do_install() { + install -d -m 755 ${D}${includedir}/onedpl + cp -r ${S}/include/* ${D}${includedir}/onedpl +} + +UPSTREAM_CHECK_GITTAGREGEX = "^oneDPL-(?P<pver>(\d+(\.\d+)+))-release$" diff --git a/recipes-oneapi/setup-oneapi-env/files/intel-oneapi-runtime.conf b/recipes-oneapi/setup-oneapi-env/files/intel-oneapi-runtime.conf new file mode 100644 index 00000000..5faf9854 --- /dev/null +++ b/recipes-oneapi/setup-oneapi-env/files/intel-oneapi-runtime.conf @@ -0,0 +1,4 @@ +/opt/intel/oneapi/lib +/opt/intel/oneapi/lib/intel64 +/opt/intel/oneapi/lib/ia32 +/opt/intel/oneapi/lib/emu diff --git a/recipes-oneapi/setup-oneapi-env/setup-intel-oneapi-env_2023.0.0-25370.bb b/recipes-oneapi/setup-oneapi-env/setup-intel-oneapi-env_2023.0.0-25370.bb new file mode 100644 index 00000000..702f794e --- /dev/null +++ b/recipes-oneapi/setup-oneapi-env/setup-intel-oneapi-env_2023.0.0-25370.bb @@ -0,0 +1,20 @@ +SUMMARY = "Intel® oneAPI runtime libraries environment set up" +DESCRIPTION = "Recipe to set up the environment for Intel® oneAPI runtime libraries \ +via configuration file in ld.so.conf.d directory." + +LICENSE = "EULA" +LIC_FILES_CHKSUM = "file://${CUSTOM_LICENSES_PATH}/EULA;md5=7bfc91523de2e84e7131d0eacf2827d4" + +SRC_URI = "file://intel-oneapi-runtime.conf" + +do_install() { + mkdir -p ${D}${sysconfdir}/ld.so.conf.d/ + install -m 644 ${WORKDIR}/intel-oneapi-runtime.conf ${D}${sysconfdir}/ld.so.conf.d/ +} + +pkg_postinst_ontarget:${PN}() { +if [ x"$D" = "x" ]; then + if [ -x /sbin/ldconfig ]; then /sbin/ldconfig ; fi +fi +} +BBCLASSEXTEND = "native nativesdk" diff --git a/recipes-selftest/images/secureboot-selftest-image-unsigned.bb b/recipes-selftest/images/secureboot-selftest-image-unsigned.bb index e03e7b47..d0fa6405 100644 --- a/recipes-selftest/images/secureboot-selftest-image-unsigned.bb +++ b/recipes-selftest/images/secureboot-selftest-image-unsigned.bb @@ -1,12 +1,12 @@ require recipes-core/images/core-image-minimal.bb -DEPENDS_remove = "grub-efi" +DEPENDS:remove = "grub-efi" inherit uefi-comboapp WKS_FILE = "generic-bootdisk.wks.in" -do_uefiapp_deploy_append() { +do_uefiapp_deploy:append() { for i in ${DEPLOY_DIR_IMAGE}/${IMAGE_LINK_NAME}.boot*.efi; do target=`basename $i` target=`echo $target | sed -e 's/${IMAGE_LINK_NAME}.//'` diff --git a/recipes-support/isa-l/isa-l_2.30.0.bb b/recipes-support/isa-l/isa-l_2.31.0.bb index f06fd0b7..d5d09002 100644 --- a/recipes-support/isa-l/isa-l_2.30.0.bb +++ b/recipes-support/isa-l/isa-l_2.31.0.bb @@ -2,16 +2,18 @@ SUMMARY = "Intelligent Storage Acceleration Library" DESCRIPTION = "ISA-L is a collection of optimized low-level functions \ targeting storage applications." LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=e6c7d82ad7dd512687b0991a159a1ca9" +LIC_FILES_CHKSUM = "file://LICENSE;md5=2476688d0948d4a3f7c69473a603540d" SECTION = "lib" inherit autotools pkgconfig S = "${WORKDIR}/git" -SRCREV = "2df39cf5f1b9ccaa2973f6ef273857e4dc46f0cf" -SRC_URI = "git://github.com/intel/isa-l.git" +SRCREV = "bd226375027899087bd48f3e59b910430615cc0a" +SRC_URI = "git://github.com/intel/isa-l.git;branch=master;protocol=https" DEPENDS = "nasm-native" AS[unexport] = "1" +TARGET_CC_ARCH += "${LDFLAGS}" + COMPATIBLE_HOST = '(x86_64).*-linux' diff --git a/recipes-support/jhi/jhi_1.39.bb b/recipes-support/jhi/jhi_1.39.bb deleted file mode 100644 index 2108f1a5..00000000 --- a/recipes-support/jhi/jhi_1.39.bb +++ /dev/null @@ -1,72 +0,0 @@ -SUMMARY = "Intel Dynamic Application Loader (DAL) Host Interface" -DESCRIPTION = "A daemon and libraries which allow user space applications \ -to install Java applets on DAL FW and communicate with them" -LICENSE = "Apache-2.0" -LIC_FILES_CHKSUM = "file://LICENSE;md5=833126f14614a3276708a4d7c9734645" - -SRC_URI = "git://github.com/intel/dynamic-application-loader-host-interface.git;protocol=https" - -inherit cmake useradd systemd pkgconfig update-rc.d - -SRCREV = "cbf9e015dd9de03eb5df1124d568de50ec7784d5" - -S = "${WORKDIR}/git" - -DEPENDS += "util-linux libxml2" -DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" -RDEPENDS_${PN} += "bash" - -USERADD_PACKAGES = "${PN}" -USERADD_PARAM_${PN} = "--system --no-create-home --shell /bin/false -g mei jhi" - -GROUPADD_PARAM_${PN} = "-g 880 mei" - -COMPATIBLE_HOST_libc-musl = 'null' - -SYSTEMD_SERVICE_${PN} = "jhi.service" - -INITSCRIPT_PACKAGES = "${PN}" -INITSCRIPT_NAME_${PN} = "${PN}" -INITSCRIPT_PARAMS_${PN} = "defaults" - -# systemd is the default so they are installed when sysvinit is not selected as INIT_SYSTEM -EXTRA_OECMAKE = "-DCMAKE_SKIP_RPATH=ON \ - -DINIT_SYSTEM=${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'SysVinit', 'systemd', d)} \ - -DAPPLETS_DIR=${libdir}/dal/applets \ - -DAPP_REPO_DIR=${localstatedir}/cache/dal/applet_repository \ - " - -do_install_append () { - install -d ${D}${localstatedir}/cache/dal/applet_repository - - chown -R jhi ${D}${localstatedir}/cache/dal/applet_repository - chgrp -R mei ${D}${localstatedir}/cache/dal/applet_repository - - install -d ${D}${bindir} - install -m 755 ${B}/bin_linux/smoketest ${D}${bindir} - install -m 755 ${B}/bin_linux/bist ${D}${bindir} - - install -d ${D}${libdir}/dal/applets - cp -r ${S}/test/smoketest/applets/* ${D}${libdir}/dal/applets/ -} - -PACKAGES += "${PN}-test" - -FILES_${PN}-dev = "" - -FILES_${PN} = "\ - ${sbindir} \ - ${sysconfdir} \ - ${libdir}/lib*${SOLIBSDEV} \ - ${libdir}/dal/applets/SpoolerApplet.dalp \ - ${nonarch_libdir}/tmpfiles.d \ - ${systemd_system_unitdir} \ - ${localstatedir}/cache/dal/applet_repository \ - " - -FILES_${PN}-test = "\ - ${bindir} \ - ${libdir}/dal/applets \ - " - -UPSTREAM_CHECK_COMMITS = "1" diff --git a/recipes-support/libipt/libipt_2.0.3.bb b/recipes-support/libipt/libipt_2.1.1.bb index 0cda95c0..205967c1 100644 --- a/recipes-support/libipt/libipt_2.0.3.bb +++ b/recipes-support/libipt/libipt_2.1.1.bb @@ -5,23 +5,24 @@ library or it can be partially or fully integrated into your tool." HOMEPAGE = "https://github.com/intel/libipt" LICENSE = "BSD-3-Clause" -LIC_FILES_CHKSUM = "file://LICENSE;md5=c46e7f00db37676465d8c6ccf91b3412" +LIC_FILES_CHKSUM = "file://LICENSE;md5=a429afa59f273b5d12778eda69d10313" inherit pkgconfig cmake S = "${WORKDIR}/git" -SRC_URI = "git://github.com/intel/libipt.git;protocol=https;branch=stable/v2.0" +SRC_URI = "git://github.com/intel/libipt.git;protocol=https;branch=stable/v2.1" -SRCREV = "99a73227f15d49f83bd7c83dbcf0980ec3653e7a" +SRCREV = "1c9bc700f4b9a71fd2d1cf1742de7e2351ddb281" EXTRA_OECMAKE += " \ -DPTDUMP=ON \ -DPTTC=ON \ + -DPTSEG=ON \ -DCMAKE_SKIP_RPATH=ON \ " -do_install_append() { +do_install:append() { install -d ${D}${bindir}/libipt install -d ${D}${bindir}/libipt/tests @@ -29,5 +30,5 @@ do_install_append() { cp -r ${WORKDIR}/git/test/src/* ${D}${bindir}/libipt/tests } -FILES_${PN}-test = "${bindir}" +FILES:${PN}-test = "${bindir}" PACKAGES =+ "${PN}-test" diff --git a/recipes-support/sbsigntool/sbsigntool-native_git.bb b/recipes-support/sbsigntool/sbsigntool-native_git.bb index ce605b73..5a9f5b4d 100644 --- a/recipes-support/sbsigntool/sbsigntool-native_git.bb +++ b/recipes-support/sbsigntool/sbsigntool-native_git.bb @@ -1,5 +1,5 @@ DESCRIPTION = "Utility for signing and verifying files for UEFI Secure Boot" -LICENSE = "GPLv3 & LGPL-2.1 & LGPL-3.0 & MIT" +LICENSE = "GPL-3.0-only & LGPL-2.1-only & LGPL-3.0-only & MIT" # sbsigntool statically links to libccan.a which is built with modules # passed to "create-ccan-tree" (and their dependencies). Therefore, @@ -19,24 +19,25 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPLv3;md5=9eef91148a9b14ec7f9df333daebc746 \ # The original upstream is git://kernel.ubuntu.com/jk/sbsigntool but it has # not been maintained and many patches have been backported in this repo. -SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git;protocol=https;name=sbsigntools \ - git://github.com/rustyrussell/ccan.git;protocol=https;destsuffix=git/lib/ccan.git;name=ccan \ +SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/jejb/sbsigntools.git;protocol=https;name=sbsigntools;branch=master \ + git://github.com/rustyrussell/ccan.git;protocol=https;destsuffix=git/lib/ccan.git;name=ccan;branch=master \ file://0001-configure-Fixup-build-dependencies-for-cross-compili.patch \ - " + " -SRCREV_sbsigntools ?= "f12484869c9590682ac3253d583bf59b890bb826" +SRCREV_sbsigntools ?= "9cfca9fe7aa7a8e29b92fe33ce8433e212c9a8ba" SRCREV_ccan ?= "b1f28e17227f2320d07fe052a8a48942fe17caa5" SRCREV_FORMAT = "sbsigntools_ccan" DEPENDS = "binutils-native gnu-efi-native help2man-native openssl-native util-linux-native" -PV = "0.9.4-git${SRCPV}" +PV = "0.9.5" S = "${WORKDIR}/git" -inherit native autotools pkgconfig +inherit autotools pkgconfig +inherit native -do_configure_prepend() { +do_configure:prepend() { cd ${S} sed -i s#RECIPE_SYSROOT#${RECIPE_SYSROOT_NATIVE}#g configure.ac @@ -78,3 +79,5 @@ EXTRA_OEMAKE = "\ -I${STAGING_INCDIR_NATIVE} \ -I${STAGING_INCDIR_NATIVE}/efi/${@efi_arch(d)}' \ " + +CFLAGS:append = " -Wno-error" diff --git a/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch b/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch index ef686511..ea7bee29 100644 --- a/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch +++ b/recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch @@ -10,7 +10,7 @@ under /usr/include and /usr/lib. Prepend these paths with a placeholder that can be replaced with the actual paths once they are resolved. -Upstream status: inappropriate [OE specific] +Upstream-Status: Inappropriate [OE specific] Signed-off-by: Ricardo Neri <ricardo.neri-calderon@linux.intel.com> |