aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG87
-rw-r--r--README432
-rw-r--r--README.md32
-rw-r--r--README.sources17
-rw-r--r--SECURITY.md6
-rw-r--r--classes/uefi-comboapp.bbclass6
-rw-r--r--conf/include/maintainers.inc74
-rw-r--r--conf/layer.conf26
-rw-r--r--conf/machine/include/intel-common-pkgarch.inc26
-rw-r--r--conf/machine/include/intel-core2-32-common.inc4
-rw-r--r--conf/machine/include/intel-corei7-64-common.inc4
-rw-r--r--conf/machine/include/meta-intel.inc33
-rw-r--r--conf/machine/include/qemu-intel.inc2
-rw-r--r--conf/machine/include/qemuboot-intel.inc25
-rw-r--r--conf/machine/include/tune-skylake.inc48
-rw-r--r--conf/machine/intel-core2-32.conf9
-rw-r--r--conf/machine/intel-corei7-64.conf14
-rw-r--r--conf/machine/intel-skylake-64.conf13
-rw-r--r--custom-licenses/ACE-TAO-CIAO111
-rw-r--r--custom-licenses/EULA392
-rw-r--r--custom-licenses/ISSL73
-rw-r--r--custom-licenses/syrah32
-rw-r--r--documentation/MAINTAINERS.md (renamed from MAINTAINERS)16
-rw-r--r--documentation/building_and_booting.md134
-rw-r--r--documentation/dpcpp-compiler.md107
-rw-r--r--documentation/reporting_bugs.md22
-rw-r--r--documentation/secureboot/README38
-rw-r--r--documentation/submitting_patches.md26
-rw-r--r--documentation/tested_hardware.md24
-rwxr-xr-xdynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest (renamed from recipes-core/mkl-dnn/files/run-ptest)0
-rw-r--r--dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.bb57
-rw-r--r--dynamic-layers/clang-layer/recipes-devtools/clang/clang_%.bbappend12
-rw-r--r--dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch68
-rw-r--r--dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-skip-building-tests.patch51
-rw-r--r--dynamic-layers/clang-layer/recipes-devtools/clang/files/BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch111
-rw-r--r--dynamic-layers/clang-layer/recipes-devtools/clang/files/IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch146
-rw-r--r--dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend11
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch51
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/disable-werror.patch16
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/dont-use-ld-library-path.patch43
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/external-ocloc.patch40
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_19.21.13045.bb45
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_24.05.28454.6.bb64
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-BiF-CMakeLists.txt-remove-opt-from-DEPENDS.patch35
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-external-SPIRV-Tools-change-path-to-tools-and-header.patch31
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-fix-tblgen.patch24
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch39
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch87
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch405
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch34
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb37
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.15985.7.bb75
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0001-cl_headers-CMakeLists.txt-use-clang-from-native-sysr.patch49
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/0002-Request-native-clang-only-when-cross-compiling-464.patch60
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch43
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc (renamed from dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_9.0.0.bb)23
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_14.0.0.bb5
-rw-r--r--dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_15.0.0.bb5
-rw-r--r--dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.0.0.bb33
-rw-r--r--dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_1932.0.0.0.diff30
-rw-r--r--dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_1932.0.0.0.bb35
-rw-r--r--dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb44
-rw-r--r--dynamic-layers/openembedded-layer/recipes-bsp/thermald/files/0001-Makefile-Fix-build-Issue.patch39
-rw-r--r--dynamic-layers/openembedded-layer/recipes-bsp/thermald/thermald_2.5.6.bb (renamed from recipes-bsp/thermald/thermald_1.9.bb)34
-rw-r--r--dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Add-print-function-to-print-test-run-status-in-ptest.patch53
-rw-r--r--dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0001-Fix-QA-Issues.patch36
-rw-r--r--dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/0002-cmake-don-t-build-for-32-bit-targets.patch52
-rw-r--r--dynamic-layers/openembedded-layer/recipes-core/ispc/ispc/run-ptest2
-rw-r--r--dynamic-layers/openembedded-layer/recipes-core/ispc/ispc_1.23.0.bb64
-rw-r--r--dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.15.8.bb33
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp-runtime_2024.0.0-49819.bb54
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/dpcpp-compiler/intel-oneapi-dpcpp-cpp_2024.0.0-49819.bb45
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/embree/embree_4.3.1.bb30
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/ipp/intel-oneapi-ipp_2021.10.0-653.bb35
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/mkl/intel-oneapi-mkl_2024.0.0-49656.bb74
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/oidn/oidn_2.1.0.bb23
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/openvkl/openvkl_2.0.1.bb42
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray/0001-Fix-GCC11-Compile-Error-in-benchmark_register.h.patch28
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/ospray/ospray_3.1.0.bb37
-rw-r--r--dynamic-layers/openembedded-layer/recipes-oneapi/rkcommon/rkcommon_1.13.0.bb19
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-CMakeLists-disable-Werror.patch38
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl/0001-Ignore-STATIC_ASSERTs-and-NULL-define-for-os-and-ut-builds.patch59
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/ipmctl/ipmctl_03.00.00.0485.bb47
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-CPU-Solving-the-build-failure-caused-by-setting-the-.patch43
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-fix-build-when-using-sysroot.patch32
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-cmake-yocto-specific-tweaks-to-the-build-process.patch90
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-cmake-Fix-overloaded-virtual-error.patch33
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-protobuf-allow-target-protoc-to-be-built.patch45
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch27
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo_2024.0.0.bb54
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/openvino-inference-engine_2024.0.0.bb143
-rw-r--r--lib/oeqa/runtime/cases/cyclictest.py39
-rw-r--r--lib/oeqa/runtime/cases/dldt_inference_engine.py109
-rw-r--r--lib/oeqa/runtime/cases/dldt_model_optimizer.py38
-rw-r--r--lib/oeqa/runtime/cases/intel_mediasdk.py34
-rw-r--r--lib/oeqa/runtime/cases/intel_vaapi_driver.py27
-rw-r--r--lib/oeqa/runtime/cases/isal.py24
-rw-r--r--lib/oeqa/runtime/cases/libipt.py23
-rw-r--r--lib/oeqa/runtime/cases/libxcam.py37
-rw-r--r--lib/oeqa/runtime/cases/microcode.py11
-rw-r--r--lib/oeqa/runtime/cases/mkl_dnn.py67
-rw-r--r--lib/oeqa/runtime/cases/parselogs-ignores-intel-core2-32.txt9
-rw-r--r--lib/oeqa/runtime/cases/parselogs-ignores-intel-corei7-64.txt14
-rw-r--r--lib/oeqa/runtime/cases/thermald.py47
-rw-r--r--lib/oeqa/runtime/files/dldt-inference-engine/classification_sample.py135
-rw-r--r--lib/oeqa/runtime/miutils/dldtutils.py3
-rw-r--r--lib/oeqa/runtime/miutils/targets/oeqatarget.py11
-rw-r--r--lib/oeqa/runtime/miutils/tests/dldt_inference_engine_test.py56
-rw-r--r--lib/oeqa/runtime/miutils/tests/dldt_model_optimizer_test.py23
-rw-r--r--lib/oeqa/runtime/miutils/tests/mkl_dnn_test.py55
-rw-r--r--lib/oeqa/runtime/miutils/tests/squeezenet_model_download_test.py25
-rw-r--r--recipes-bsp/ace/ace_6.5.3.bb40
-rw-r--r--recipes-bsp/ace/files/ace_config.patch12
-rw-r--r--recipes-bsp/ace/files/config_linux.patch30
-rw-r--r--recipes-bsp/formfactor/formfactor_0.0.bbappend2
-rw-r--r--recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf2
-rw-r--r--recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh15
-rw-r--r--recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb18
-rw-r--r--recipes-bsp/intel-cmt-cat/intel-cmt-cat_23.11.1.bb29
-rw-r--r--recipes-bsp/metee/metee_3.2.4.bb (renamed from recipes-bsp/metee/metee_2.1.1.bb)5
-rw-r--r--recipes-bsp/systemd-boot/systemd-boot_%.bbappend9
-rw-r--r--recipes-bsp/thermald/thermald/0001-Use-correct-format-specifier-for-size_t.patch45
-rw-r--r--recipes-core/images/core-image-minimal-initramfs.bbappend2
-rw-r--r--recipes-core/images/core-image-tiny.bb4
-rw-r--r--recipes-core/libxcam/files/0001-modules-vulkan-point-to-correct-location-of-spv-shad.patch30
-rw-r--r--recipes-core/libxcam/libxcam/0001-fake_v4l2_device.h-fix-narrowing-warning.patch94
-rw-r--r--recipes-core/libxcam/libxcam_1.5.0.bb (renamed from recipes-core/libxcam/libxcam_1.2.2.bb)20
-rw-r--r--recipes-core/meta/icx-environment.inc15
-rw-r--r--recipes-core/meta/meta-environment-extsdk.bbappend3
-rw-r--r--recipes-core/meta/meta-environment.bbappend3
-rw-r--r--recipes-core/microcode/intel-microcode_20240312.bb (renamed from recipes-core/microcode/intel-microcode_20190618.bb)15
-rw-r--r--recipes-core/microcode/iucode-tool_2.3.1.bb6
-rw-r--r--recipes-core/mkl-dnn/mkl-dnn_1.0.2.bb49
-rw-r--r--recipes-core/ovmf/files/0001-ovmf-RefkitTestCA-TEST-UEFI-SecureBoot.patch55
-rw-r--r--recipes-core/ovmf/ovmf-shell-image-enrollkeys.bb4
-rw-r--r--recipes-core/ovmf/ovmf_%.bbappend6
-rw-r--r--recipes-core/packagegroups/nativesdk-packagegroup-sdk-host.bbappend1
-rw-r--r--recipes-core/packagegroups/packagegroup-core-standalone-sdk-target.bbappend1
-rw-r--r--recipes-core/zlib/zlib-intel_1.2.11.1.jtkv6.3.bb18
-rw-r--r--recipes-devtools/ngraph/ngraph/0001-ngraph-compile-for-DLDT-R2.patch141
-rw-r--r--recipes-devtools/ngraph/ngraph_0.22.1.bb23
-rw-r--r--recipes-devtools/slimboot/slimboot-tools_git.bb22
-rw-r--r--recipes-graphics/gmmlib/files/0001-Add-new-DG2-device-IDs-194.patch38
-rw-r--r--recipes-graphics/gmmlib/files/0001-Introduce-ARL-H-support-172.patch42
-rw-r--r--recipes-graphics/gmmlib/gmmlib_22.3.15.bb (renamed from recipes-graphics/gmmlib/gmmlib_19.2.3.bb)10
-rw-r--r--recipes-graphics/hdcp/hdcp/0001-main-fix-hdcpd-service-failure.patch2
-rw-r--r--recipes-graphics/hdcp/hdcp_21.2.0.bb (renamed from recipes-graphics/hdcp/hdcp_19.2.0.bb)10
-rw-r--r--recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.24.bb39
-rw-r--r--recipes-graphics/libva/libva-intel-utils_2.20.1.bb35
-rw-r--r--recipes-graphics/libva/libva-intel_2.20.0.bb55
-rw-r--r--recipes-graphics/metrics-discovery/metrics-discovery_1.12.170.bb (renamed from recipes-graphics/metrics-discovery/metrics-discovery_1.5.108.bb)5
-rw-r--r--recipes-graphics/xorg-driver/xf86-video-ast_1.1.6.bb (renamed from recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb)4
-rw-r--r--recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch31
-rw-r--r--recipes-kernel/intel-ethernet/ixgbe_5.19.6.bb (renamed from recipes-kernel/intel-ethernet/ixgbe_5.6.3.bb)23
-rw-r--r--recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch31
-rw-r--r--recipes-kernel/intel-ethernet/ixgbevf_4.18.7.bb (renamed from recipes-kernel/intel-ethernet/ixgbevf_4.6.1.bb)23
-rw-r--r--recipes-kernel/iwlwifi/backport-iwlwifi_git.bb20
-rw-r--r--recipes-kernel/linux/linux-intel-dev.bb34
-rw-r--r--recipes-kernel/linux/linux-intel-rt_4.14.bb24
-rw-r--r--recipes-kernel/linux/linux-intel-rt_4.19.bb24
-rw-r--r--recipes-kernel/linux/linux-intel-rt_6.6.bb33
-rw-r--r--recipes-kernel/linux/linux-intel.inc19
-rw-r--r--recipes-kernel/linux/linux-intel/0001-lib-build_OID_registry-fix-reproducibility-issues.patch48
-rw-r--r--recipes-kernel/linux/linux-intel/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch62
-rw-r--r--recipes-kernel/linux/linux-intel/0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch30
-rw-r--r--recipes-kernel/linux/linux-intel/0001-perf-x86-32-explicitly-include-errno.h.patch41
-rw-r--r--recipes-kernel/linux/linux-intel/0001-vt-conmakehash-improve-reproducibility.patch58
-rw-r--r--recipes-kernel/linux/linux-intel/0002-mconf-fix-output-of-cflags-and-libraries.patch40
-rw-r--r--recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg12
-rw-r--r--recipes-kernel/linux/linux-intel/fix-perf-reproducibility.patch39
-rw-r--r--recipes-kernel/linux/linux-intel_4.14.bb22
-rw-r--r--recipes-kernel/linux/linux-intel_4.19.bb21
-rw-r--r--recipes-kernel/linux/linux-intel_6.6.bb21
-rw-r--r--recipes-kernel/linux/linux-intel_6.8.bb20
-rw-r--r--recipes-kernel/linux/linux-yocto-dev.bbappend22
-rw-r--r--recipes-kernel/linux/linux-yocto-rt_%.bbappend (renamed from recipes-kernel/linux/linux-yocto-rt_4.19.bbappend)0
-rw-r--r--recipes-kernel/linux/linux-yocto-rt_5.2.bbappend1
-rw-r--r--recipes-kernel/linux/linux-yocto_%.bbappend4
-rw-r--r--recipes-kernel/linux/linux-yocto_4.19.bbappend1
-rw-r--r--recipes-kernel/linux/linux-yocto_5.2.bbappend1
-rw-r--r--recipes-kernel/linux/meta-intel-compat-kernel.inc12
-rw-r--r--recipes-multimedia/itt/itt/0001-CMakeLists.txt-set-output-directory-path.patch33
-rw-r--r--recipes-multimedia/itt/itt_17.01.28.bb30
-rw-r--r--recipes-multimedia/itt/itt_3.24.6.bb39
-rw-r--r--recipes-multimedia/libva/files/0001-Disable-vp9-padding-on-mtl.patch35
-rw-r--r--recipes-multimedia/libva/files/0002-Force-ARGB-surface-to-tile4-for-ACM.patch44
-rw-r--r--recipes-multimedia/libva/files/0004-Add-device-ID-for-ARL.patch45
-rw-r--r--recipes-multimedia/libva/files/0005-Add-XR24-support-to-DMABuf.patch34
-rw-r--r--recipes-multimedia/libva/files/0006-add-INTEL-MEDIA-ALLOC-refineE-to-specify-the-memory-.patch214
-rw-r--r--recipes-multimedia/libva/files/0007-Skip-report-keys.patch78
-rw-r--r--recipes-multimedia/libva/files/0008-Limit-INTEL-MEDIA-ALLOC-MODE-to-MTL-and-ARL-only.patch255
-rw-r--r--recipes-multimedia/libva/files/0009-Skip-cache-bucket-realloc-for-default-mode-0.patch33
-rw-r--r--recipes-multimedia/libva/files/0010-Fix-failed-4k-video-wall-test-case-and-color-corrupt.patch195
-rw-r--r--recipes-multimedia/libva/files/0011-Disable-422H-format-output.patch33
-rw-r--r--recipes-multimedia/libva/files/0012-Decode-Fix-AVC-decode-SFC-4K-hang-issue.patch32
-rw-r--r--recipes-multimedia/libva/intel-media-driver/0001-dont-mark-implicit-function-declaration-warnings-as-.patch35
-rw-r--r--recipes-multimedia/libva/intel-media-driver_19.2.1.bb48
-rw-r--r--recipes-multimedia/libva/intel-media-driver_23.4.3.bb61
-rw-r--r--recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb (renamed from recipes-multimedia/libva/intel-vaapi-driver_2.3.0.bb)19
-rw-r--r--recipes-multimedia/libyami/libyami-utils/0001-Fix-build-with-clang.patch96
-rw-r--r--recipes-multimedia/libyami/libyami-utils_1.3.2.bb26
-rw-r--r--recipes-multimedia/libyami/libyami_1.3.2.bb24
-rw-r--r--recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch49
-rw-r--r--recipes-multimedia/mediasdk/files/fix-gcc13.patch15
-rw-r--r--recipes-multimedia/mediasdk/intel-mediasdk_23.2.2.bb (renamed from recipes-multimedia/mediasdk/intel-mediasdk_19.2.1.bb)41
-rw-r--r--recipes-multimedia/onevpl/files/0001-ARLH-DID-open-source-6286.patch39
-rw-r--r--recipes-multimedia/onevpl/files/0001-Fix-SetBuffersYV12-V-U-plane-offsets-calculation-647.patch32
-rw-r--r--recipes-multimedia/onevpl/files/0001-JPEGe-Enable-BGR4-JPEG-Enc-support-6470.patch96
-rw-r--r--recipes-multimedia/onevpl/files/0001-vpl.pc.in-dont-pass-pcfiledir-to-cflags.patch28
-rw-r--r--recipes-multimedia/onevpl/onevpl-intel-gpu_23.4.3.bb33
-rw-r--r--recipes-multimedia/onevpl/onevpl_2023.4.0.bb40
-rw-r--r--recipes-oneapi/crypto/intel-crypto-mb/0001-CMakeLists.txt-exclude-host-system-headers.patch27
-rw-r--r--recipes-oneapi/crypto/intel-crypto-mb/0001-crypto-mb-Make-sure-libs-are-installed-correctly.patch42
-rw-r--r--recipes-oneapi/crypto/intel-crypto-mb/0002-cmake-exclude-Yocto-build-flags.patch45
-rw-r--r--recipes-oneapi/crypto/intel-crypto-mb_2021.11.1.bb28
-rw-r--r--recipes-oneapi/onedpl/onedpl_2022.3.0.bb26
-rw-r--r--recipes-oneapi/setup-oneapi-env/files/intel-oneapi-runtime.conf4
-rw-r--r--recipes-oneapi/setup-oneapi-env/setup-intel-oneapi-env_2023.0.0-25370.bb20
-rw-r--r--recipes-selftest/images/secureboot-selftest-image-unsigned.bb4
-rw-r--r--recipes-support/isa-l/isa-l_2.31.0.bb (renamed from recipes-support/isa-l/isa-l_2.27.0.bb)8
-rw-r--r--recipes-support/jhi/jhi_1.33.bb66
-rw-r--r--recipes-support/libipt/libipt_2.0.1.bb16
-rw-r--r--recipes-support/libipt/libipt_2.1.1.bb34
-rw-r--r--recipes-support/sbsigntool/sbsigntool-native_git.bb19
-rw-r--r--recipes-support/sbsigntool/sbsigntool/0001-configure-Fixup-build-dependencies-for-cross-compili.patch2
-rw-r--r--wic/grub-bootdisk-microcode.wks.in2
-rw-r--r--wic/image-installer.wks.in2
-rw-r--r--wic/systemd-bootdisk-microcode.wks.in2
228 files changed, 6181 insertions, 3364 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/README b/README
deleted file mode 100644
index fef16673..00000000
--- a/README
+++ /dev/null
@@ -1,432 +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
- III. Technical Miscellany
- Benefits of using meta-intel
- The intel-common kernel package architecture
- Intel-specific machine features
- IV. Tested Hardware
- V. Guidelines for submitting patches
-
-
-I. Overview
-===========
-
-This is the location for Intel-maintained BSPs.
-
-For details on the intel-common, see the information below.
-
-For all others, please see the README files contained in the
-individual BSP layers for BSP-specific information.
-
-If you have problems with or questions about a particular BSP, please
-contact the maintainer listed in the MAINTAINERS file directly (cc:ing
-the Yocto mailing list puts it in the archive and helps other people
-who might have the same questions in the future), but please try to do
-the following first:
-
- - look in the Yocto Project Bugzilla
- (http://bugzilla.yoctoproject.org/) to see if a problem has
- already been reported
-
- - look through recent entries of the meta-intel
- (https://lists.yoctoproject.org/pipermail/meta-intel/) and Yocto
- (https://lists.yoctoproject.org/pipermail/yocto/) mailing list
- archives to see if other people have run into similar problems or
- had similar questions answered.
-
-If you believe you have encountered a bug, you can open a new bug and
-enter the details in the Yocto Project Bugzilla
-(http://bugzilla.yoctoproject.org/). If you're relatively certain
-that it's a bug against the BSP itself, please use the 'Yocto Project
-Components: BSPs | meta-intel' category for the bug; otherwise, please
-submit the bug against the most likely category for the problem - if
-you're wrong, it's not a big deal and the bug will be recategorized
-upon triage.
-
-
-II. Building and booting meta-intel BSP layers
-==============================================
-
-The following sections contain information on building and booting the
-BSPs contained in the meta-intel layer.
-
-Note that these instructions specifically cover the intel-common, which
-may or may not be applicable to other BSPs contained in this layer - if
-a given BSP contains its own README, that version should be used instead,
-and these instructions can be ignored.
-
-a. Building the intel-common BSP layers
--------------------------------------------------
-
-In order to build an image with BSP support for a given release, you
-need to download the corresponding BSP tarball from the 'Board Support
-Package (BSP) Downloads' page of the Yocto Project website (or
-equivalently, check out the appropriate branch from the meta-intel git
-repository, see below). For the intel-common BSPs, those tarballs would
-correspond to the following choices in the BSP downloads section:
-
- - Intel-core2-32 Intel® Common Core BSP (Intel-core2-32)
- - Intel-corei7-64 Intel® Common Core BSP (Intel-corei7-64)
-
-The intel-* BSPs, also known as the intel-common BSPs, provide a few
-carefully selected tune options and generic hardware support to cover
-the majority of current Intel CPUs and devices. The naming follows the
-convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type
-(used with mtune and march typically) and BITS is either 32 bit or 64
-bit.
-
-Having done that, and assuming you extracted the BSP tarball contents
-at the top-level of your yocto build tree, you can build a BSP image
-by adding the location of the meta-intel layer to bblayers.conf e.g.:
-
- yocto/meta-intel \
-
-To enable a particular machine, you need to add a MACHINE line naming
-the BSP to the local.conf file:
-
- MACHINE ?= "xxx"
-
-where 'xxx' is replaced by one of the following BSP names:
-
- - intel-core2-32
-
- This BSP is optimized for the Core2 family of CPUs as well as all
- Atom CPUs prior to the Silvermont core.
-
- - intel-corei7-64
-
- This BSP is optimized for Nehalem and later Core and Xeon CPUs as
- well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.
-
-You should then be able to build an image as such:
-
- $ source oe-init-build-env
- $ bitbake core-image-sato
-
-At the end of a successful build, you should have an image that
-you can boot from a USB flash drive (see instructions on how to do
-that below, in the section 'Booting the intel-common BSP images').
-
-As an alternative to downloading the BSP tarball, you can also work
-directly from the meta-intel git repository. For each BSP in the
-'meta-intel' repository, there are multiple branches, one
-corresponding to each major release starting with 'laverne' (0.90), in
-addition to the latest code which tracks the current master (note that
-not all BSPs are present in every release). Instead of extracting
-a BSP tarball at the top level of your yocto build tree, you can
-equivalently check out the appropriate branch from the meta-intel
-repository at the same location.
-
-b. Booting the intel-common BSP images
---------------------------------------
-
-If you've built your own image, either from the downloaded BSP layer
-or from the meta-intel git repository, you'll find the bootable
-image in the build/tmp/deploy/images/xxx directory, where again
-'xxx' refers to the machine name used in the build.
-
-Under Linux, insert a USB flash drive. Assuming the USB flash drive
-takes device /dev/sdf, use dd to copy the image to it. Before the image
-can be burned onto a USB drive, it should be un-mounted. Some Linux distros
-may automatically mount a USB drive when it is plugged in. Using USB device
-/dev/sdf as an example, find all mounted partitions:
-
- $ mount | grep sdf
-
-and un-mount those that are mounted, for example:
-
- $ umount /dev/sdf1
- $ umount /dev/sdf2
-
-Now burn the image onto the USB drive:
-
- $ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress
- $ sync
- $ eject /dev/sdf
-
-This should give you a bootable USB flash device. Insert the device
-into a bootable USB socket on the target, and power on. This should
-result in a system booted to the Sato graphical desktop.
-
-If you want a terminal, use the arrows at the top of the UI to move to
-different pages of available applications, one of which is named
-'Terminal'. Clicking that should give you a root terminal.
-
-If you want to ssh into the system, you can use the root terminal to
-ifconfig the IP address and use that to ssh in. The root password is
-empty, so to log in type 'root' for the user name and hit 'Enter' at
-the Password prompt: and you should be in.
-
-If you find you're getting corrupt images on the USB (it doesn't show
-the syslinux boot: prompt, or the boot: prompt contains strange
-characters), try doing this first:
-
- $ dd if=/dev/zero of=/dev/sdf bs=1M count=512
-
-III. Technical Miscellany
-=========================
-
-Benefits of using meta-intel
-----------------------------
-
-Using meta-intel has the following benefits over a generic BSP:
-
-tune flags
-++++++++++
-intel-* MACHINEs each have different compilation flags appropriate for their
-targeted hardware sets. intel-corei7-64 has tune flags appropriate for modern
-64-bit Intel Core i microarchitecture, and includes instruction sets up to
-SSE4.2. intel-core2-32 has tune flags appropriate for legacy 32-bit Intel Core2
-microarchitecture, and includes instruction sets up to SSE3.
-
-linux-intel kernel
-++++++++++++++++++
-The linux-intel kernel is an initiative to bring better Intel(R) hardware
-support to the current LTS linux kernel. It contains a base LTS kernel with
-additional backports from upstream Intel drivers. In addition, a default kernel
-config containing most features found on Intel boards is supplied via the
-yocto-kernel-cache.
-
-graphics stack
-++++++++++++++
-Meta-intel provides the latest Intel Graphics Linux Stack drivers to support
-Intel hardware as defined by the https://01.org/linuxgraphics.
-
-Other software
-++++++++++++++
- * intel ucode - provides the latest microcode updates for Intel processors
-
- * thermald - which proactively controls thermal, using P-states, T-states, and
-the Intel power clamp driver.
-(https://01.org/linux-thermal-daemon/documentation/introduction-thermal-daemon)
-
-The intel-common kernel package architecture
---------------------------------------------
-
-These BSPs use what we call the intel-common Linux kernel package
-architecture. This includes core2-32-intel-common and
-corei7-64-intel-common. These kernel packages can also be used by any
-of the BSPs in meta-intel that choose to include the
-intel-common-pkgarch.inc file.
-
-To minimize the proliferation of vendor trees, reduce the sources we
-must support, and consolidate QA efforts, all BSP maintainers are
-encouraged to make use of the intel-common Linux kernel package
-architecture.
-
-Intel-specific machine features
--------------------------------
-
-The meta-intel layer makes some additional machine features available
-to BSPs. These machine features can be used in a BSP layer in the
-same way that machine features are used in other layers based on
-oe-core, via the MACHINE_FEATURES variable.
-
-Requirements
-++++++++++++
-
-The meta-intel-specific machine features are only available to a BSP
-when the meta-intel layer is included in the build configuration, and
-the meta-intel.inc file is included in the machine configuration of
-that BSP.
-
-To make these features available for your machine, you will need to:
-
- 1. include a configuration line such as the below in bblayers.conf
- BBLAYERS += "<local path>/meta-intel"
- 2. include the following line in the machine configuration file
- require conf/machine/include/meta-intel.inc
-
-Once the above requirements are met, the machine features provided by
-the meta-intel layer will be available for the BSP to use.
-
-Available machine features
-++++++++++++++++++++++++++
-
-Currently, the meta-intel layer makes the following set of
-Intel-specific machine features available:
-
- * intel-ucode
-
-These machine features can be included by listing them in the
-MACHINE_FEATURES variable in the machine configuration file. For
-example:
-
- MACHINE_FEATURES += "intel-ucode"
-
-Machine feature details
-+++++++++++++++++++++++
-
- * intel-ucode
-
- This feature provides support for microcode updates to Intel
- processors. The intel-ucode feature runs at early boot and uses
- the microcode data file added by the feature into the BSP's
- initrd. It also puts the userland microcode-updating tool,
- iucode_tool, into the target images along with the microcode data
- file.
-
- Q. Why might a user want to enable the intel-ucode feature?
-
- A. Intel releases microcode updates to correct processor behavior
- as documented in the respective processor specification
- updates. While the normal approach to getting such microcode
- updates is via a BIOS upgrade, this can be an administrative
- hassle and not always possible in the field. The intel-ucode
- feature enables the microcode update capability present in the
- Linux kernel. It provides an easy path for upgrading processor
- microcode without the need to change the BIOS. If the feature
- is enabled, it is also possible to update the existing target
- images with a newer microcode update in the future.
-
- Q. How would a user bundle only target-specific microcode in the
- target image?
-
- A. The Intel microcode data file released by Intel contains
- microcode updates for multiple processors. If the BSP image is
- meant to run on only a certain subset of processor types, a
- processor-specific subset of microcode can be bundled into the
- target image via the UCODE_FILTER_PARAMETERS variable. This
- works by listing a sequence of iucode-tool parameters in the
- UCODE_FILTER_PARAMETERS variable, which in this case will
- select only the specific microcode relevant to the BSP. For
- more information on the underlying parameters refer to the
- iucode-tool manual page at http://manned.org/iucode-tool
-
- To define a set of parameters for microcode-filtering via the
- UCODE_FILTER_PARAMETERS variable, one needs to identify the
- cpuid signatures of all the processors the BSP is meant to run
- on. One way to determine the cpuid signature for a specific
- processor is to build and run an intel-ucode-feature-enabled
- image on the target hardware, without first assigning any value
- to the UCODE_FILTER_PARAMETERS variable, and then once the
- image is booted, run the "ucode_tool -S" command to have the
- ucode tool scan the system for processor signatures. These
- signatures can then be used in the UCODE_FILTER_PARAMETERS
- variable in conjunction with -s parameter. For example, for
- the fri2 BSP, the cpuid can be determined as such:
-
- [root@fri2 ~]# iucode_tool -S
- iucode_tool: system has processor(s) with signature 0x00020661
-
- Given that output, a suitable UCODE_FILTER_PARAMETERS variable
- definition could be specified in the machine configuration as
- such:
-
- UCODE_FILTER_PARAMETERS = "-s 0x00020661"
-
- Q. Are there any reasons a user might want to disable the
- intel-ucode feature?
-
- A. The microcode data file and associated tools occupy a small
- amount of space (a few KB) on the target image. BSPs which are
- highly sensitive to target image size and which are not
- experiencing microcode-related issues might consider not
- enabling this feature.
-
-
-IV. Tested Hardware
-===================
-
-The following undergo regular basic testing with their respective MACHINE types.
-Note that both 64-bit and 32-bit firmware is available for the MinnowBoard
-Turbot, so it is tested against both intel-corei7-64 and intel-core2-32.
-
-intel-corei7-64:
- NUC6i5SYH
- 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@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..ef1dd842
--- /dev/null
+++ b/README.md
@@ -0,0 +1,32 @@
+# 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](documentation/MAINTAINERS.md)
+
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 d3ec4792..9849d0d8 100644
--- a/conf/include/maintainers.inc
+++ b/conf/include/maintainers.inc
@@ -1,24 +1,54 @@
# This file contains a list of recipe maintainers for meta-intel
-RECIPE_MAINTAINER_pn-core-image-rt = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-core-image-rt-sdk = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gma500-gfx-check = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-gmmlib = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-intel-gpu-tools = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-intel-media-driver = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-intel-mediasdk = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-intel-microcode = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-core-image-minimal-initramfs = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-iucode-tool = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-intel-vaapi-driver = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libyami = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-libyami-utils = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-linux-intel = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-linux-intel-rt = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-thermald = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-xf86-video-ast = "Anuj Mittal <anuj.mittal@intel.com>"
-RECIPE_MAINTAINER_pn-mkl-dnn = "Ankit Navik <ankit.tarot@gmail.com>"
-RECIPE_MAINTAINER_pn-metrics-discovery = "Ankit Navik <ankit.tarot@gmail.com>"
-RECIPE_MAINTAINER_pn-libxcam = "Ankit Navik <ankit.tarot@gmail.com>"
-RECIPE_MAINTAINER_pn-isa-l = "Ankit Navik <ankit.tarot@gmail.com>"
-RECIPE_MAINTAINER_pn-libipt = "Ankit Navik <ankit.tarot@gmail.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 e5bd2189..97dfb897 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -10,28 +10,36 @@ 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 = "thud warrior"
+LAYERSERIES_COMPAT_intel = "kirkstone scarthgap"
BBFILES_DYNAMIC += " \
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bbappend \
-"
-
-BBFILES_DYNAMIC += " \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bb \
openembedded-layer:${LAYERDIR}/dynamic-layers/openembedded-layer/*/*/*.bbappend \
+ meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bb \
+ meta-python:${LAYERDIR}/dynamic-layers/meta-python/*/*/*.bbappend \
"
require ${LAYERDIR}/conf/include/maintainers.inc
-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"
+PREFERRED_PROVIDER_libva-native ?= "libva-native"
+PREFERRED_PROVIDER_nativesdk-libva ?= "nativesdk-libva"
+
+PREFERRED_PROVIDER_libva-utils ?= "libva-utils"
+PREFERRED_PROVIDER_libva-utils-native ?= "libva-utils-native"
+PREFERRED_PROVIDER_nativesdk-libva-utils ?= "nativesdk-libva-utils"
+
+# addpylib ${LAYERDIR}/lib oeqa
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 ccd06c6a..230d0253 100644
--- a/conf/machine/include/meta-intel.inc
+++ b/conf/machine/include/meta-intel.inc
@@ -5,34 +5,43 @@
#
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 ?= "6.6%"
+PREFERRED_VERSION_linux-intel-rt ?= "6.6%"
+PREFERRED_VERSION_linux-intel:poky-altcfg ?= "6.8%"
-PREFERRED_VERSION_linux-intel ?= "4.19%"
-PREFERRED_VERSION_linux-intel-rt ?= "4.19%"
+# Need to point to latest version of libva needed for media components
+PREFERRED_PROVIDER_libva = "libva-intel"
+PREFERRED_PROVIDER_libva-native = "libva-intel-native"
+PREFERRED_PROVIDER_nativesdk-libva = "nativesdk-libva-intel"
+
+PREFERRED_PROVIDER_libva-utils = "libva-intel-utils"
+PREFERRED_PROVIDER_libva-utils-native = "libva-intel-utils-native"
+PREFERRED_PROVIDER_nativesdk-libva-utils = "nativesdk-libva-intel-utils"
+
+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 88e20a3e..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 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_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 d99dc783..5b134dc3 100644
--- a/conf/machine/intel-core2-32.conf
+++ b/conf/machine/intel-core2-32.conf
@@ -13,11 +13,6 @@ MACHINE_FEATURES += "intel-ucode"
MACHINE_HWCODECS ?= "intel-vaapi-driver gstreamer1.0-vaapi"
-MACHINE_ESSENTIAL_EXTRA_RRECOMMENDS += "gma500-gfx-check"
-
-# Enable optional QAT items:
-COMPATIBLE_MACHINE_pn-qat17 = "intel-core2-32"
-
XSERVER ?= "${XSERVER_X86_BASE} \
${XSERVER_X86_EXT} \
${XSERVER_X86_FBDEV} \
@@ -29,9 +24,9 @@ XSERVER ?= "${XSERVER_X86_BASE} \
"
SYSLINUX_OPTS = "serial 0 115200"
-SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyPCH0"
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyPCH0"
APPEND += "rootwait console=ttyS0,115200 console=ttyPCH0,115200 console=tty0"
IMAGE_FSTYPES += "wic"
WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}"
-WKS_FILE_DEPENDS_append = " intel-microcode"
+WKS_FILE_DEPENDS:append = " intel-microcode"
diff --git a/conf/machine/intel-corei7-64.conf b/conf/machine/intel-corei7-64.conf
index 6164bf3e..968395fe 100644
--- a/conf/machine/intel-corei7-64.conf
+++ b/conf/machine/intel-corei7-64.conf
@@ -11,15 +11,11 @@ MACHINE_FEATURES += "pcbios efi"
MACHINE_FEATURES += "wifi 3g nfc"
MACHINE_FEATURES += "intel-ucode"
-MACHINE_HWCODECS ?= "${@bb.utils.contains('TUNE_FEATURES', 'mx32', '', 'intel-media-driver intel-mediasdk', d)} intel-vaapi-driver gstreamer1.0-vaapi"
+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} \
@@ -32,9 +28,9 @@ XSERVER ?= "${XSERVER_X86_BASE} \
"
SYSLINUX_OPTS = "serial 0 115200"
-SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyS2"
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyS2"
APPEND += "rootwait console=ttyS0,115200 console=tty0"
IMAGE_FSTYPES += "wic"
WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}"
-WKS_FILE_DEPENDS_append = " intel-microcode"
+WKS_FILE_DEPENDS:append = " intel-microcode"
diff --git a/conf/machine/intel-skylake-64.conf b/conf/machine/intel-skylake-64.conf
index 51786ba7..a2b392c2 100644
--- a/conf/machine/intel-skylake-64.conf
+++ b/conf/machine/intel-skylake-64.conf
@@ -4,15 +4,18 @@
#@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"
MACHINE_FEATURES += "wifi 3g nfc"
MACHINE_FEATURES += "intel-ucode"
-MACHINE_HWCODECS ?= "intel-vaapi-driver gstreamer1.0-vaapi"
+MACHINE_HWCODECS ?= "intel-media-driver intel-mediasdk gstreamer1.0-vaapi"
+
+COMPATIBLE_MACHINE:pn-dpdk = "intel-skylake-64"
+COMPATIBLE_MACHINE:pn-dpdk-module = "intel-skylake-64"
XSERVER ?= "${XSERVER_X86_BASE} \
${XSERVER_X86_EXT} \
@@ -25,9 +28,9 @@ XSERVER ?= "${XSERVER_X86_BASE} \
"
SYSLINUX_OPTS = "serial 0 115200"
-SERIAL_CONSOLES = "115200;ttyS0 115200;ttyS1 115200;ttyS2"
+SERIAL_CONSOLES ?= "115200;ttyS0 115200;ttyS1 115200;ttyS2"
APPEND += "rootwait console=ttyS0,115200 console=tty0"
IMAGE_FSTYPES += "wic"
WKS_FILE ?= "${@bb.utils.contains_any("EFI_PROVIDER", "systemd-boot", "systemd-bootdisk-microcode.wks.in", "grub-bootdisk-microcode.wks.in", d)}"
-WKS_FILE_DEPENDS_append = " intel-microcode"
+WKS_FILE_DEPENDS:append = " intel-microcode"
diff --git a/custom-licenses/ACE-TAO-CIAO b/custom-licenses/ACE-TAO-CIAO
deleted file mode 100644
index 67fc5632..00000000
--- a/custom-licenses/ACE-TAO-CIAO
+++ /dev/null
@@ -1,111 +0,0 @@
-
- _________________________________________________________________
-
- Copyright and Licensing Information for ACE(TM), TAO(TM), CIAO(TM),
- DAnCE(TM), and CoSMIC(TM)
-
- [1]ACE(TM), [2]TAO(TM), [3]CIAO(TM), DAnCE(TM), and [4]CoSMIC(TM)
- (henceforth referred to as "DOC software") are copyrighted by
- [5]Douglas C. Schmidt and his [6]research group at [7]Washington
- University, [8]University of California, Irvine, and [9]Vanderbilt
- University, Copyright (c) 1993-2018, all rights reserved. Since DOC
- software is open-source, freely available software, you are free to
- use, modify, copy, and distribute--perpetually and irrevocably--the
- DOC software source code and object code produced from the source, as
- well as copy and distribute modified versions of this software. You
- must, however, include this copyright statement along with any code
- built using DOC software that you release. No copyright statement
- needs to be provided if you just ship binary executables of your
- software products.
-
- You can use DOC software in commercial and/or binary software releases
- and are under no obligation to redistribute any of your source code
- that is built using DOC software. Note, however, that you may not
- misappropriate the DOC software code, such as copyrighting it yourself
- or claiming authorship of the DOC software code, in a way that will
- prevent DOC software from being distributed freely using an
- open-source development model. You needn't inform anyone that you're
- using DOC software in your software, though we encourage you to let
- [10]us know so we can promote your project in the [11]DOC software
- success stories.
-
- The [12]ACE, [13]TAO, [14]CIAO, [15]DAnCE, and [16]CoSMIC web sites
- are maintained by the [17]DOC Group at the [18]Institute for Software
- Integrated Systems (ISIS) and the [19]Center for Distributed Object
- Computing of Washington University, St. Louis for the development of
- open-source software as part of the open-source software community.
- Submissions are provided by the submitter ``as is'' with no warranties
- whatsoever, including any warranty of merchantability, noninfringement
- of third party intellectual property, or fitness for any particular
- purpose. In no event shall the submitter be liable for any direct,
- indirect, special, exemplary, punitive, or consequential damages,
- including without limitation, lost profits, even if advised of the
- possibility of such damages. Likewise, DOC software is provided as is
- with no warranties of any kind, including the warranties of design,
- merchantability, and fitness for a particular purpose,
- noninfringement, or arising from a course of dealing, usage or trade
- practice. Washington University, UC Irvine, Vanderbilt University,
- their employees, and students shall have no liability with respect to
- the infringement of copyrights, trade secrets or any patents by DOC
- software or any part thereof. Moreover, in no event will Washington
- University, UC Irvine, or Vanderbilt University, their employees, or
- students be liable for any lost revenue or profits or other special,
- indirect and consequential damages.
-
- DOC software is provided with no support and without any obligation on
- the part of Washington University, UC Irvine, Vanderbilt University,
- their employees, or students to assist in its use, correction,
- modification, or enhancement. A [20]number of companies around the
- world provide commercial support for DOC software, however. DOC
- software is Y2K-compliant, as long as the underlying OS platform is
- Y2K-compliant. Likewise, DOC software is compliant with the new US
- daylight savings rule passed by Congress as "The Energy Policy Act of
- 2005," which established new daylight savings times (DST) rules for
- the United States that expand DST as of March 2007. Since DOC software
- obtains time/date and calendaring information from operating systems
- users will not be affected by the new DST rules as long as they
- upgrade their operating systems accordingly.
-
- The names ACE(TM), TAO(TM), CIAO(TM), DAnCE(TM), CoSMIC(TM),
- Washington University, UC Irvine, and Vanderbilt University, may not
- be used to endorse or promote products or services derived from this
- source without express written permission from Washington University,
- UC Irvine, or Vanderbilt University. This license grants no permission
- to call products or services derived from this source ACE(TM),
- TAO(TM), CIAO(TM), DAnCE(TM), or CoSMIC(TM), nor does it grant
- permission for the name Washington University, UC Irvine, or
- Vanderbilt University to appear in their names.
-
- If you have any suggestions, additions, comments, or questions, please
- let [21]me know.
-
- [22]Douglas C. Schmidt
- _________________________________________________________________
-
- Back to the [23]ACE home page.
-
-References
-
- 1. http://www.dre.vanderbilt.edu/~schmidt/ACE.html
- 2. http://www.dre.vanderbilt.edu/~schmidt/TAO.html
- 3. http://www.dre.vanderbilt.edu/CIAO/
- 4. http://www.dre.vanderbilt.edu/cosmic/
- 5. http://www.dre.vanderbilt.edu/~schmidt/
- 6. http://www.dre.vanderbilt.edu/~schmidt/ACE-members.html
- 7. http://www.wustl.edu/
- 8. http://www.uci.edu/
- 9. http://www.vanderbilt.edu/
- 10. mailto:doc_group@cs.wustl.edu
- 11. http://www.dre.vanderbilt.edu/~schmidt/ACE-users.html
- 12. http://www.dre.vanderbilt.edu/~schmidt/ACE.html
- 13. http://www.dre.vanderbilt.edu/~schmidt/TAO.html
- 14. http://www.dre.vanderbilt.edu/CIAO/
- 15. http://www.dre.vanderbilt.edu/~schmidt/DOC_ROOT/DAnCE/
- 16. http://www.dre.vanderbilt.edu/cosmic/
- 17. http://www.dre.vanderbilt.edu/
- 18. http://www.isis.vanderbilt.edu/
- 19. http://www.cs.wustl.edu/~schmidt/doc-center.html
- 20. http://www.dre.vanderbilt.edu/~schmidt/commercial-support.html
- 21. mailto:d.schmidt@vanderbilt.edu
- 22. http://www.dre.vanderbilt.edu/~schmidt/
- 23. http://www.dre.vanderbilt.edu/~schmidt/ACE.html
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
new file mode 100644
index 00000000..f987e502
--- /dev/null
+++ b/custom-licenses/ISSL
@@ -0,0 +1,73 @@
+Intel Simplified Software License (Version August 2021)
+
+Use and Redistribution. You may use and redistribute the software (the
+"Software"), without modification, provided the following conditions are met:
+
+* Redistributions must reproduce the above copyright notice and the following
+ terms of use in the Software and in the documentation and/or other materials
+ provided with the distribution.
+* Neither the name of Intel nor the names of its suppliers may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+* No reverse engineering, decompilation, or disassembly of this Software is
+ permitted.
+
+No other licenses. Except as provided in the preceding section, Intel grants no
+licenses or other rights by implication, estoppel or otherwise to, patent,
+copyright, trademark, trade name, service mark or other intellectual property
+licenses or rights of Intel.
+
+Third party software. The Software may contain Third Party Software. "Third
+Party Software" is open source software, third party software, or other Intel
+software that may be identified in the Software itself or in the files (if any)
+listed in the "third-party-software.txt" or similarly named text file included
+with the Software. Third Party Software, even if included with the distribution
+of the Software, may be governed by separate license terms, including without
+limitation, open source software license terms, third party software license
+terms, and other Intel software license terms. Those separate license terms
+solely govern your use of the Third Party Software, and nothing in this license
+limits any rights under, or grants rights that supersede, the terms of the
+applicable license terms.
+
+DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE
+DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
+WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE
+THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND
+ATTORNEYS' FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT
+INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE SOFTWARE.
+
+LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+No support. Intel may make changes to the Software, at any time without notice,
+and is not obligated to support, update or provide training for the Software.
+
+Termination. Your right to use the Software is terminated in the event of your
+breach of this license.
+
+Feedback. Should you provide Intel with comments, modifications, corrections,
+enhancements or other input ("Feedback") related to the Software, Intel will be
+free to use, disclose, reproduce, license or otherwise distribute or exploit the
+Feedback in its sole discretion without any obligations or restrictions of any
+kind, including without limitation, intellectual property rights or licensing
+obligations.
+
+Compliance with laws. You agree to comply with all relevant laws and regulations
+governing your use, transfer, import or export (or prohibition thereof) of the
+Software.
+
+Governing law. All disputes will be governed by the laws of the United States of
+America and the State of Delaware without reference to conflict of law
+principles and subject to the exclusive jurisdiction of the state or federal
+courts sitting in the State of Delaware, and each party agrees that it submits
+to the personal jurisdiction and venue of those courts and waives any
+objections. The United Nations Convention on Contracts for the International
+Sale of Goods (1980) is specifically excluded and will not apply to the
+Software.
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/MAINTAINERS b/documentation/MAINTAINERS.md
index 73a9fe3a..ea435849 100644
--- a/MAINTAINERS
+++ b/documentation/MAINTAINERS.md
@@ -1,15 +1,13 @@
-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
+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
+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
+Please see the [Guidelines for submitting patches](submitting_patches.md)
+and [Reporting bugs](reporting_bugs.md) 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.
@@ -26,7 +24,5 @@ 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: *
+M: Anuj Mittal <anuj.mittal@intel.com>
+F: *
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..59621c1e
--- /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 [Maintainers](MAINTAINERS.md) 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/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..41a039bd
--- /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](MAINTAINERS.md) 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/recipes-core/mkl-dnn/files/run-ptest b/dynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest
index 82d4df58..82d4df58 100755
--- a/recipes-core/mkl-dnn/files/run-ptest
+++ b/dynamic-layers/clang-layer/recipes-core/dnn/files/run-ptest
diff --git a/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.bb b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.bb
new file mode 100644
index 00000000..afea70df
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-core/dnn/onednn_3.4.bb
@@ -0,0 +1,57 @@
+HOMEPAGE = "https://www.oneapi.com"
+SUMMARY = "Deep Neural Network Library"
+DESCRIPTION = "This software is a user mode library that accelerates\
+deep-learning applications and frameworks on Intel architecture."
+LICENSE = "Apache-2.0 & BSD-3-Clause & BSL-1.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3b64000f6e7d52516017622a37a94ce9 \
+ file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
+ file://src/cpu/x64/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \
+ file://src/common/ittnotify/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \
+ "
+SECTION = "lib"
+
+inherit pkgconfig cmake ptest
+
+DNN_BRANCH = "rls-v${@'.'.join(d.getVar('PV').split('.')[0:2])}"
+
+S = "${WORKDIR}/git"
+SRCREV = "ecd7fb6d5a0df6503d1691c1754a684b9c769c16"
+SRC_URI = "git://github.com/oneapi-src/oneDNN.git;branch=${DNN_BRANCH};protocol=https \
+ file://run-ptest \
+ "
+
+UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
+
+CVE_PRODUCT = "intel:math_kernel_library"
+
+COMPATIBLE_HOST = '(x86_64).*-linux'
+COMPATIBLE_HOST:libc-musl = 'null'
+
+EXTRA_OECMAKE += " \
+ -DDNNL_LIBRARY_TYPE=SHARED \
+ -DDNNL_BUILD_EXAMPLES=ON \
+ -DDNNL_BUILD_TESTS=ON \
+ -DDNNL_CPU_RUNTIME=OMP \
+ -DDNNL_ARCH_OPT_FLAGS="" \
+ -DCMAKE_SKIP_RPATH=ON \
+ -DONEDNN_BUILD_GRAPH=OFF \
+ "
+
+PACKAGECONFIG ??= "gpu"
+PACKAGECONFIG[gpu] = "-DDNNL_GPU_RUNTIME=OCL, , opencl-headers virtual/opencl-icd, intel-compute-runtime"
+
+do_install:append () {
+ install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs
+ install -m 0755 ${B}/tests/benchdnn/benchdnn ${D}${bindir}/mkl-dnn/tests/benchdnn
+ cp -r ${B}/tests/benchdnn/inputs/* ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs
+}
+
+do_install_ptest () {
+ install -d ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/tests/api-c ${D}${PTEST_PATH}/tests
+ install -m 0755 ${B}/tests/test_c_symbols-c ${D}${PTEST_PATH}/tests
+}
+
+PACKAGES =+ "${PN}-test"
+
+FILES:${PN}-test = "${bindir}/mkl-dnn/*"
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/clang_%.bbappend b/dynamic-layers/clang-layer/recipes-devtools/clang/clang_%.bbappend
deleted file mode 100644
index cb71cb06..00000000
--- a/dynamic-layers/clang-layer/recipes-devtools/clang/clang_%.bbappend
+++ /dev/null
@@ -1,12 +0,0 @@
-FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:"
-
-LLVM_TARGETS_TO_BUILD = "X86"
-
-do_install_append_intel-x86-common() {
- DESTDIR=${D} ninja -v install-cmake-exports
-}
-
-LIBCPLUSPLUS = ""
-
-# undefined reference to `__atomic_load' on i*86.
-COMPATIBLE_HOST = '(x86_64).*-linux'
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch
deleted file mode 100644
index da2475f9..00000000
--- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-dont-export-targets-for-binaries.patch
+++ /dev/null
@@ -1,68 +0,0 @@
-From 559fb8f82295ec4dc64a132b6566939b85c1b6fe Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Thu, 15 Aug 2019 22:34:31 +0800
-Subject: [PATCH] dont export targets for binaries
-
-The projects using LLVM cmake modules look for target binaries in
-sysroot as a result which isn't desirable in this case and isn't needed
-either.
-
-Upstream-Status: Inappropriate [cross-compile specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
----
- llvm/cmake/modules/AddLLVM.cmake | 9 ---------
- llvm/cmake/modules/TableGen.cmake | 6 ------
- 2 files changed, 15 deletions(-)
-
-diff --git a/llvm/cmake/modules/AddLLVM.cmake b/llvm/cmake/modules/AddLLVM.cmake
-index 619e986b8aa..d2bc1a25dd9 100644
---- a/llvm/cmake/modules/AddLLVM.cmake
-+++ b/llvm/cmake/modules/AddLLVM.cmake
-@@ -898,12 +898,6 @@ macro(add_llvm_tool name)
-
- if ( ${name} IN_LIST LLVM_TOOLCHAIN_TOOLS OR NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
- if( LLVM_BUILD_TOOLS )
-- set(export_to_llvmexports)
-- if(${name} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
-- NOT LLVM_DISTRIBUTION_COMPONENTS)
-- set(export_to_llvmexports EXPORT LLVMExports)
-- set_property(GLOBAL PROPERTY LLVM_HAS_EXPORTS True)
-- endif()
-
- install(TARGETS ${name}
- ${export_to_llvmexports}
-@@ -917,9 +911,6 @@ macro(add_llvm_tool name)
- endif()
- endif()
- endif()
-- if( LLVM_BUILD_TOOLS )
-- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})
-- endif()
- set_target_properties(${name} PROPERTIES FOLDER "Tools")
- endmacro(add_llvm_tool name)
-
-diff --git a/llvm/cmake/modules/TableGen.cmake b/llvm/cmake/modules/TableGen.cmake
-index 36c026b5c0f..537acd696d8 100644
---- a/llvm/cmake/modules/TableGen.cmake
-+++ b/llvm/cmake/modules/TableGen.cmake
-@@ -148,15 +148,9 @@ macro(add_tablegen target project)
- endif()
-
- if (${project} STREQUAL LLVM AND NOT LLVM_INSTALL_TOOLCHAIN_ONLY AND LLVM_BUILD_UTILS)
-- set(export_to_llvmexports)
-- if(${target} IN_LIST LLVM_DISTRIBUTION_COMPONENTS OR
-- NOT LLVM_DISTRIBUTION_COMPONENTS)
-- set(export_to_llvmexports EXPORT LLVMExports)
-- endif()
-
- install(TARGETS ${target}
- ${export_to_llvmexports}
- RUNTIME DESTINATION ${LLVM_TOOLS_INSTALL_DIR})
- endif()
-- set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${target})
- endmacro()
---
-2.17.1
-
diff --git a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-skip-building-tests.patch b/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-skip-building-tests.patch
deleted file mode 100644
index 9a7b8445..00000000
--- a/dynamic-layers/clang-layer/recipes-devtools/clang/files/0001-skip-building-tests.patch
+++ /dev/null
@@ -1,51 +0,0 @@
-From 48e50f06b1bbed94cdf5207587161d4bfce7366e 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 1208741..20ca3e6 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -15,13 +15,6 @@ if(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
- set(CMAKE_CXX_STANDARD 11)
- set(CMAKE_CXX_STANDARD_REQUIRED ON)
-
-- if(LLVM_INCLUDE_TESTS)
-- set(LLVM_TEST_COMPONENTS
-- llvm-as
-- llvm-dis
-- )
-- endif(LLVM_INCLUDE_TESTS)
--
- find_package(LLVM 9.0.0 REQUIRED
- COMPONENTS
- Analysis
-@@ -56,9 +49,6 @@ set(LLVM_SPIRV_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/include)
-
- add_subdirectory(lib/SPIRV)
- add_subdirectory(tools/llvm-spirv)
--if(LLVM_INCLUDE_TESTS)
-- add_subdirectory(test)
--endif(LLVM_INCLUDE_TESTS)
-
- install(
- FILES
---
-2.17.1
-
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/llvm-project-source.bbappend b/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend
deleted file mode 100644
index 8a2cc37f..00000000
--- a/dynamic-layers/clang-layer/recipes-devtools/clang/llvm-project-source.bbappend
+++ /dev/null
@@ -1,11 +0,0 @@
-FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:"
-
-SRC_URI_append_intel-x86-common = " \
- file://0001-dont-export-targets-for-binaries.patch \
- file://BasicBlockUtils-Add-metadata-fixing-in-SplitBlockPre.patch;patchdir=llvm \
- file://IndVarSimplify-Do-not-use-SCEV-expander-for-IVCount-.patch;patchdir=llvm \
- git://github.com/KhronosGroup/SPIRV-LLVM-Translator.git;protocol=https;branch=llvm_release_90;destsuffix=git/llvm/projects/llvm-spirv;name=spirv \
- file://0001-skip-building-tests.patch;patchdir=llvm/projects/llvm-spirv \
- "
-
-SRCREV_spirv = "70420631144a6a25613ae37178f2cc1d3607b65b"
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
new file mode 100644
index 00000000..265fcfa2
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/allow-to-find-cpp-generation-tool.patch
@@ -0,0 +1,51 @@
+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 | 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 ed85a37c52..f7c9e79137 100644
+--- a/shared/source/built_ins/kernels/CMakeLists.txt
++++ b/shared/source/built_ins/kernels/CMakeLists.txt
+@@ -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 "")
+ )
+ endif()
+
+-apply_macro_for_each_core_type("SUPPORTED")
+\ No newline at end of file
++apply_macro_for_each_core_type("SUPPORTED")
+--
+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/dont-use-ld-library-path.patch b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/dont-use-ld-library-path.patch
deleted file mode 100644
index b886b95d..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime/dont-use-ld-library-path.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 2475dfc1350f73a243c9fc223a9f06af85321d56 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Tue, 2 Jul 2019 08:36:34 +0800
-Subject: [PATCH] don't use LD_LIBRARY_PATH for native offline compiler
-
-Let us supply the correct path for it to be able to find the correct
-libraries.
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-
----
- runtime/built_ins/kernels/CMakeLists.txt | 2 +-
- runtime/scheduler/scheduler_binary.cmake | 2 +-
- 2 files changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/runtime/built_ins/kernels/CMakeLists.txt b/runtime/built_ins/kernels/CMakeLists.txt
-index 5dc9fe1b..e258847d 100644
---- a/runtime/built_ins/kernels/CMakeLists.txt
-+++ b/runtime/built_ins/kernels/CMakeLists.txt
-@@ -51,7 +51,7 @@ function(compile_builtin gen_type platform_type builtin)
- if(DEFINED IGDRCL__IGC_LIBRARY_PATH)
- set(cloc_cmd_prefix LD_LIBRARY_PATH=${IGDRCL__IGC_LIBRARY_PATH} $<TARGET_FILE:ocloc>)
- else()
-- set(cloc_cmd_prefix LD_LIBRARY_PATH=$<TARGET_FILE_DIR:ocloc> $<TARGET_FILE:ocloc>)
-+ set(cloc_cmd_prefix ocloc)
- endif()
- endif()
- list(APPEND __cloc__options__ "-cl-kernel-arg-info")
-diff --git a/runtime/scheduler/scheduler_binary.cmake b/runtime/scheduler/scheduler_binary.cmake
-index 1b12592b..ed9f375d 100644
---- a/runtime/scheduler/scheduler_binary.cmake
-+++ b/runtime/scheduler/scheduler_binary.cmake
-@@ -37,7 +37,7 @@ function(compile_kernel target gen_type platform_type kernel)
- if(DEFINED IGDRCL__IGC_LIBRARY_PATH)
- set(cloc_cmd_prefix LD_LIBRARY_PATH=${IGDRCL__IGC_LIBRARY_PATH} $<TARGET_FILE:ocloc>)
- else()
-- set(cloc_cmd_prefix LD_LIBRARY_PATH=$<TARGET_FILE_DIR:ocloc> $<TARGET_FILE:ocloc>)
-+ set(cloc_cmd_prefix ocloc)
- endif()
- endif()
- list(APPEND __cloc__options__ "-cl-kernel-arg-info")
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_19.21.13045.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_19.21.13045.bb
deleted file mode 100644
index 48d6bbeb..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_19.21.13045.bb
+++ /dev/null
@@ -1,45 +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://dont-use-ld-library-path.patch \
-"
-
-SRCREV = "7989a68f6ff72372d8eb5ea3c8bd52fad6778b8f"
-
-S = "${WORKDIR}/git"
-
-DEPENDS += " intel-graphics-compiler gmmlib clang"
-DEPENDS_append_class-target = " intel-compute-runtime-native"
-
-RDEPENDS_${PN} += " intel-graphics-compiler gmmlib"
-
-inherit cmake pkgconfig
-
-COMPATIBLE_HOST = '(x86_64).*-linux'
-COMPATIBLE_HOST_libc-musl = "null"
-
-EXTRA_OECMAKE = " \
- -DBUILD_TYPE=Release \
- -DSKIP_UNIT_TESTS=1 \
- -DCCACHE_ALLOWED=FALSE \
- "
-
-LDFLAGS_append_class-native = " -fuse-ld=lld"
-TOOLCHAIN_class-native = "clang"
-
-FILES_${PN} += "${libdir}/intel-opencl/libigdrcl.so"
-
-BBCLASSEXTEND = "native nativesdk"
-
-EXCLUDE_FROM_WORLD = "1"
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 3f3e1d49..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0001-skip-execution-of-ElfPackager.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 4e903a6914d5124d616cf085e30e8cbaa20afb77 Mon Sep 17 00:00:00 2001
-From: Naveen Saini <naveen.kumar.saini@intel.com>
-Date: Wed, 12 Jun 2019 14:10:23 +0800
-Subject: [PATCH 1/4] 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 | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/IGC/ElfPackager/CMakeLists.txt b/IGC/ElfPackager/CMakeLists.txt
-index d9487aeb..bc728ada 100644
---- a/IGC/ElfPackager/CMakeLists.txt
-+++ b/IGC/ElfPackager/CMakeLists.txt
-@@ -71,10 +71,10 @@ include_directories (
- ${IGC_SOURCE_DIR}/AdaptorOCL/CLElfLib/
- )
-
--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
-- )
-+#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
-+# )
-
-
- 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/0002-comment-out-dump-functions.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch
deleted file mode 100644
index 517dc36f..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0002-comment-out-dump-functions.patch
+++ /dev/null
@@ -1,87 +0,0 @@
-From 15a23e549636626cf32b062a5308a29cc53ce360 Mon Sep 17 00:00:00 2001
-From: Naveen Saini <naveen.kumar.saini@intel.com>
-Date: Wed, 21 Aug 2019 17:29:00 +0800
-Subject: [PATCH 2/4] comment out dump functions
-
-Otherwise it leads to errors when linking with lld:
-
-| ld.lld: error: undefined symbol: llvm::Value::dump() const
-| >>> referenced by PreRAScheduler.cpp:252 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:252)
-| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpDDGContents()) in archive IGC/Release/libCompiler.a
-|
-| ld.lld: error: undefined symbol: llvm::Value::dump() const
-| >>> referenced by PreRAScheduler.cpp:855 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:855)
-| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a
-|
-| ld.lld: error: undefined symbol: llvm::Value::dump() const
-| >>> referenced by PreRAScheduler.cpp:876 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:876)
-| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a
-|
-| ld.lld: error: undefined symbol: llvm::Value::dump() const
-| >>> referenced by PreRAScheduler.cpp:888 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:888)
-| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a
-|
-| ld.lld: error: undefined symbol: llvm::Value::dump() const
-| >>> referenced by PreRAScheduler.cpp:902 (build/tmp/work/x86_64-linux/intel-graphics-compiler-native/1.0.10-r0/git/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp:902)
-| >>> PreRAScheduler.cpp.o:(IGC::PreRAScheduler::dumpPriorityQueueContents()) in archive IGC/Release/libCompiler.a
-| clang-8: error: linker command failed with exit code 1 (use -v to see invocation)
-| ninja: build stopped: subcommand failed.
-
-Upstream-Status: Submitted [https://github.com/intel/intel-graphics-compiler/pull/105]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
----
- IGC/Compiler/CISACodeGen/PreRAScheduler.cpp | 6 ++++++
- 1 file changed, 6 insertions(+)
-
-diff --git a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
-index 62e89c0c..ba01af01 100644
---- a/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
-+++ b/IGC/Compiler/CISACodeGen/PreRAScheduler.cpp
-@@ -178,8 +178,10 @@ namespace IGC {
- AU.addRequired<RegisterEstimator>();
- }
-
-+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
- void dumpDDGContents();
- void dumpPriorityQueueContents();
-+#endif
-
- void clearDDG();
-
-@@ -228,6 +230,7 @@ IGC_INITIALIZE_PASS_DEPENDENCY(RegisterEstimator)
- IGC_INITIALIZE_PASS_DEPENDENCY(DominatorTreeWrapperPass)
- IGC_INITIALIZE_PASS_END(PreRAScheduler, PASS_FLAG, PASS_DESC, PASS_CFG_ONLY, PASS_ANALYSIS)
-
-+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
- void PreRAScheduler::dumpDDGContents()
- {
- IGC_SET_FLAG_VALUE(PrintToConsole, 1);
-@@ -259,6 +262,7 @@ void PreRAScheduler::dumpDDGContents()
-
- IGC_SET_FLAG_VALUE(PrintToConsole, 0);
- }
-+#endif
-
- void PreRAScheduler::clearDDG()
- {
-@@ -841,6 +845,7 @@ bool PreRAScheduler::ScheduleReadyNodes(
- return Changed;
- }
-
-+#if !defined(NDEBUG) || defined(LLVM_ENABLE_DUMP)
- void PreRAScheduler::dumpPriorityQueueContents()
- {
- llvm::PriorityQueue<Node*, std::vector<Node*>, PreRAScheduler::OrderByLatency> longLatencyQueueCopy = longLatencyDelaySortedReadyQueue;
-@@ -912,6 +917,7 @@ void PreRAScheduler::dumpPriorityQueueContents()
-
- IGC_SET_FLAG_VALUE(PrintToConsole, 0);
- }
-+#endif
-
- bool PreRAScheduler::runOnFunction(Function& F) {
- CodeGenContext* ctx = getAnalysis<CodeGenContextWrapper>().getCodeGenContext();
---
-2.17.1
-
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch
deleted file mode 100644
index 4af8c17e..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch
+++ /dev/null
@@ -1,405 +0,0 @@
-From 598038626dd2c10b96308347718f26cfa3dc509c Mon Sep 17 00:00:00 2001
-From: "Wesierski, Lukasz" <lukasz.wesierski@intel.com>
-Date: Mon, 9 Sep 2019 09:11:20 -0700
-Subject: [PATCH 4/4] Fix for buildbreak when using clang-9 compiler
-
-Fixes #106
-Fxies #111
-
-Change-Id: I291bf03c31b1786a00b8bc2c6d23c5adb8b72e73
-
-Upstream-Status: Backport [https://github.com/intel/intel-graphics-compiler/commit/a332238b46e9fa9e06265d18eb877d095015e6fb]
-
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
----
- IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h | 4 +
- .../SPIRV/libSPIRV/SPIRVInstruction.h | 18 +--
- IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp | 136 +++++++++---------
- IGC/AdaptorOCL/cif/cif/export/registry.h | 3 +-
- IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp | 4 +-
- visa/CISA.l | 2 +-
- visa/CMakeLists.txt | 6 +-
- 7 files changed, 89 insertions(+), 84 deletions(-)
-
-diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h
-index 7a2ba855..307ba3f3 100644
---- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h
-+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVEntry.h
-@@ -129,8 +129,12 @@ class SPIRVExtInst;
- void decode(std::istream &I) { getDecoder(I) >> x >> y;}
- #define _SPIRV_DEF_DEC3(x,y,z) \
- void decode(std::istream &I) { getDecoder(I) >> x >> y >> z;}
-+#define _SPIRV_DEF_DEC3_OVERRIDE(x,y,z) \
-+ void decode(std::istream &I) override { getDecoder(I) >> x >> y >> z;}
- #define _SPIRV_DEF_DEC4(x,y,z,u) \
- void decode(std::istream &I) { getDecoder(I) >> x >> y >> z >> u;}
-+#define _SPIRV_DEF_DEC4_OVERRIDE(x,y,z,u) \
-+ void decode(std::istream &I) override { getDecoder(I) >> x >> y >> z >> u;}
- #define _SPIRV_DEF_DEC5(x,y,z,u,v) \
- void decode(std::istream &I) { getDecoder(I) >> x >> y >> z >> u >> v;}
- #define _SPIRV_DEF_DEC6(x,y,z,u,v,w) \
-diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h
-index 9f4e9d1f..bb85fd04 100644
---- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h
-+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVInstruction.h
-@@ -727,10 +727,10 @@ public:
- return getValue(ConditionId);
- }
- SPIRVLabel *getTrueLabel() const {
-- return get<SPIRVLabel>(TrueLabelId);
-+ return SPIRVEntry::get<SPIRVLabel>(TrueLabelId);
- }
- SPIRVLabel *getFalseLabel() const {
-- return get<SPIRVLabel>(FalseLabelId);
-+ return SPIRVEntry::get<SPIRVLabel>(FalseLabelId);
- }
- protected:
- void setWordCount(SPIRVWord TheWordCount) {
-@@ -940,7 +940,7 @@ public:
- SPIRVEntry::setWordCount(TheWordCount);
- LoopControlParameters.resize(TheWordCount - FixedWordCount);
- }
-- _SPIRV_DEF_DEC4(MergeBlock, ContinueTarget, LoopControl,
-+ _SPIRV_DEF_DEC4_OVERRIDE(MergeBlock, ContinueTarget, LoopControl,
- LoopControlParameters)
-
- protected:
-@@ -1120,7 +1120,7 @@ public:
-
- SPIRVFunctionCallGeneric(SPIRVModule *BM, SPIRVWord ResId, SPIRVType *TheType,
- const std::vector<SPIRVWord> &TheArgs)
-- : SPIRVInstruction(TheArgs.size() + FixedWordCount, OC, TheType, ResId,
-+ : SPIRVInstruction(TheArgs.size() + FixedWordCount, OC, TheType, ResId, NULL,
- BM),
- Args(TheArgs) {}
- SPIRVFunctionCallGeneric():SPIRVInstruction(OC) {}
-@@ -1152,7 +1152,7 @@ class SPIRVFunctionCall:
- public:
- SPIRVFunctionCall():FunctionId(SPIRVID_INVALID) {}
- SPIRVFunction *getFunction()const {
-- return get<SPIRVFunction>(FunctionId);
-+ return SPIRVEntry::get<SPIRVFunction>(FunctionId);
- }
- _SPIRV_DEF_DEC4(Type, Id, FunctionId, Args)
- void validate()const;
-@@ -1169,8 +1169,8 @@ public:
- const std::vector<SPIRVWord>& TheArgs,
- SPIRVBasicBlock* BB);
- SPIRVFunctionPointerCallINTEL() : CalledValueId(SPIRVID_INVALID) {}
-- SPIRVValue* getCalledValue() const { return get<SPIRVValue>(CalledValueId); }
-- _SPIRV_DEF_DEC4(Type, Id, CalledValueId, Args)
-+ SPIRVValue* getCalledValue() const { return SPIRVEntry::get<SPIRVValue>(CalledValueId); }
-+ _SPIRV_DEF_DEC4_OVERRIDE(Type, Id, CalledValueId, Args)
- void validate() const override;
- bool isOperandLiteral(unsigned Index) const { return false; }
- CapVec getRequiredCapability() const override {
-@@ -1188,8 +1188,8 @@ public:
- SPIRVFunctionPointerINTEL(SPIRVId TheId, SPIRVType* TheType,
- SPIRVFunction* TheFunction, SPIRVBasicBlock* BB);
- SPIRVFunctionPointerINTEL() : SPIRVInstruction(OC), TheFunction(SPIRVID_INVALID) {}
-- SPIRVFunction* getFunction() const { return get<SPIRVFunction>(TheFunction); }
-- _SPIRV_DEF_DEC3(Type, Id, TheFunction)
-+ SPIRVFunction* getFunction() const { return SPIRVEntry::get<SPIRVFunction>(TheFunction); }
-+ _SPIRV_DEF_DEC3_OVERRIDE(Type, Id, TheFunction)
- void validate() const override;
- bool isOperandLiteral(unsigned Index) const { return false; }
- CapVec getRequiredCapability() const override {
-diff --git a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp
-index 353341b5..74ab6e93 100644
---- a/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp
-+++ b/IGC/AdaptorOCL/SPIRV/libSPIRV/SPIRVModule.cpp
-@@ -94,126 +94,126 @@ public:
- virtual ~SPIRVModuleImpl();
-
- // Object query functions
-- bool exist(SPIRVId) const;
-- bool exist(SPIRVId, SPIRVEntry **) const;
-+ bool exist(SPIRVId) const override;
-+ bool exist(SPIRVId, SPIRVEntry **) const override;
- SPIRVId getId(SPIRVId Id = SPIRVID_INVALID, unsigned Increment = 1);
-- virtual SPIRVEntry *getEntry(SPIRVId Id) const;
-+ virtual SPIRVEntry *getEntry(SPIRVId Id) const override;
- virtual void addUnknownStructField(
-- SPIRVTypeStruct*, unsigned idx, SPIRVId id);
-- virtual void resolveUnknownStructFields();
-- bool hasDebugInfo() const
-+ SPIRVTypeStruct*, unsigned idx, SPIRVId id) override;
-+ virtual void resolveUnknownStructFields() override;
-+ bool hasDebugInfo() const override
- {
- return getCompilationUnit() != nullptr;
- }
-
- // Error handling functions
-- SPIRVErrorLog &getErrorLog() { return ErrLog;}
-- SPIRVErrorCode getError(std::string &ErrMsg) { return ErrLog.getError(ErrMsg);}
-+ SPIRVErrorLog &getErrorLog() override { return ErrLog;}
-+ SPIRVErrorCode getError(std::string &ErrMsg) override { return ErrLog.getError(ErrMsg);}
-
- // Module query functions
-- SPIRVAddressingModelKind getAddressingModel() { return AddrModel;}
-- SPIRVExtInstSetKind getBuiltinSet(SPIRVId SetId) const;
-- const SPIRVCapSet &getCapability() const { return CapSet;}
-- const std::string &getCompileFlag() const { return CompileFlag;}
-- std::string &getCompileFlag() { return CompileFlag;}
-- void setCompileFlag(const std::string &options) { CompileFlag = options; }
-- bool isSpecConstant(SPIRVWord spec_id) const {
-+ SPIRVAddressingModelKind getAddressingModel() override { return AddrModel;}
-+ SPIRVExtInstSetKind getBuiltinSet(SPIRVId SetId) const override;
-+ const SPIRVCapSet &getCapability() const override { return CapSet;}
-+ const std::string &getCompileFlag() const override { return CompileFlag;}
-+ std::string &getCompileFlag() override { return CompileFlag;}
-+ void setCompileFlag(const std::string &options) override { CompileFlag = options; }
-+ bool isSpecConstant(SPIRVWord spec_id) const override {
- if(SCMap)
- return SCMap->find(spec_id) != SCMap->end();
- else
- return false;
- }
-- uint64_t getSpecConstant(SPIRVWord spec_id) {
-+ uint64_t getSpecConstant(SPIRVWord spec_id) override {
- spirv_assert(isSpecConstant(spec_id) && "Specialization constant was not specialized!");
- return SCMap->at(spec_id);
- }
-- void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) { SCMap = specConstants; }
-- std::set<std::string> &getExtension() { return SPIRVExt;}
-- SPIRVFunction *getFunction(unsigned I) const { return FuncVec[I];}
-- SPIRVVariable *getVariable(unsigned I) const { return VariableVec[I];}
-- virtual SPIRVValue *getValue(SPIRVId TheId) const;
-- virtual std::vector<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const;
-- virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const;
-- virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const;
-- virtual SPIRVType *getValueType(SPIRVId TheId)const;
-+ void setSpecConstantMap(SPIRVSpecConstantMap *specConstants) override { SCMap = specConstants; }
-+ std::set<std::string> &getExtension() override { return SPIRVExt;}
-+ SPIRVFunction *getFunction(unsigned I) const override { return FuncVec[I];}
-+ SPIRVVariable *getVariable(unsigned I) const override { return VariableVec[I];}
-+ virtual SPIRVValue *getValue(SPIRVId TheId) const override;
-+ virtual std::vector<SPIRVValue *> getValues(const std::vector<SPIRVId>&)const override;
-+ virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVEntry *>&)const override;
-+ virtual std::vector<SPIRVId> getIds(const std::vector<SPIRVValue *>&)const override;
-+ virtual SPIRVType *getValueType(SPIRVId TheId)const override;
- virtual std::vector<SPIRVType *> getValueTypes(const std::vector<SPIRVId>&)
-- const;
-- SPIRVMemoryModelKind getMemoryModel() { return MemoryModel;}
-- virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal);
-- unsigned getNumEntryPoints(SPIRVExecutionModelKind EM) const {
-+ const override;
-+ SPIRVMemoryModelKind getMemoryModel() override { return MemoryModel;}
-+ virtual SPIRVConstant* getLiteralAsConstant(unsigned Literal) override;
-+ unsigned getNumEntryPoints(SPIRVExecutionModelKind EM) const override{
- auto Loc = EntryPointVec.find(EM);
- if (Loc == EntryPointVec.end())
- return 0;
- return Loc->second.size();
- }
-- SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind EM, unsigned I) const {
-+ SPIRVFunction *getEntryPoint(SPIRVExecutionModelKind EM, unsigned I) const override {
- auto Loc = EntryPointVec.find(EM);
- if (Loc == EntryPointVec.end())
- return nullptr;
- spirv_assert(I < Loc->second.size());
- return get<SPIRVFunction>(Loc->second[I]);
- }
-- unsigned getNumFunctions() const { return FuncVec.size();}
-- unsigned getNumVariables() const { return VariableVec.size();}
-- SpvSourceLanguage getSourceLanguage(SPIRVWord * Ver = nullptr) const {
-+ unsigned getNumFunctions() const override { return FuncVec.size();}
-+ unsigned getNumVariables() const override { return VariableVec.size();}
-+ SpvSourceLanguage getSourceLanguage(SPIRVWord * Ver = nullptr) const override {
- if (Ver)
- *Ver = SrcLangVer;
- return SrcLang;
- }
-- std::set<std::string> &getSourceExtension() { return SrcExtension;}
-- bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const;
-+ std::set<std::string> &getSourceExtension() override { return SrcExtension;}
-+ bool isEntryPoint(SPIRVExecutionModelKind, SPIRVId EP) const override;
- const std::string &getModuleProcessed() const { return ModuleProcessed; }
-- const std::vector<SPIRVString *> &getStringVec() const { return StringVec; }
-+ const std::vector<SPIRVString *> &getStringVec() const override { return StringVec; }
-
- // Module changing functions
-- bool importBuiltinSet(const std::string &, SPIRVId *);
-- bool importBuiltinSetWithId(const std::string &, SPIRVId);
-- void optimizeDecorates();
-- void setAddressingModel(SPIRVAddressingModelKind AM) { AddrModel = AM;}
-- void setAlignment(SPIRVValue *, SPIRVWord);
-- void setMemoryModel(SPIRVMemoryModelKind MM) { MemoryModel = MM;}
-- void setName(SPIRVEntry *E, const std::string &Name);
-- void setSourceLanguage(SpvSourceLanguage Lang, SPIRVWord Ver) {
-+ bool importBuiltinSet(const std::string &, SPIRVId *) override;
-+ bool importBuiltinSetWithId(const std::string &, SPIRVId) override;
-+ void optimizeDecorates() override;
-+ void setAddressingModel(SPIRVAddressingModelKind AM) override { AddrModel = AM;}
-+ void setAlignment(SPIRVValue *, SPIRVWord) override;
-+ void setMemoryModel(SPIRVMemoryModelKind MM) override { MemoryModel = MM;}
-+ void setName(SPIRVEntry *E, const std::string &Name) override;
-+ void setSourceLanguage(SpvSourceLanguage Lang, SPIRVWord Ver) override {
- SrcLang = Lang;
- SrcLangVer = Ver;
- }
-- void setModuleProcessed(const std::string& MP) {
-+ void setModuleProcessed(const std::string& MP) override {
- ModuleProcessed = MP;
- }
-
- // Object creation functions
- template<class T> void addTo(std::vector<T *> &V, SPIRVEntry *E);
-- virtual SPIRVEntry *addEntry(SPIRVEntry *E);
-- virtual SPIRVString *getString(const std::string &Str);
-+ virtual SPIRVEntry *addEntry(SPIRVEntry *E) override;
-+ virtual SPIRVString *getString(const std::string &Str) override;
- virtual SPIRVMemberName *addMemberName(SPIRVTypeStruct *ST,
-- SPIRVWord MemberNumber, const std::string &Name);
-+ SPIRVWord MemberNumber, const std::string &Name) override;
- virtual SPIRVLine *addLine(SPIRVString *FileName, SPIRVWord Line,
-- SPIRVWord Column);
-- virtual void addCapability(SPIRVCapabilityKind);
-- virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric *);
-- virtual SPIRVDecorationGroup *addDecorationGroup();
-- virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group);
-+ SPIRVWord Column) override;
-+ virtual void addCapability(SPIRVCapabilityKind) override;
-+ virtual const SPIRVDecorateGeneric *addDecorate(const SPIRVDecorateGeneric *) override;
-+ virtual SPIRVDecorationGroup *addDecorationGroup() override;
-+ virtual SPIRVDecorationGroup *addDecorationGroup(SPIRVDecorationGroup *Group) override;
- virtual SPIRVGroupDecorate *addGroupDecorate(SPIRVDecorationGroup *Group,
-- const std::vector<SPIRVEntry *> &Targets);
-+ const std::vector<SPIRVEntry *> &Targets) override;
- virtual SPIRVGroupDecorateGeneric *addGroupDecorateGeneric(
-- SPIRVGroupDecorateGeneric *GDec);
-+ SPIRVGroupDecorateGeneric *GDec) override;
- virtual SPIRVGroupMemberDecorate *addGroupMemberDecorate(
-- SPIRVDecorationGroup *Group, const std::vector<SPIRVEntry *> &Targets);
-+ SPIRVDecorationGroup *Group, const std::vector<SPIRVEntry *> &Targets) override;
- virtual void addEntryPoint(SPIRVExecutionModelKind ExecModel,
-- SPIRVId EntryPoint);
-- virtual SPIRVForward *addForward(SPIRVType *Ty);
-- virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty);
-- virtual SPIRVFunction *addFunction(SPIRVFunction *);
-- virtual SPIRVFunction *addFunction(SPIRVTypeFunction *, SPIRVId);
-- virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *);
-+ SPIRVId EntryPoint) override;
-+ virtual SPIRVForward *addForward(SPIRVType *Ty) override;
-+ virtual SPIRVForward *addForward(SPIRVId, SPIRVType *Ty) override;
-+ virtual SPIRVFunction *addFunction(SPIRVFunction *) override;
-+ virtual SPIRVFunction *addFunction(SPIRVTypeFunction *, SPIRVId) override;
-+ virtual SPIRVEntry *replaceForward(SPIRVForward *, SPIRVEntry *) override;
-
- // Type creation functions
- template<class T> T * addType(T *Ty);
-- virtual SPIRVTypeInt *addIntegerType(unsigned BitWidth);
-+ virtual SPIRVTypeInt *addIntegerType(unsigned BitWidth) override;
-
- // Constant creation functions
-- virtual SPIRVValue *addConstant(SPIRVValue *);
-- virtual SPIRVValue *addConstant(SPIRVType *, uint64_t);
-+ virtual SPIRVValue *addConstant(SPIRVValue *) override;
-+ virtual SPIRVValue *addConstant(SPIRVType *, uint64_t) override;
-
- virtual SPIRVInstruction *addLoopMergeInst(
- SPIRVId MergeBlock, SPIRVId ContinueTarget,
-@@ -226,7 +226,7 @@ public:
- addInstruction(SPIRVInstruction *Inst, SPIRVBasicBlock *BB,
- SPIRVInstruction *InsertBefore = nullptr);
-
-- virtual SPIRVExtInst* getCompilationUnit() const
-+ virtual SPIRVExtInst* getCompilationUnit() const override
- {
- for (auto& item : IdEntryMap)
- {
-@@ -242,7 +242,7 @@ public:
- return nullptr;
- }
-
-- virtual std::vector<SPIRVExtInst*> getGlobalVars()
-+ virtual std::vector<SPIRVExtInst*> getGlobalVars() override
- {
- std::vector<SPIRVExtInst*> globalVars;
-
-@@ -260,7 +260,7 @@ public:
- return globalVars;
- }
-
-- virtual std::vector<SPIRVValue*> parseSpecConstants()
-+ virtual std::vector<SPIRVValue*> parseSpecConstants() override
- {
- std::vector<SPIRVValue*> specConstants;
-
-diff --git a/IGC/AdaptorOCL/cif/cif/export/registry.h b/IGC/AdaptorOCL/cif/cif/export/registry.h
-index a2b893c2..1571a698 100644
---- a/IGC/AdaptorOCL/cif/cif/export/registry.h
-+++ b/IGC/AdaptorOCL/cif/cif/export/registry.h
-@@ -50,7 +50,8 @@ namespace Helpers {
- struct EntryPointInterfaceBase{
- EntryPointInterfaceBase(){
- }
--
-+ virtual ~EntryPointInterfaceBase() = default;
-+
- virtual ICIF * Create(Version_t version, ICIF * parent) const = 0;
- virtual InterfaceId_t GetFirstIncompatible(CIF::CompatibilityDataHandle handle) const = 0;
- virtual void GetSupportedVersions(Version_t &verMin, Version_t &verMax) const = 0;
-diff --git a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
-index ebad9b3d..3bde1151 100644
---- a/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
-+++ b/IGC/OCLFE/igd_fcl_mcl/source/clang_tb.cpp
-@@ -301,7 +301,7 @@ namespace FCL
- std::string dumpPath = "c:\\Intel\\IGC\\"; // default if something goes wrong
- char custom_dir[256];
- FCLReadIGCRegistry("DumpToCustomDir", custom_dir, sizeof(custom_dir));
-- if (custom_dir != nullptr && strlen(custom_dir) > 0)
-+ if (strlen(custom_dir) > 0)
- {
- dumpPath = custom_dir;
- }
-@@ -321,7 +321,7 @@ namespace FCL
- std::string dumpPath = "/tmp/IntelIGC/"; // default if something goes wrong
- char custom_dir[256];
- FCLReadIGCRegistry("DumpToCustomDir", custom_dir, sizeof(custom_dir));
-- if (custom_dir != nullptr && strlen(custom_dir) > 0)
-+ if (strlen(custom_dir) > 0)
- {
- dumpPath = custom_dir;
- }
-diff --git a/visa/CISA.l b/visa/CISA.l
-index def21e4b..27532695 100644
---- a/visa/CISA.l
-+++ b/visa/CISA.l
-@@ -45,7 +45,7 @@ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- #pragma warning(default: 4005)
- #endif
-
--#include "CISA.tab.h"
-+#include "CISA.tab.hpp"
-
- #ifdef _DEBUG
- #define TRACE(str) fprintf(yyout, str); ECHO; fprintf(yyout, "\n")
-diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
-index 11d1bf53..551e4edb 100644
---- a/visa/CMakeLists.txt
-+++ b/visa/CMakeLists.txt
-@@ -105,8 +105,8 @@ endif()
- # Set up the bison and flex targets. These commands will set up commands to generate the appropriate
- # source files from the input grammars. It will also set up the dependencies correctly for any
- # library or executable that uses the generated source
--BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.c COMPILE_FLAGS "-vt -p CISA")
--FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.c COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}")
-+BISON_TARGET(CISAParser CISA.y ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp COMPILE_FLAGS "-vt -p CISA")
-+FLEX_TARGET(CISAScanner CISA.l ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}")
- ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
-
- add_custom_target(CISAScanner_target DEPENDS ${FLEX_CISAScanner_OUTPUTS} ${BISON_CISAParser_OUTPUTS})
-@@ -134,7 +134,7 @@ include_directories(${Jitter_inc_dirs})
-
- # Tell cmake to generate code to compile the flex and bison generated source as c++ rather than c
- # (due to the fact that they are .c files rather than .cpp)
--set_source_files_properties( CISA.tab.c lex.CISA.c PROPERTIES LANGUAGE CXX )
-+set_source_files_properties( CISA.tab.cpp lex.CISA.cpp PROPERTIES LANGUAGE CXX )
-
- set(LocalScheduler_SOURCES
- LocalScheduler/Dependencies_G4IR.cpp
---
-2.17.1
-
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch
new file mode 100644
index 00000000..650130a8
--- /dev/null
+++ b/dynamic-layers/clang-layer/recipes-opencl/igc/files/0003-Improve-Reproducibility-for-src-package.patch
@@ -0,0 +1,34 @@
+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
+
+Improve reproducibility for intel-graphics-compiler-src package.
+needs to pass build path as environment variable to the build.
+this only works on bison 3.7 onward, hence check for bison version
+before adding the flags.
+Upstream-Status: Inappropriate [applying --file-prefix-map in such way does not work for upstream]
+Signed-off-by: Lee Chee Yang <chee.yang.lee@intel.com>
+
+---
+ visa/CMakeLists.txt | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/visa/CMakeLists.txt b/visa/CMakeLists.txt
+index 6be467587..930c386a6 100644
+--- a/visa/CMakeLists.txt
++++ b/visa/CMakeLists.txt
+@@ -123,8 +123,11 @@ endif()
+ set(bison_output_file ${CMAKE_CURRENT_BINARY_DIR}/CISA.tab.cpp)
+ set(flex_output_file ${CMAKE_CURRENT_BINARY_DIR}/lex.CISA.cpp)
+
+-BISON_TARGET(CISAParser CISA.y ${bison_output_file} COMPILE_FLAGS "-vt -p CISA")
+-FLEX_TARGET(CISAScanner CISA.l ${flex_output_file} COMPILE_FLAGS "-PCISA ${WIN_FLEX_FLAG}")
++if(BISON_VERSION VERSION_GREATER_EQUAL "3.7.0")
++ set(BISON_EXTRA_FLAGS " --file-prefix-map=$ENV{B}=/igc/ ")
++endif()
++BISON_TARGET(CISAParser CISA.y ${bison_output_file} COMPILE_FLAGS "-l -vt -p CISA ${BISON_EXTRA_FLAGS} ")
++FLEX_TARGET(CISAScanner CISA.l ${flex_output_file} COMPILE_FLAGS "-PCISA -L ${WIN_FLEX_FLAG} ")
+ ADD_FLEX_BISON_DEPENDENCY(CISAScanner CISAParser)
+ set(CISAScanner_dependencies)
+
diff --git a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb b/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb
deleted file mode 100644
index b359b669..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb
+++ /dev/null
@@ -1,37 +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"
-
-SRC_URI = "git://github.com/intel/intel-graphics-compiler.git;protocol=https \
- file://0001-skip-execution-of-ElfPackager.patch \
- file://0002-comment-out-dump-functions.patch \
- file://0003-Fix-for-buildbreak-when-using-clang-9-compiler.patch \
- "
-
-SRCREV = "5f96c6db35ffa238fd84314c99a53e6708322d65"
-
-S = "${WORKDIR}/git"
-
-inherit cmake
-
-COMPATIBLE_HOST = '(x86_64).*-linux'
-COMPATIBLE_HOST_libc-musl = "null"
-
-DEPENDS += " flex-native bison-native clang opencl-clang"
-DEPENDS_append_class-target = " clang-cross-x86_64"
-
-RDEPENDS_${PN} += "opencl-clang"
-
-EXTRA_OECMAKE = "-DIGC_PREFERRED_LLVM_VERSION=9.0.0 -DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3"
-
-LDFLAGS_append_class-native = " -fuse-ld=lld"
-TOOLCHAIN_class-native = "clang"
-
-BBCLASSEXTEND = "native nativesdk"
-
-UPSTREAM_CHECK_GITTAGREGEX = "^igc-(?P<pver>(?!19\..*)\d+(\.\d+)+)$"
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/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/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/point-to-correct-llvm-tblgen.patch b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch
deleted file mode 100644
index 417e0221..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/files/point-to-correct-llvm-tblgen.patch
+++ /dev/null
@@ -1,43 +0,0 @@
-From 2ce2619b544678541e0cc56494e2927086718613 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Tue, 26 Mar 2019 14:11:29 +0800
-Subject: [PATCH] point to correct llvm-tblgen
-
-Let llvm-tblgen path be passed from recipe itself.
-
-Also since we're going to do the patching ourselves, no need to look for
-git through cmake.
-
-Upstream-Status: Inappropriate [OE specific]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
----
- CMakeLists.txt | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 1371a67..f83ffcc 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -53,7 +53,7 @@ endif(CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
- include(AddLLVM)
- include(TableGen)
-
--find_package(Git REQUIRED)
-+#find_package(Git REQUIRED)
-
- if (NOT WIN32)
- add_subdirectory( linux_linker )
-@@ -138,7 +138,7 @@ 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")
-+#set(LLVM_TABLEGEN_EXE "llvm-tblgen")
- set(LLVM_TARGET_DEFINITIONS ${COMPILE_OPTIONS_TD})
- if(USE_PREBUILT_LLVM)
- set(TABLEGEN_ADDITIONAL -I ${LLVM_INCLUDE_DIRS})
---
-2.17.1
-
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_9.0.0.bb b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc
index e4209234..31a3fb21 100644
--- a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_9.0.0.bb
+++ b/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang.inc
@@ -5,33 +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-90;protocol=https \
- file://point-to-correct-llvm-tblgen.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 \
"
-
-SRCREV = "6f8c329bea44321aef1a1716dd206c1f7bed23cf"
-
S = "${WORKDIR}/git"
inherit cmake
DEPENDS += "clang"
-
-DEPENDS_append_class-target = " opencl-clang-native"
-LDFLAGS_append_class-native = " -fuse-ld=lld"
+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"
-
-TOOLCHAIN_class-native = "clang"
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/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.0.0.bb b/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.0.0.bb
new file mode 100644
index 00000000..70177c28
--- /dev/null
+++ b/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.0.0.bb
@@ -0,0 +1,33 @@
+SUMMARY = "OpenVINO Model Optimzer"
+DESCRIPTION = "Model Optimizer is a cross-platform command-line tool that \
+facilitates the transition between the training and deployment \
+environment, performs static model analysis, and adjusts deep \
+learning models for optimal execution on end-point target devices."
+HOMEPAGE = "https://01.org/openvinotoolkit"
+
+SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2024/0;lfs=0 \
+ "
+SRCREV = "34caeefd07800b59065345d651949efbe8ab6649"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
+
+CVE_PRODUCT = "intel:openvino"
+S = "${WORKDIR}/git"
+
+inherit setuptools3
+
+SETUPTOOLS_SETUP_PATH = "${WORKDIR}/git/tools/mo"
+
+RDEPENDS:${PN} += " \
+ python3-defusedxml \
+ python3-fastjsonschema \
+ python3-networkx \
+ python3-numpy \
+ python3-protobuf \
+ python3-requests \
+ python3-urllib3 \
+ bash \
+ "
+
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$"
diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_1932.0.0.0.diff b/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_1932.0.0.0.diff
deleted file mode 100644
index dae02e50..00000000
--- a/dynamic-layers/openembedded-layer/recipes-bsp/amt/files/lms_drop_rpath_1932.0.0.0.diff
+++ /dev/null
@@ -1,30 +0,0 @@
-From ec7d732a6a23e90be34840b0f1a57e5199d393cf Mon Sep 17 00:00:00 2001
-From: Alexander Usyskin <alexander.usyskin@intel.com>
-Date: Mon, 17 Jun 2019 13:27:33 +0300
-Subject: [PATCH] lms: drop rpath definitions
-
-Yocto fail to compile with this definitions.
-
-Upstream-Status: Inappropriate [configuration]
-Signed-off-by: Alexander Usyskin <alexander.usyskin@intel.com>
----
- CMakeLists.txt | 3 ---
- 1 file changed, 3 deletions(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index a303c4b..9bda082 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -109,9 +109,6 @@ install (DIRECTORY Docs/Licenses
- FILES_MATCHING PATTERN "LICENSE.*"
- )
-
--list (APPEND CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/UNS/GMS_COMMON")
--list (APPEND CMAKE_INSTALL_RPATH "${PROJECT_BINARY_DIR}/WsmanClient")
--
- if (BUILD_TESTS)
- include (gtest.cmake)
- endif (BUILD_TESTS)
---
-2.7.4
-
diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_1932.0.0.0.bb b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_1932.0.0.0.bb
deleted file mode 100644
index 76baa9f3..00000000
--- a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_1932.0.0.0.bb
+++ /dev/null
@@ -1,35 +0,0 @@
-SUMMARY = "Intel(R) Local Managability Service"
-DESCRIPTION = "Intel Local Manageability Service allows applications \
-to access the Intel Active Management Technology (AMT) firmware via \
-the Intel Management Engine Interface (MEI)."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-inherit cmake systemd
-
-DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native connman"
-
-EXTRA_OECMAKE += "-DPYTHON_EXECUTABLE=${HOSTTOOLS_DIR}/python3"
-
-REQUIRED_DISTRO_FEATURES= "systemd"
-
-FILES_${PN} += "${datadir}/dbus-1/system-services/*.service"
-
-S = "${WORKDIR}/git"
-
-SYSTEMD_SERVICE_${PN} = "lms.service"
-
-SRC_URI = "git://github.com/intel/lms.git"
-SRCREV = "f90fa51f07514b7644cc57846c90e46b146b23ae"
-
-SRC_URI_append = " file://lms_drop_rpath_${PV}.diff"
-
-do_install_append() {
- install -d ${D}${systemd_system_unitdir}
- install -m 0644 ${B}/UNS/lms.service ${D}${systemd_system_unitdir}
-}
-
-RDEPENDS_${PN} += "ace"
diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb
new file mode 100644
index 00000000..bdf32576
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_2406.0.0.0.bb
@@ -0,0 +1,44 @@
+SUMMARY = "Intel(R) Local Managability Service"
+DESCRIPTION = "Intel Local Manageability Service allows applications \
+to access the Intel Active Management Technology (AMT) firmware via \
+the Intel Management Engine Interface (MEI)."
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93"
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+COMPATIBLE_HOST:libc-musl = "null"
+
+inherit cmake systemd features_check python3native
+
+DEPENDS = "metee ace xerces-c libnl libxml2 glib-2.0 glib-2.0-native pkgconfig-native python3-packaging-native"
+
+# Enable either connman or networkmanager or none but not both.
+PACKAGECONFIG ??= "connman"
+PACKAGECONFIG[connman] = "-DNETWORK_CN=ON, -DNETWORK_CN=OFF, connman"
+PACKAGECONFIG[networkmanager] = "-DNETWORK_NM=ON, -DNETWORK_NM=OFF, networkmanager"
+
+REQUIRED_DISTRO_FEATURES= "systemd"
+
+FILES:${PN} += "${datadir}/dbus-1/system-services/*.service"
+
+S = "${WORKDIR}/git"
+
+SYSTEMD_SERVICE:${PN} = "lms.service"
+
+SRC_URI = "git://github.com/intel/lms.git;branch=master;protocol=https \
+ "
+SRCREV = "388f115b2aeb3ea11499971c65f828daefd32c47"
+
+do_install:append() {
+ install -d ${D}${sysconfdir}/lms
+ install -d ${D}${systemd_system_unitdir}
+ install -m 0644 ${B}/UNS/lms.service ${D}${systemd_system_unitdir}
+ install -d ${D}${sysconfdir}/udev/rules.d
+ install -m 0644 ${S}/UNS/linux_scripts/70-mei-wdt.rules ${D}${sysconfdir}/udev/rules.d/70-mei-wdt.rules
+}
+
+RDEPENDS:${PN} += "ace"
+
+CVE_STATUS[CVE-2018-1000535] = "cpe-incorrect: This CVE is for a different LMS - Lan Management System."
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_1.9.bb b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/thermald_2.5.6.bb
index 4f3650fa..df242cdf 100644
--- a/recipes-bsp/thermald/thermald_1.9.bb
+++ b/dynamic-layers/openembedded-layer/recipes-bsp/thermald/thermald_2.5.6.bb
@@ -6,28 +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"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES','systemd','systemd','',d)}"
-DEPENDS_append_libc-musl = " argp-standalone"
-DEPENDS_append_toolchain-clang = " openmp"
-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-Use-correct-format-specifier-for-size_t.patch \
+SRC_URI = "git://github.com/intel/thermal_daemon/;branch=master;protocol=https \
+ file://0001-Makefile-Fix-build-Issue.patch \
"
-SRCREV = "7f573b681a25b5ffbe81103ba9fdcf7fec0f2884"
+
+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.15.8.bb b/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.15.8.bb
new file mode 100644
index 00000000..8bade9f4
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-core/levelzero/level-zero_1.15.8.bb
@@ -0,0 +1,33 @@
+SUMMARY = "oneAPI Level Zero Specification Headers and Loader"
+HOMEPAGE = "https://github.com/oneapi-src/level-zero"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=97957beb2f7808ffa247e5d93e6442cc"
+
+SRC_URI = "git://github.com/oneapi-src/level-zero.git;protocol=https;branch=master"
+SRCREV = "1685d01497428ca4d8b99200972b64685424d5c9"
+S = "${WORKDIR}/git"
+
+inherit cmake
+DEPENDS += "opencl-headers"
+
+UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
+
+PACKAGES =+ "${PN}-headers ${PN}-samples ${PN}-loader"
+
+do_install:append () {
+ install -d ${D}${bindir} ${D}${libdir}
+ install -m 755 ${B}/bin/zello* ${D}${bindir}
+
+ oe_libinstall -C lib libze_null ${D}${libdir}
+}
+
+
+FILES:${PN}-headers = "${includedir}"
+FILES:${PN}-samples = "${bindir} ${libdir}/libze_null* ${libdir}/libze_validation*"
+FILES:${PN}-loader = "${libdir}"
+
+# PN-loader (non -dev/-dbg/nativesdk- package) contains symlink .so
+INSANE_SKIP:${PN}-loader = "dev-so"
+INSANE_SKIP:${PN}-samples = "dev-so"
+ALLOW_EMPTY:${PN} = "1"
+BBCLASSEXTEND = "native nativesdk"
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/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/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/open-model-zoo/0001-use-oe-gflags.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch
new file mode 100644
index 00000000..816a98a3
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/open-model-zoo/0001-use-oe-gflags.patch
@@ -0,0 +1,27 @@
+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 | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/demos/CMakeLists.txt b/demos/CMakeLists.txt
+index 51767051c..fb7e3d22f 100644
+--- a/demos/CMakeLists.txt
++++ b/demos/CMakeLists.txt
+@@ -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)
+
+ find_package(OpenCV QUIET COMPONENTS gapi)
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_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/cyclictest.py b/lib/oeqa/runtime/cases/cyclictest.py
new file mode 100644
index 00000000..8890651a
--- /dev/null
+++ b/lib/oeqa/runtime/cases/cyclictest.py
@@ -0,0 +1,39 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+import os
+import subprocess
+import datetime
+
+class CyclicTest(OERuntimeTestCase):
+
+ @OEHasPackage(['rt-tests'])
+ @OETestDepends(['ssh.SSHTest.test_ssh'])
+ def test_cyclic(self):
+ # Cyclictest command and argument based on public setup for Intel(R) Core(TM) i7-6700
+ # https://www.osadl.org/Latency-plot-of-system-in-rack-9-slot.qa-latencyplot-r9s5.0.html?shadow=1
+ # Command line: cyclictest -l100000000 -m -Sp99 -i200 -h400 -q
+ status, output = self.target.run('cyclictest -l100000000 -m -Sp99 -i200 -h400')
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+ test_log_dir = self.td.get('TEST_LOG_DIR', '')
+
+ if not test_log_dir:
+ test_log_dir = os.path.join(self.td.get('WORKDIR', ''), 'testimage')
+
+ cyclic_log_dir = os.path.join(test_log_dir, '%s.%s' % ('cyclic_test', datetime.datetime.now().strftime('%Y%m%d%H%M%S')))
+ os.makedirs(cyclic_log_dir)
+ log_path = os.path.join(cyclic_log_dir, 'cyclic_log')
+ with open(log_path, 'w') as f:
+ f.write(output)
+
+ max_latency = subprocess.check_output(('grep "Max Latencies" %s | tr " " "\n" | sort -n | tail -1 | sed s/^0*//') % log_path, shell=True).strip()
+ max_latency = int(max_latency)
+
+ # Default target latency based on max latency (24us) captured at public execution multiple by 1.2 (20% buffer)
+ # https://www.osadl.org/Latency-plot-of-system-in-rack-9-slot.qa-latencyplot-r9s5.0.html?shadow=1
+ target_latency = 1.2*24
+ user_defined_target_latency = self.tc.td.get("RTKERNEL_TARGET_LATENCY")
+ if user_defined_target_latency:
+ target_latency = int(user_defined_target_latency)
+ self.assertTrue(max_latency < target_latency,
+ msg="Max latency (%sus) is greater than target (%sus)." % (max_latency, target_latency))
diff --git a/lib/oeqa/runtime/cases/dldt_inference_engine.py b/lib/oeqa/runtime/cases/dldt_inference_engine.py
new file mode 100644
index 00000000..fb35d52f
--- /dev/null
+++ b/lib/oeqa/runtime/cases/dldt_inference_engine.py
@@ -0,0 +1,109 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget
+from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest
+from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest
+from oeqa.runtime.miutils.tests.dldt_inference_engine_test import DldtInferenceEngineTest
+from oeqa.runtime.miutils.dldtutils import get_testdata_config
+
+class DldtInferenceEngine(OERuntimeTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/ie/md')
+ cls.sqn_download.setup()
+ cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/ie/ir')
+ cls.dldt_mo.setup()
+ cls.dldt_ie = DldtInferenceEngineTest(OEQATarget(cls.tc.target), '/tmp/ie/inputs')
+ cls.dldt_ie.setup()
+ cls.ir_files_dir = cls.dldt_mo.work_dir
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.dldt_ie.tear_down()
+ cls.dldt_mo.tear_down()
+ cls.sqn_download.tear_down()
+
+ @OEHasPackage(['dldt-model-optimizer'])
+ @OEHasPackage(['wget'])
+ def test_dldt_ie_can_create_ir_and_download_input(self):
+ proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY')
+ if not proxy_port:
+ self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").')
+ (status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+ (status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR')
+ if not mo_exe_dir:
+ self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").')
+ mo_files_dir = self.sqn_download.work_dir
+ (status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ (status, output) = self.dldt_ie.test_can_download_input_file(proxy_port)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
+ @OEHasPackage(['dldt-inference-engine'])
+ @OEHasPackage(['dldt-inference-engine-samples'])
+ def test_dldt_ie_classification_with_cpu(self):
+ (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('CPU', self.ir_files_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
+ @OEHasPackage(['dldt-inference-engine'])
+ @OEHasPackage(['dldt-inference-engine-samples'])
+ @OEHasPackage(['intel-compute-runtime'])
+ @OEHasPackage(['ocl-icd'])
+ def test_dldt_ie_classification_with_gpu(self):
+ (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device('GPU', self.ir_files_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
+ @OEHasPackage(['dldt-inference-engine'])
+ @OEHasPackage(['dldt-inference-engine-samples'])
+ @OEHasPackage(['dldt-inference-engine-vpu-firmware'])
+ def test_dldt_ie_classification_with_myriad(self):
+ device = 'MYRIAD'
+ (status, output) = self.dldt_ie.test_check_if_openvino_device_available(device)
+ if not status:
+ self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output))
+ (status, output) = self.dldt_ie.test_dldt_ie_classification_with_device(device, self.ir_files_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
+ @OEHasPackage(['dldt-inference-engine'])
+ @OEHasPackage(['dldt-inference-engine-python3'])
+ @OEHasPackage(['python3-opencv'])
+ @OEHasPackage(['python3-numpy'])
+ def test_dldt_ie_classification_python_api_with_cpu(self):
+ (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('CPU', self.ir_files_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
+ @OEHasPackage(['dldt-inference-engine'])
+ @OEHasPackage(['dldt-inference-engine-python3'])
+ @OEHasPackage(['intel-compute-runtime'])
+ @OEHasPackage(['ocl-icd'])
+ @OEHasPackage(['python3-opencv'])
+ @OEHasPackage(['python3-numpy'])
+ def test_dldt_ie_classification_python_api_with_gpu(self):
+ (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device('GPU', self.ir_files_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['dldt_inference_engine.DldtInferenceEngine.test_dldt_ie_can_create_ir_and_download_input'])
+ @OEHasPackage(['dldt-inference-engine'])
+ @OEHasPackage(['dldt-inference-engine-python3'])
+ @OEHasPackage(['dldt-inference-engine-vpu-firmware'])
+ @OEHasPackage(['python3-opencv'])
+ @OEHasPackage(['python3-numpy'])
+ def test_dldt_ie_classification_python_api_with_myriad(self):
+ device = 'MYRIAD'
+ (status, output) = self.dldt_ie.test_check_if_openvino_device_available(device)
+ if not status:
+ self.skipTest('OpenVINO %s device not available on target machine(availalbe devices: %s)' % (device, output))
+ (status, output) = self.dldt_ie.test_dldt_ie_classification_python_api_with_device(device, self.ir_files_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
diff --git a/lib/oeqa/runtime/cases/dldt_model_optimizer.py b/lib/oeqa/runtime/cases/dldt_model_optimizer.py
new file mode 100644
index 00000000..736ea661
--- /dev/null
+++ b/lib/oeqa/runtime/cases/dldt_model_optimizer.py
@@ -0,0 +1,38 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget
+from oeqa.runtime.miutils.tests.squeezenet_model_download_test import SqueezenetModelDownloadTest
+from oeqa.runtime.miutils.tests.dldt_model_optimizer_test import DldtModelOptimizerTest
+from oeqa.runtime.miutils.dldtutils import get_testdata_config
+
+class DldtModelOptimizer(OERuntimeTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ cls.sqn_download = SqueezenetModelDownloadTest(OEQATarget(cls.tc.target), '/tmp/mo/md')
+ cls.sqn_download.setup()
+ cls.dldt_mo = DldtModelOptimizerTest(OEQATarget(cls.tc.target), '/tmp/mo/ir')
+ cls.dldt_mo.setup()
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.dldt_mo.tear_down()
+ cls.sqn_download.tear_down()
+
+ @OEHasPackage(['dldt-model-optimizer'])
+ @OEHasPackage(['wget'])
+ def test_dldt_mo_can_create_ir(self):
+ proxy_port = get_testdata_config(self.tc.td, 'DLDT_PIP_PROXY')
+ if not proxy_port:
+ self.skipTest('Need to configure bitbake configuration (DLDT_PIP_PROXY="proxy.server:port").')
+ (status, output) = self.sqn_download.test_can_download_squeezenet_model(proxy_port)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+ (status, output) = self.sqn_download.test_can_download_squeezenet_prototxt(proxy_port)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ mo_exe_dir = get_testdata_config(self.tc.td, 'DLDT_MO_EXE_DIR')
+ if not mo_exe_dir:
+ self.skipTest('Need to configure bitbake configuration (DLDT_MO_EXE_DIR="directory_to_mo.py").')
+ mo_files_dir = self.sqn_download.work_dir
+ (status, output) = self.dldt_mo.test_dldt_mo_can_create_ir(mo_exe_dir, mo_files_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
diff --git a/lib/oeqa/runtime/cases/intel_mediasdk.py b/lib/oeqa/runtime/cases/intel_mediasdk.py
new file mode 100644
index 00000000..4ae7d580
--- /dev/null
+++ b/lib/oeqa/runtime/cases/intel_mediasdk.py
@@ -0,0 +1,34 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.core.decorator.depends import OETestDepends
+
+class MsdkTest(OERuntimeTestCase):
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.tc.target.run("rm /tmp/mtest_h264.mp4")
+
+ @OEHasPackage(['gstreamer1.0-plugins-base'])
+ @OEHasPackage(['gstreamer1.0-plugins-good'])
+ @OEHasPackage(['gstreamer1.0-plugins-bad'])
+ @OEHasPackage(['intel-mediasdk'])
+ @OEHasPackage(['intel-media-driver', 'libigfxcmrt7'])
+ def test_gstreamer_can_encode_with_msdk_and_intel_media_driver(self):
+ (status, output) = self.target.run('gst-inspect-1.0 msdk')
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ (status, output) = self.target.run('export LIBVA_DRIVER_NAME=iHD; '
+ 'gst-launch-1.0 -ev videotestsrc num-buffers=120 ! timeoverlay ! '
+ 'msdkh264enc ! video/x-h264,profile=main ! h264parse ! '
+ 'filesink location=/tmp/mtest_h264.mp4')
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['intel_mediasdk.MsdkTest.test_gstreamer_can_encode_with_msdk_and_intel_media_driver'])
+ def test_gstreamer_can_decode_with_msdk_and_intel_media_driver(self):
+ (status, output) = self.target.run('export LIBVA_DRIVER_NAME=iHD; '
+ 'gst-launch-1.0 filesrc location=/tmp/mtest_h264.mp4 ! '
+ 'h264parse ! msdkh264dec ! '
+ 'msdkh265enc rate-control=cbr bitrate=5000 gop-size=30 b-frames=2 ! '
+ 'video/x-h265,profile=main ! h265parse ! fakesink')
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
diff --git a/lib/oeqa/runtime/cases/intel_vaapi_driver.py b/lib/oeqa/runtime/cases/intel_vaapi_driver.py
new file mode 100644
index 00000000..31e11a81
--- /dev/null
+++ b/lib/oeqa/runtime/cases/intel_vaapi_driver.py
@@ -0,0 +1,27 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.core.decorator.depends import OETestDepends
+
+class VaapiDriverTest(OERuntimeTestCase):
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.tc.target.run("rm /tmp/vtest_h264.mp4")
+
+ @OEHasPackage(['gstreamer1.0-plugins-base'])
+ @OEHasPackage(['gstreamer1.0-plugins-good'])
+ @OEHasPackage(['gstreamer1.0-vaapi'])
+ @OEHasPackage(['intel-vaapi-driver'])
+ def test_gstreamer_can_encode_with_intel_vaapi_driver(self):
+ (status, output) = self.target.run('gst-inspect-1.0 vaapi')
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ (status, output) = self.target.run('gst-launch-1.0 -ev videotestsrc num-buffers=60 ! '
+ 'timeoverlay ! vaapih264enc ! h264parse ! mp4mux ! filesink location=/tmp/vtest_h264.mp4')
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['intel_vaapi_driver.VaapiDriverTest.test_gstreamer_can_encode_with_intel_vaapi_driver'])
+ def test_gstreamer_can_decode_with_intel_vaapi_driver(self):
+ (status, output) = self.target.run('gst-launch-1.0 filesrc location=/tmp/vtest_h264.mp4 ! '
+ 'qtdemux ! h264parse ! vaapih264dec ! vaapisink')
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
diff --git a/lib/oeqa/runtime/cases/isal.py b/lib/oeqa/runtime/cases/isal.py
new file mode 100644
index 00000000..5025f986
--- /dev/null
+++ b/lib/oeqa/runtime/cases/isal.py
@@ -0,0 +1,24 @@
+import os
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+
+class IsalTest(OERuntimeTestCase):
+
+ @OEHasPackage(['isa-l'])
+ def test_isal_igzip_version(self):
+ command = 'igzip -V'
+ (status, output) = self.target.run(command)
+ self.assertEqual(status, 0, msg="Error messages: %s" % output)
+
+ @OETestDepends(['isal.IsalTest.test_isal_igzip_version'])
+ def test_isal_igzip_can_compress(self):
+ command = 'echo "hello" > /tmp/igzip_sample'
+ (status, output) = self.target.run(command)
+ self.assertEqual(status, 0, msg="Error messages: %s" % output)
+ command = 'igzip -z /tmp/igzip_sample'
+ (status, output) = self.target.run(command)
+ self.assertEqual(status, 0, msg="Error messages: %s" % output)
+ command = 'rm /tmp/igzip_sample*'
+ (status, output) = self.target.run(command)
+ self.assertEqual(status, 0, msg="Error messages: %s" % output)
diff --git a/lib/oeqa/runtime/cases/libipt.py b/lib/oeqa/runtime/cases/libipt.py
new file mode 100644
index 00000000..4adb13f0
--- /dev/null
+++ b/lib/oeqa/runtime/cases/libipt.py
@@ -0,0 +1,23 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.core.decorator.depends import OETestDepends
+
+class LibiptTest(OERuntimeTestCase):
+ libipt_bin_dir = '/usr/bin/libipt/'
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.tc.target.run('rm /tmp/loop-tnt*')
+
+ @OEHasPackage(['libipt', 'libipt2'])
+ @OEHasPackage(['libipt-test'])
+ @OEHasPackage(['yasm'])
+ def test_libipt_can_generate_trace_packet(self):
+ (status, output) = self.target.run('cd /tmp; %spttc %s/tests/loop-tnt.ptt' %
+ (self.libipt_bin_dir, self.libipt_bin_dir))
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['libipt.LibiptTest.test_libipt_can_generate_trace_packet'])
+ def test_libipt_can_perform_trace_packet_dump(self):
+ (status, output) = self.target.run('cd /tmp; %sptdump loop-tnt.pt' % self.libipt_bin_dir)
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
diff --git a/lib/oeqa/runtime/cases/libxcam.py b/lib/oeqa/runtime/cases/libxcam.py
new file mode 100644
index 00000000..57192f07
--- /dev/null
+++ b/lib/oeqa/runtime/cases/libxcam.py
@@ -0,0 +1,37 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.core.decorator.depends import OETestDepends
+
+class LibxcamTest(OERuntimeTestCase):
+ yuv_file = 'vtest.yuv'
+ soft_test_app_file = 'test-soft-image'
+ libxcam_test_app_dir = '/usr/bin/libxcam/'
+ libxcam_file_dir = '/tmp/'
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.tc.target.run("rm %s%s" % (cls.libxcam_file_dir, cls.yuv_file))
+
+ @OEHasPackage(['gstreamer1.0-plugins-base'])
+ @OEHasPackage(['gstreamer1.0-plugins-good'])
+ @OEHasPackage(['gstreamer1.0-vaapi'])
+ @OEHasPackage(['intel-vaapi-driver'])
+ def test_libxcam_can_generate_yuv_file_with_gstreamer(self):
+ (status, output) = self.target.run('gst-inspect-1.0 vaapi')
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ (status, output) = self.target.run('gst-launch-1.0 -ev videotestsrc num-buffers=60 ! '
+ 'timeoverlay ! filesink location=%s%s' %
+ (self.libxcam_file_dir, self.yuv_file))
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OEHasPackage(['libxcam'])
+ @OEHasPackage(['libxcam-test'])
+ @OETestDepends(['libxcam.LibxcamTest.test_libxcam_can_generate_yuv_file_with_gstreamer'])
+ def test_libxcam_can_execute_soft_image_sample_app(self):
+ (status, output) = self.target.run('%s%s --type remap --input0 %s%s --output soft_out.nv12 --save false' %
+ (self.libxcam_test_app_dir,
+ self.soft_test_app_file,
+ self.libxcam_file_dir,
+ self.yuv_file))
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
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/mkl_dnn.py b/lib/oeqa/runtime/cases/mkl_dnn.py
new file mode 100644
index 00000000..8d50df54
--- /dev/null
+++ b/lib/oeqa/runtime/cases/mkl_dnn.py
@@ -0,0 +1,67 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.runtime.decorator.package import OEHasPackage
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.miutils.targets.oeqatarget import OEQATarget
+from oeqa.runtime.miutils.tests.mkl_dnn_test import MkldnnTest
+
+class MklDnn(OERuntimeTestCase):
+
+ @classmethod
+ def setUpClass(cls):
+ cls.mkldnntest = MkldnnTest(OEQATarget(cls.tc.target))
+
+ @classmethod
+ def tearDownClass(cls):
+ cls.mkldnntest.tear_down()
+
+ @OEHasPackage(['onednn', 'libdnnl2'])
+ @OEHasPackage(['onednn-src', 'libdnnl-src'])
+ @OEHasPackage(['onednn-dev', 'libdnnl-dev'])
+ @OEHasPackage(['gcc'])
+ @OEHasPackage(['gcc-symlinks'])
+ @OEHasPackage(['libstdc++-dev'])
+ @OEHasPackage(['binutils'])
+ def test_mkldnn_can_compile_and_execute(self):
+ (status, output) = self.mkldnntest.test_mkldnn_can_compile_and_execute()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OEHasPackage(['onednn', 'libdnnl2'])
+ @OEHasPackage(['onednn-test', 'libdnnl-test'])
+ def test_mkldnn_benchdnn_package_available(self):
+ (status, output) = self.mkldnntest.test_mkldnn_benchdnn_package_available()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
+ def test_mkldnn_conv_api(self):
+ (status, output) = self.mkldnntest.test_mkldnn_conv_api()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
+ def test_mkldnn_bnorm_api(self):
+ (status, output) = self.mkldnntest.test_mkldnn_bnorm_api()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
+ def test_mkldnn_deconv_api(self):
+ (status, output) = self.mkldnntest.test_mkldnn_deconv_api()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
+ def test_mkldnn_ip_api(self):
+ (status, output) = self.mkldnntest.test_mkldnn_ip_api()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
+ def test_mkldnn_reorder_api(self):
+ (status, output) = self.mkldnntest.test_mkldnn_reorder_api()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
+ def test_mkldnn_rnn_api(self):
+ (status, output) = self.mkldnntest.test_mkldnn_rnn_api()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
+
+ @OETestDepends(['mkl_dnn.MklDnn.test_mkldnn_benchdnn_package_available'])
+ def test_mkldnn_shuffle_api(self):
+ (status, output) = self.mkldnntest.test_mkldnn_shuffle_api()
+ self.assertEqual(status, 0, msg='status and output: %s and %s' % (status, output))
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
new file mode 100644
index 00000000..a0b6a92b
--- /dev/null
+++ b/lib/oeqa/runtime/cases/thermald.py
@@ -0,0 +1,47 @@
+from oeqa.runtime.case import OERuntimeTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.runtime.decorator.package import OEHasPackage
+import threading
+import time
+import re
+
+class ThermaldTest(OERuntimeTestCase):
+ def get_thermal_zone_with_target_type(self, target_type):
+ i = 0
+ while True:
+ status, output = self.target.run('cat /sys/class/thermal/thermal_zone%s/type' % i)
+ if status:
+ return -1
+ if output == target_type:
+ return i
+ i = i + 1
+
+ def run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process(self, run_args):
+ time.sleep(2)
+ self.target.run('echo 106000 > /sys/class/thermal/thermal_zone%s/emul_temp' % run_args)
+ time.sleep(5)
+ __, output = self.target.run('pidof thermald')
+ self.target.run('kill -9 %s' % output)
+
+ def test_thermald_emulation_mode(self):
+ # Thermald test depend on thermal emulation, where CONFIG_THERMAL_EMULATION=y was required
+ # To enable thermal emulation, refer to https://github.com/intel/thermal_daemon/blob/master/test/readme_test.txt
+ (status, output) = self.target.run('gzip -dc /proc/config.gz | grep CONFIG_THERMAL_EMULATION=y')
+ if status:
+ self.skipTest("CONFIG_THERMAL_EMULATION is not set")
+
+ @OEHasPackage(['thermald'])
+ @OETestDepends(['thermald.ThermaldTest.test_thermald_emulation_mode'])
+ def test_thermald_can_track_thermal_exceed_setpoint(self):
+ x86_thermal_zone_index = self.get_thermal_zone_with_target_type('x86_pkg_temp')
+ if x86_thermal_zone_index < 0:
+ self.skipTest('Could not get the thermal zone index for target type (%s)' % 'x86_pkg_temp')
+ td_thread = threading.Thread(target=self.run_thermald_emulation_to_exceed_setpoint_then_end_thermald_process,
+ args=(x86_thermal_zone_index,))
+ td_thread.start()
+ td_thread.join()
+ status, output = self.target.run('timeout 3s thermald --no-daemon --loglevel=info')
+ regex_search = ".*thd_cdev_set_state.*106000"
+ regex_comp = re.compile(regex_search)
+ m = regex_comp.search(output)
+ self.assertTrue(m, msg='status and output: %s and %s' % (status, output))
diff --git a/lib/oeqa/runtime/files/dldt-inference-engine/classification_sample.py b/lib/oeqa/runtime/files/dldt-inference-engine/classification_sample.py
new file mode 100644
index 00000000..1906e9fe
--- /dev/null
+++ b/lib/oeqa/runtime/files/dldt-inference-engine/classification_sample.py
@@ -0,0 +1,135 @@
+#!/usr/bin/env python3
+"""
+ Copyright (C) 2018-2019 Intel Corporation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+"""
+from __future__ import print_function
+import sys
+import os
+from argparse import ArgumentParser, SUPPRESS
+import cv2
+import numpy as np
+import logging as log
+from time import time
+from openvino.inference_engine import IENetwork, IECore
+
+
+def build_argparser():
+ parser = ArgumentParser(add_help=False)
+ args = parser.add_argument_group('Options')
+ args.add_argument('-h', '--help', action='help', default=SUPPRESS, help='Show this help message and exit.')
+ args.add_argument("-m", "--model", help="Required. Path to an .xml file with a trained model.", required=True,
+ type=str)
+ args.add_argument("-i", "--input", help="Required. Path to a folder with images or path to an image files",
+ required=True,
+ type=str, nargs="+")
+ args.add_argument("-l", "--cpu_extension",
+ help="Optional. Required for CPU custom layers. "
+ "MKLDNN (CPU)-targeted custom layers. Absolute path to a shared library with the"
+ " kernels implementations.", type=str, default=None)
+ args.add_argument("-d", "--device",
+ help="Optional. Specify the target device to infer on; CPU, GPU, FPGA, HDDL, MYRIAD or HETERO: is "
+ "acceptable. The sample will look for a suitable plugin for device specified. Default "
+ "value is CPU",
+ default="CPU", type=str)
+ args.add_argument("--labels", help="Optional. Path to a labels mapping file", default=None, type=str)
+ args.add_argument("-nt", "--number_top", help="Optional. Number of top results", default=10, type=int)
+
+ return parser
+
+
+def main():
+ log.basicConfig(format="[ %(levelname)s ] %(message)s", level=log.INFO, stream=sys.stdout)
+ args = build_argparser().parse_args()
+ model_xml = args.model
+ model_bin = os.path.splitext(model_xml)[0] + ".bin"
+
+ # Plugin initialization for specified device and load extensions library if specified
+ log.info("Creating Inference Engine")
+ ie = IECore()
+ if args.cpu_extension and 'CPU' in args.device:
+ ie.add_extension(args.cpu_extension, "CPU")
+ # Read IR
+ log.info("Loading network files:\n\t{}\n\t{}".format(model_xml, model_bin))
+ net = IENetwork(model=model_xml, weights=model_bin)
+
+ if "CPU" in args.device:
+ supported_layers = ie.query_network(net, "CPU")
+ not_supported_layers = [l for l in net.layers.keys() if l not in supported_layers]
+ if len(not_supported_layers) != 0:
+ log.error("Following layers are not supported by the plugin for specified device {}:\n {}".
+ format(args.device, ', '.join(not_supported_layers)))
+ log.error("Please try to specify cpu extensions library path in sample's command line parameters using -l "
+ "or --cpu_extension command line argument")
+ sys.exit(1)
+
+ assert len(net.inputs.keys()) == 1, "Sample supports only single input topologies"
+ assert len(net.outputs) == 1, "Sample supports only single output topologies"
+
+ log.info("Preparing input blobs")
+ input_blob = next(iter(net.inputs))
+ out_blob = next(iter(net.outputs))
+ net.batch_size = len(args.input)
+
+ # Read and pre-process input images
+ n, c, h, w = net.inputs[input_blob].shape
+ images = np.ndarray(shape=(n, c, h, w))
+ for i in range(n):
+ image = cv2.imread(args.input[i])
+ if image.shape[:-1] != (h, w):
+ log.warning("Image {} is resized from {} to {}".format(args.input[i], image.shape[:-1], (h, w)))
+ image = cv2.resize(image, (w, h))
+ image = image.transpose((2, 0, 1)) # Change data layout from HWC to CHW
+ images[i] = image
+ log.info("Batch size is {}".format(n))
+
+ # Loading model to the plugin
+ log.info("Loading model to the plugin")
+ exec_net = ie.load_network(network=net, device_name=args.device)
+
+ # Start sync inference
+ log.info("Starting inference in synchronous mode")
+ res = exec_net.infer(inputs={input_blob: images})
+
+ # Processing output blob
+ log.info("Processing output blob")
+ res = res[out_blob]
+ log.info("Top {} results: ".format(args.number_top))
+ if args.labels:
+ with open(args.labels, 'r') as f:
+ labels_map = [x.split(sep=' ', maxsplit=1)[-1].strip() for x in f]
+ else:
+ labels_map = None
+ classid_str = "classid"
+ probability_str = "probability"
+ for i, probs in enumerate(res):
+ probs = np.squeeze(probs)
+ top_ind = np.argsort(probs)[-args.number_top:][::-1]
+ print("Image {}\n".format(args.input[i]))
+ print(classid_str, probability_str)
+ print("{} {}".format('-' * len(classid_str), '-' * len(probability_str)))
+ for id in top_ind:
+ det_label = labels_map[id] if labels_map else "{}".format(id)
+ label_length = len(det_label)
+ space_num_before = (len(classid_str) - label_length) // 2
+ space_num_after = len(classid_str) - (space_num_before + label_length) + 2
+ space_num_before_prob = (len(probability_str) - len(str(probs[id]))) // 2
+ print("{}{}{}{}{:.7f}".format(' ' * space_num_before, det_label,
+ ' ' * space_num_after, ' ' * space_num_before_prob,
+ probs[id]))
+ print("\n")
+ log.info("This sample is an API example, for any performance measurements please use the dedicated benchmark_app tool\n")
+
+if __name__ == '__main__':
+ sys.exit(main() or 0)
diff --git a/lib/oeqa/runtime/miutils/dldtutils.py b/lib/oeqa/runtime/miutils/dldtutils.py
new file mode 100644
index 00000000..45bf2e12
--- /dev/null
+++ b/lib/oeqa/runtime/miutils/dldtutils.py
@@ -0,0 +1,3 @@
+
+def get_testdata_config(testdata, config):
+ return testdata.get(config)
diff --git a/lib/oeqa/runtime/miutils/targets/oeqatarget.py b/lib/oeqa/runtime/miutils/targets/oeqatarget.py
new file mode 100644
index 00000000..a9f7f1b4
--- /dev/null
+++ b/lib/oeqa/runtime/miutils/targets/oeqatarget.py
@@ -0,0 +1,11 @@
+
+class OEQATarget(object):
+
+ def __init__(self, target):
+ self.target = target
+
+ def run(self, cmd):
+ return self.target.run(cmd)
+
+ def copy_to(self, source, destination_dir):
+ self.target.copyTo(source, destination_dir)
diff --git a/lib/oeqa/runtime/miutils/tests/dldt_inference_engine_test.py b/lib/oeqa/runtime/miutils/tests/dldt_inference_engine_test.py
new file mode 100644
index 00000000..31bfb539
--- /dev/null
+++ b/lib/oeqa/runtime/miutils/tests/dldt_inference_engine_test.py
@@ -0,0 +1,56 @@
+import os
+script_path = os.path.dirname(os.path.realpath(__file__))
+files_path = os.path.join(script_path, '../../files/')
+
+class DldtInferenceEngineTest(object):
+ ie_input_files = {'ie_python_sample': 'classification_sample.py',
+ 'input': 'chicky_512.png',
+ 'input_download': 'https://raw.githubusercontent.com/opencv/opencv/master/samples/data/chicky_512.png',
+ 'model': 'squeezenet_v1.1.xml'}
+
+ def __init__(self, target, work_dir):
+ self.target = target
+ self.work_dir = work_dir
+
+ def setup(self):
+ self.target.run('mkdir -p %s' % self.work_dir)
+ self.target.copy_to(os.path.join(files_path, 'dldt-inference-engine', self.ie_input_files['ie_python_sample']),
+ self.work_dir)
+ python_cmd = 'from openvino.inference_engine import IENetwork, IECore; ie = IECore(); print(ie.available_devices)'
+ __, output = self.target.run('python3 -c "%s"' % python_cmd)
+ self.available_devices = output
+
+ def tear_down(self):
+ self.target.run('rm -rf %s' % self.work_dir)
+
+ def test_check_if_openvino_device_available(self, device):
+ if device not in self.available_devices:
+ return False, self.available_devices
+ return True, self.available_devices
+
+ def test_can_download_input_file(self, proxy_port):
+ return self.target.run('cd %s; wget %s -e https_proxy=%s' %
+ (self.work_dir,
+ self.ie_input_files['input_download'],
+ proxy_port))
+
+ def test_dldt_ie_classification_with_device(self, device, ir_files_dir):
+ return self.target.run('classification_sample_async -d %s -i %s -m %s' %
+ (device,
+ os.path.join(self.work_dir, self.ie_input_files['input']),
+ os.path.join(ir_files_dir, self.ie_input_files['model'])))
+
+ def test_dldt_ie_classification_python_api_with_device(self, device, ir_files_dir, extension=''):
+ if extension:
+ return self.target.run('python3 %s -d %s -i %s -m %s -l %s' %
+ (os.path.join(self.work_dir, self.ie_input_files['ie_python_sample']),
+ device,
+ os.path.join(self.work_dir, self.ie_input_files['input']),
+ os.path.join(ir_files_dir, self.ie_input_files['model']),
+ extension))
+ else:
+ return self.target.run('python3 %s -d %s -i %s -m %s' %
+ (os.path.join(self.work_dir, self.ie_input_files['ie_python_sample']),
+ device,
+ os.path.join(self.work_dir, self.ie_input_files['input']),
+ os.path.join(ir_files_dir, self.ie_input_files['model'])))
diff --git a/lib/oeqa/runtime/miutils/tests/dldt_model_optimizer_test.py b/lib/oeqa/runtime/miutils/tests/dldt_model_optimizer_test.py
new file mode 100644
index 00000000..7d3db15b
--- /dev/null
+++ b/lib/oeqa/runtime/miutils/tests/dldt_model_optimizer_test.py
@@ -0,0 +1,23 @@
+import os
+
+class DldtModelOptimizerTest(object):
+ mo_input_files = {'model': 'squeezenet_v1.1.caffemodel',
+ 'prototxt': 'deploy.prototxt'}
+ mo_exe = 'mo.py'
+
+ def __init__(self, target, work_dir):
+ self.target = target
+ self.work_dir = work_dir
+
+ def setup(self):
+ self.target.run('mkdir -p %s' % self.work_dir)
+
+ def tear_down(self):
+ self.target.run('rm -rf %s' % self.work_dir)
+
+ def test_dldt_mo_can_create_ir(self, mo_exe_dir, mo_files_dir):
+ return self.target.run('python3 %s --input_model %s --input_proto %s --output_dir %s --data_type FP16' %
+ (os.path.join(mo_exe_dir, self.mo_exe),
+ os.path.join(mo_files_dir, self.mo_input_files['model']),
+ os.path.join(mo_files_dir, self.mo_input_files['prototxt']),
+ self.work_dir))
diff --git a/lib/oeqa/runtime/miutils/tests/mkl_dnn_test.py b/lib/oeqa/runtime/miutils/tests/mkl_dnn_test.py
new file mode 100644
index 00000000..869a4cbe
--- /dev/null
+++ b/lib/oeqa/runtime/miutils/tests/mkl_dnn_test.py
@@ -0,0 +1,55 @@
+
+class MkldnnTest(object):
+ mkldnn_target_test_filename = 'mkl-dnn-c'
+
+ def __init__(self, target):
+ self.target = target
+
+ def tear_down(self):
+ self.target.run('rm /tmp/%s' % self.mkldnn_target_test_filename)
+
+ def test_mkldnn_can_compile_and_execute(self):
+ mkldnn_src_dir = '/usr/src/debug/onednn/'
+ mkldnn_src_test_filename = 'api.c'
+ mkldnn_src_test_file = ''
+
+ (__, output) = self.target.run('cd %s; find -name %s' % (mkldnn_src_dir, mkldnn_src_test_filename))
+ if 'No such file or directory' in output:
+ return -1, output
+
+ mkldnn_src_test_file = os.path.join(mkldnn_src_dir, output)
+ (status, output) = self.target.run('gcc %s -o /tmp/%s -ldnnl' % (mkldnn_src_test_file, self.mkldnn_target_test_filename))
+ if status:
+ return status, output
+
+ (status, output) = self.target.run('cd /tmp; ./%s' % self.mkldnn_target_test_filename)
+ return status, output
+
+ def test_mkldnn_benchdnn_package_available(self):
+ (status, output) = self.target.run('ls /usr/bin/mkl-dnn/tests/benchdnn')
+ return status, output
+
+ def _run_mkldnn_benchdnn_test(self, cmd):
+ (status, output) = self.target.run('cd /usr/bin/mkl-dnn/tests/benchdnn; %s' % cmd)
+ return status, output
+
+ def test_mkldnn_conv_api(self):
+ return self._run_mkldnn_benchdnn_test('./benchdnn --conv --batch=inputs/conv/test_conv_3d')
+
+ def test_mkldnn_bnorm_api(self):
+ return self._run_mkldnn_benchdnn_test('./benchdnn --bnorm --batch=inputs/bnorm/test_bnorm_regressions')
+
+ def test_mkldnn_deconv_api(self):
+ return self._run_mkldnn_benchdnn_test('./benchdnn --deconv --batch=inputs/deconv/test_deconv_bfloat16')
+
+ def test_mkldnn_ip_api(self):
+ return self._run_mkldnn_benchdnn_test('./benchdnn --ip --batch=inputs/ip/test_ip_bfloat16')
+
+ def test_mkldnn_reorder_api(self):
+ return self._run_mkldnn_benchdnn_test('./benchdnn --reorder --batch=inputs/reorder/test_reorder_bfloat16')
+
+ def test_mkldnn_rnn_api(self):
+ return self._run_mkldnn_benchdnn_test('./benchdnn --rnn --batch=inputs/rnn/test_rnn_all')
+
+ def test_mkldnn_shuffle_api(self):
+ return self._run_mkldnn_benchdnn_test('./benchdnn --shuffle --batch=inputs/shuffle/test_shuffle_bfloat16') \ No newline at end of file
diff --git a/lib/oeqa/runtime/miutils/tests/squeezenet_model_download_test.py b/lib/oeqa/runtime/miutils/tests/squeezenet_model_download_test.py
new file mode 100644
index 00000000..a3e46a0a
--- /dev/null
+++ b/lib/oeqa/runtime/miutils/tests/squeezenet_model_download_test.py
@@ -0,0 +1,25 @@
+class SqueezenetModelDownloadTest(object):
+ download_files = {'squeezenet1.1.prototxt': 'https://raw.githubusercontent.com/DeepScale/SqueezeNet/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/deploy.prototxt',
+ 'squeezenet1.1.caffemodel': 'https://github.com/DeepScale/SqueezeNet/raw/a47b6f13d30985279789d08053d37013d67d131b/SqueezeNet_v1.1/squeezenet_v1.1.caffemodel'}
+
+ def __init__(self, target, work_dir):
+ self.target = target
+ self.work_dir = work_dir
+
+ def setup(self):
+ self.target.run('mkdir -p %s' % self.work_dir)
+
+ def tear_down(self):
+ self.target.run('rm -rf %s' % self.work_dir)
+
+ def test_can_download_squeezenet_model(self, proxy_port):
+ return self.target.run('cd %s; wget %s -e https_proxy=%s' %
+ (self.work_dir,
+ self.download_files['squeezenet1.1.caffemodel'],
+ proxy_port))
+
+ def test_can_download_squeezenet_prototxt(self, proxy_port):
+ return self.target.run('cd %s; wget %s -e https_proxy=%s' %
+ (self.work_dir,
+ self.download_files['squeezenet1.1.prototxt'],
+ proxy_port))
diff --git a/recipes-bsp/ace/ace_6.5.3.bb b/recipes-bsp/ace/ace_6.5.3.bb
deleted file mode 100644
index f1a10eea..00000000
--- a/recipes-bsp/ace/ace_6.5.3.bb
+++ /dev/null
@@ -1,40 +0,0 @@
-SUMMARY = "C++ framework for implementing distributed and networked applications"
-DESCRIPTION = "C++ network programming framework that implements many core \
-patterns for concurrent communication software"
-LICENSE = "ACE-TAO-CIAO"
-HOMEPAGE = "http://www.dre.vanderbilt.edu/~schmidt/ACE.html"
-LIC_FILES_CHKSUM = "file://COPYING;md5=407a202d1b887b998dc9480442840630"
-
-DEPENDS += "openssl gperf-native"
-
-SRC_URI = "ftp://download.dre.vanderbilt.edu/previous_versions/ACE-${PV}.tar.bz2 \
- file://ace_config.patch \
- file://config_linux.patch \
- "
-
-SRC_URI[md5sum] = "4cc5f109ebd17cd56f0539d1b47d16b3"
-SRC_URI[sha256sum] = "b1d6a716394bd15c21bb90037b8a12a4d8034cc9d8878b0ad39b3c467df19b1a"
-
-COMPATIBLE_HOST_libc-musl = "null"
-
-S = "${WORKDIR}/ACE_wrappers"
-B = "${WORKDIR}/ACE_wrappers/ace"
-export ACE_ROOT="${WORKDIR}/ACE_wrappers"
-
-inherit pkgconfig
-
-CXXFLAGS_append = " -fpermissive -Wnodeprecated-declarations"
-
-do_install() {
- export D="${D}"
- oe_runmake install
-
- for i in $(find ${D} -name "*.pc") ; do
- sed -i -e s:${D}::g \
- -e s:/${TARGET_SYS}::g \
- $i
- done
-
- rm -r ${D}/usr/share
-}
-
diff --git a/recipes-bsp/ace/files/ace_config.patch b/recipes-bsp/ace/files/ace_config.patch
deleted file mode 100644
index 207b85ab..00000000
--- a/recipes-bsp/ace/files/ace_config.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ruN ACE_wrappers1/ace/config.h ACE_wrappers/ace/config.h
---- ACE_wrappers1/ace/config.h 1970-01-01 02:00:00.000000000 +0200
-+++ ACE_wrappers/ace/config.h 2019-01-10 13:36:52.698012477 +0200
-@@ -0,0 +1,1 @@
-+#include "ace/config-linux.h"
-diff -ruN ACE_wrappers1/include/makeinclude/platform_macros.GNU ACE_wrappers/include/makeinclude/platform_macros.GNU
---- ACE_wrappers1/include/makeinclude/platform_macros.GNU 1970-01-01 02:00:00.000000000 +0200
-+++ ACE_wrappers/include/makeinclude/platform_macros.GNU 2018-10-31 15:11:18.265392460 +0200
-@@ -0,0 +1,3 @@
-+INSTALL_PREFIX = $(D)$(exec_prefix)
-+INSTALL_LIB = $(base_libdir)
-+include $(ACE_ROOT)/include/makeinclude/platform_linux.GNU
diff --git a/recipes-bsp/ace/files/config_linux.patch b/recipes-bsp/ace/files/config_linux.patch
deleted file mode 100644
index 323a63eb..00000000
--- a/recipes-bsp/ace/files/config_linux.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-config-linux.h: fix glibc build failure
-
-Recent glibc v2.30 dropped XSI STREAMS declarations,
-which causing below build failure.
-
-poky/build/tmp/work/corei7-64-poky-linux/ace/6.5.3-r0/ACE_wrappers/ace/os_include/os_stropts.h:56:17: fatal error: stropts.h: No such file or directory
-| 56 | # include /**/ <stropts.h>
-| | ^~~~~~~~~~~
-| compilation terminated.
-
-Added GLIBC checks for affected versions.
-
-For more information about glibc v2.30 change, please check:
-https://sourceware.org/git/?p=glibc.git;a=commit;h=a0a0dc83173ce11ff45105fd32e5d14356cdfb9c
-
-Upstream-Status: Submitted [https://github.com/DOCGroup/ACE_TAO/pull/939]
-
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
-
---- ACE_wrappers_original/ace/config-linux.h 2018-11-19 17:45:53.163139000 +0800
-+++ ACE_wrappers/ace/config-linux.h 2019-08-13 17:04:17.620866464 +0800
-@@ -295,7 +295,7 @@
-
- // Starting with FC9 rawhide this file is not available anymore but
- // this define is set
--#if defined _XOPEN_STREAMS && _XOPEN_STREAMS == -1
-+#if (defined(__GLIBC__) && (__GLIBC__ == 2 && __GLIBC_MINOR__ >= 30)) || (defined _XOPEN_STREAMS && _XOPEN_STREAMS == -1)
- # define ACE_LACKS_STROPTS_H
- # define ACE_LACKS_STRRECVFD
- #endif
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/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf b/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
deleted file mode 100644
index 74d33c87..00000000
--- a/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.conf
+++ /dev/null
@@ -1,2 +0,0 @@
-# Mimic modprobe's install funcitonality with busybox's modprobe
-install gma500_gfx dmesg | grep gma500_gfx_checked || { /etc/modprobe.d/gma500-gfx-check.sh || modprobe gma500_gfx; }
diff --git a/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh b/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
deleted file mode 100644
index 75cda99f..00000000
--- a/recipes-bsp/gma500-gfx-check/gma500-gfx-check/gma500-gfx-check.sh
+++ /dev/null
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-# Check for devices we wish to avoid gma500_gfx for
-DEVICES="0x8119 0x4108"
-
-# Checked flag to avoid infinite modprobe
-echo "gma500_gfx_checked" >> /dev/kmsg;
-
-for DEVICE in $DEVICES; do
- if udevadm trigger --subsystem-match=pci --verbose --attr-match=device=$DEVICE | grep "pci" >> /dev/null ; then
- echo "Found $DEVICE, avoiding gma500_gfx module" >> /dev/kmsg;
- exit 0
- fi
-done
-exit 1
diff --git a/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb b/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
deleted file mode 100644
index 7b08064b..00000000
--- a/recipes-bsp/gma500-gfx-check/gma500-gfx-check_1.0.bb
+++ /dev/null
@@ -1,18 +0,0 @@
-SUMMARY = "Intel gma500_gfx fix for certain hardware"
-DESCRIPTION = "Avoid inserting gma500_gfx module for certain hardware devices."
-LICENSE="GPLv2"
-LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
-
-SRC_URI = "file://gma500-gfx-check.conf \
- file://gma500-gfx-check.sh "
-
-do_install(){
- install -d ${D}${sysconfdir}/modprobe.d/
- install -m 755 ${WORKDIR}/gma500-gfx-check.sh ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.sh
- install -m 644 ${WORKDIR}/gma500-gfx-check.conf ${D}${sysconfdir}/modprobe.d/gma500-gfx-check.conf
-}
-
-FILES_${PN}="${sysconfdir}/modprobe.d/gma500-gfx-check.conf \
- ${sysconfdir}/modprobe.d/gma500-gfx-check.sh"
-
-COMPATIBLE_MACHINE = "intel-core2-32"
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.1.1.bb b/recipes-bsp/metee/metee_3.2.4.bb
index 7f06e1f3..da8220b9 100644
--- a/recipes-bsp/metee/metee_2.1.1.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 = "5ecadbc3d94588dd842b2ef243d597aad644d031"
+SRC_URI = "git://github.com/intel/metee.git;branch=master;protocol=https \
+"
+SRCREV = "db45e37e146fd9c06907a15ade55eba06ad1f951"
S = "${WORKDIR}/git"
diff --git a/recipes-bsp/systemd-boot/systemd-boot_%.bbappend b/recipes-bsp/systemd-boot/systemd-boot_%.bbappend
deleted file mode 100644
index d2e1c16b..00000000
--- a/recipes-bsp/systemd-boot/systemd-boot_%.bbappend
+++ /dev/null
@@ -1,9 +0,0 @@
-PACKAGE_ARCH_intel-x86-common = "${INTEL_COMMON_PACKAGE_ARCH}"
-
-do_compile_append_intel-x86-common() {
- ninja src/boot/efi/linux${SYSTEMD_BOOT_EFI_ARCH}.efi.stub
-}
-
-do_deploy_append_intel-x86-common() {
- install ${B}/src/boot/efi/linux*.efi.stub ${DEPLOYDIR}
-}
diff --git a/recipes-bsp/thermald/thermald/0001-Use-correct-format-specifier-for-size_t.patch b/recipes-bsp/thermald/thermald/0001-Use-correct-format-specifier-for-size_t.patch
deleted file mode 100644
index eaa0da61..00000000
--- a/recipes-bsp/thermald/thermald/0001-Use-correct-format-specifier-for-size_t.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From dcdaf523393a6e7c07b5a510c573223722b0289b Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Thu, 1 Aug 2019 08:15:52 +0800
-Subject: [PATCH] Use correct format specifier for size_t
-
-%zu instead of %lu, otherwise on 32 bit:
-
-| In file included from ../git/src/thd_common.h:27,
-| from ../git/src/thd_zone.h:30,
-| from ../git/src/thd_zone.cpp:34:
-| ../git/src/thd_zone.cpp: In member function 'void cthd_zone::update_highest_trip_temp(cthd_trip_point&)':
-| ../git/src/thd_zone.cpp:322:16: error: format '%lu' expects argument of type 'long unsigned int', but argument 4 has type 'std::vector<cthd_trip_point>::size_type' {aka 'unsigned int'} [-Werror=format=]
-| 322 | thd_log_info("trip_points.size():%lu\n", trip_points.size());
-| | ^~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~
-| | |
-| | std::vector<cthd_trip_point>::size_type {aka unsigned int}
-| ../git/src/thermald.h:82:57: note: in definition of macro 'thd_log_info'
-| 82 | #define thd_log_info(...) g_log(NULL, G_LOG_LEVEL_INFO, __VA_ARGS__)
-| | ^~~~~~~~~~~
-| ../git/src/thd_zone.cpp:322:38: note: format string is defined here
-| 322 | thd_log_info("trip_points.size():%lu\n", trip_points.size());
-| | ~~^
-| | |
-| | long unsigned int
-| | %u
-
-Upstream-Status: Submitted [https://github.com/intel/thermal_daemon/pull/198]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- src/thd_zone.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/thd_zone.cpp b/src/thd_zone.cpp
-index dd485d9..eb81d61 100644
---- a/src/thd_zone.cpp
-+++ b/src/thd_zone.cpp
-@@ -319,7 +319,7 @@ void cthd_zone::add_trip(cthd_trip_point &trip) {
- void cthd_zone::update_highest_trip_temp(cthd_trip_point &trip)
- {
- if (trip_points.size()) {
-- thd_log_info("trip_points.size():%lu\n", trip_points.size());
-+ thd_log_info("trip_points.size():%zu\n", trip_points.size());
- for (unsigned int j = trip_points.size() - 1;; --j) {
- if (trip_points[j].get_trip_type() == trip.get_trip_type()) {
- thd_log_info("updating existing trip temp \n");
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/files/0001-modules-vulkan-point-to-correct-location-of-spv-shad.patch b/recipes-core/libxcam/files/0001-modules-vulkan-point-to-correct-location-of-spv-shad.patch
deleted file mode 100644
index 911d7aac..00000000
--- a/recipes-core/libxcam/files/0001-modules-vulkan-point-to-correct-location-of-spv-shad.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 99f7a588ee827e25a153ac066a4f80f13a86e10e Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Mon, 29 Jul 2019 12:27:19 +0800
-Subject: [PATCH] modules/vulkan: point to correct location of spv shaders
-
-They are not generated and are present in source directory.
-
-Upstream-Status: Submitted [https://github.com/intel/libxcam/pull/654]
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- modules/vulkan/Makefile.am | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/modules/vulkan/Makefile.am b/modules/vulkan/Makefile.am
-index 22763f0..56578ec 100644
---- a/modules/vulkan/Makefile.am
-+++ b/modules/vulkan/Makefile.am
-@@ -5,7 +5,7 @@ XCAM_VK_CXXFLAGS = \
- $(LIBVULKAN_CFLAGS) \
- -I$(top_srcdir)/xcore \
- -I$(top_srcdir)/modules \
-- -I$(top_builddir)/shaders/spv \
-+ -I$(top_srcdir)/shaders/spv \
- $(NULL)
-
- XCAM_VK_LIBS = \
---
-2.7.4
-
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_1.2.2.bb b/recipes-core/libxcam/libxcam_1.5.0.bb
index 80bef154..31e9344b 100644
--- a/recipes-core/libxcam/libxcam_1.2.2.bb
+++ b/recipes-core/libxcam/libxcam_1.5.0.bb
@@ -7,12 +7,12 @@ SECTION = "lib"
inherit autotools pkgconfig
S = "${WORKDIR}/git"
-SRCREV = "28769ade4793006c8db9a1720359c310fa1e0d6a"
-SRC_URI = "git://github.com/intel/libxcam.git;branch=1.2.2 \
- file://0001-modules-vulkan-point-to-correct-location-of-spv-shad.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)} \
@@ -28,4 +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,"
-FILES_${PN} += "${libdir}/gstreamer-*/*.so"
+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/*"
+PACKAGES =+ "${PN}-test"
+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_20190618.bb b/recipes-core/microcode/intel-microcode_20240312.bb
index 6bbead6c..00b18231 100644
--- a/recipes-core/microcode/intel-microcode_20190618.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=99b296eb12723fd1eeb52e24971eed84"
+LIC_FILES_CHKSUM = "file://license;md5=d8405101ec6e90c1d84b082b0c40c721"
-SRC_URI = "git://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git;protocol=https \
+SRC_URI = "git://github.com/intel/Intel-Linux-Processor-Microcode-Data-Files.git;protocol=https;branch=main \
"
-SRCREV = "940d904b7272edd689a5f0eef9dee09c13746748"
+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/mkl-dnn/mkl-dnn_1.0.2.bb b/recipes-core/mkl-dnn/mkl-dnn_1.0.2.bb
deleted file mode 100644
index 9f726848..00000000
--- a/recipes-core/mkl-dnn/mkl-dnn_1.0.2.bb
+++ /dev/null
@@ -1,49 +0,0 @@
-SUMMARY = "Intel Math Kernel Library for Deep Neural Networks"
-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"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a34303951205b8c53485477c74052380 \
- file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
- file://src/cpu/xbyak/COPYRIGHT;md5=03532861dad9003cc2c17f14fc7a4efa \
- file://src/cpu/jit_utils/jitprofiling/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb"
-SECTION = "lib"
-
-inherit pkgconfig cmake ptest
-
-S = "${WORKDIR}/git"
-SRCREV = "3289d3c06e07b55fdbec927461bd89f8989eff5d"
-SRC_URI = "git://github.com/intel/mkl-dnn.git;branch=rls-v1.0 \
- file://run-ptest \
-"
-
-UPSTREAM_CHECK_GITTAGREGEX = "^v(?P<pver>(\d+(\.\d+)+))$"
-
-COMPATIBLE_HOST = '(x86_64).*-linux'
-COMPATIBLE_HOST_libc-musl = 'null'
-
-EXTRA_OECMAKE += "-DMKLDNN_LIBRARY_TYPE=SHARED"
-EXTRA_OECMAKE += "-DMKLDNN_THREADING=OMP"
-EXTRA_OECMAKE += "-DWITH_EXAMPLE=ON"
-EXTRA_OECMAKE += "-DWITH_TEST=ON"
-EXTRA_OECMAKE += "-DARCH_OPT_FLAGS=''"
-EXTRA_OECMAKE += "-DCMAKE_SKIP_RPATH=ON"
-
-do_install_append () {
- install -d ${D}${bindir}/mkl-dnn
- install -d ${D}${bindir}/mkl-dnn/tests
- install -d ${D}${bindir}/mkl-dnn/tests/benchdnn
- install -d ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs
- install -m 0755 ${B}/tests/benchdnn/benchdnn ${D}${bindir}/mkl-dnn/tests/benchdnn
- cp -r ${B}/tests/benchdnn/inputs/* ${D}${bindir}/mkl-dnn/tests/benchdnn/inputs
-}
-
-
-do_install_ptest () {
- install -d ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/tests/api-c ${D}${PTEST_PATH}/tests
- install -m 0755 ${B}/tests/test_c_symbols-c ${D}${PTEST_PATH}/tests
-}
-
-PACKAGES =+ "${PN}-test"
-
-FILES_${PN}-test = "${bindir}/mkl-dnn/*"
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/ngraph/ngraph/0001-ngraph-compile-for-DLDT-R2.patch b/recipes-devtools/ngraph/ngraph/0001-ngraph-compile-for-DLDT-R2.patch
deleted file mode 100644
index fcc2a849..00000000
--- a/recipes-devtools/ngraph/ngraph/0001-ngraph-compile-for-DLDT-R2.patch
+++ /dev/null
@@ -1,141 +0,0 @@
-From 73e9f605f8ce28c3ef9461c3a85d7dfe7814b867 Mon Sep 17 00:00:00 2001
-From: Erin Park <erin.park@intel.com>
-Date: Wed, 11 Sep 2019 11:15:13 +0800
-Subject: [PATCH] ngraph compile for DLDT R2
-
-Upstream-Status: Pending [Taken from Clear Linux with changes to install
-binaries/headers to generic locations]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- src/CMakeLists.txt | 8 ++++--
- src/ngraph.cmake | 54 +++++++++++++++++++++++++++++++++++++++
- src/ngraph/CMakeLists.txt | 21 +++++++++++----
- 3 files changed, 76 insertions(+), 7 deletions(-)
- create mode 100644 src/ngraph.cmake
-
-diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
-index c791436d7..c18473572 100644
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -14,14 +14,18 @@
- # limitations under the License.
- # ******************************************************************************
-
-+cmake_minimum_required(VERSION 3.7.2 FATAL_ERROR)
-+
-+project(ngraph)
-+
-+include(ngraph.cmake)
-+
- add_definitions(-DIN_NGRAPH_LIBRARY)
-
- include_directories(ngraph)
-
- add_subdirectory(resource)
-
--add_subdirectory(ngraph)
--
- if (NGRAPH_TOOLS_ENABLE)
- add_subdirectory(tools)
- message(STATUS "tools enabled")
-diff --git a/src/ngraph.cmake b/src/ngraph.cmake
-new file mode 100644
-index 000000000..a0060e08e
---- /dev/null
-+++ b/src/ngraph.cmake
-@@ -0,0 +1,54 @@
-+# ******************************************************************************
-+# Copyright 2017-2019 Intel Corporation
-+#
-+# Licensed under the Apache License, Version 2.0 (the "License");
-+# you may not use this file except in compliance with the License.
-+# You may obtain a copy of the License at
-+#
-+# http://www.apache.org/licenses/LICENSE-2.0
-+#
-+# Unless required by applicable law or agreed to in writing, software
-+# distributed under the License is distributed on an "AS IS" BASIS,
-+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-+# See the License for the specific language governing permissions and
-+# limitations under the License.
-+# ******************************************************************************
-+
-+set (CMAKE_CXX_STANDARD 11)
-+set (CMAKE_CXX_STANDARD_REQUIRED ON)
-+if (NOT("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel"))
-+ set (CMAKE_CXX_FLAGS "-std=c11 ${CMAKE_CXX_FLAGS}")
-+endif()
-+if (WIN32)
-+ add_definitions(-DNOMINMAX)
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /W0 /EHsc /MP")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_CRT_SECURE_NO_WARNINGS")
-+ set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS TRUE)
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4308")
-+endif()
-+
-+set(NGRAPH_TOOLS_ENABLE FALSE)
-+set(NGRAPH_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/ngraph")
-+include_directories("${CMAKE_CURRENT_SOURCE_DIR}"
-+ "${NGRAPH_SOURCE_DIR}")
-+
-+add_definitions(-DPROJECT_ROOT_DIR="${NGRAPH_SOURCE_DIR}")
-+
-+set(NGRAPH_INSTALL_LIB "${CMAKE_INSTALL_PREFIX}")
-+
-+if (HAS_MAYBE_UNINITIALIZED)
-+ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-uninitialized")
-+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-uninitialized")
-+ else()
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-maybe-uninitialized -Wno-return-type")
-+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-maybe-uninitialized -Wno-return-type")
-+ endif()
-+endif()
-+# WA for GCC 7.0
-+if (UNIX)
-+ set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-return-type")
-+ set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-return-type")
-+endif()
-+add_subdirectory(${NGRAPH_SOURCE_DIR})
-+
-diff --git a/src/ngraph/CMakeLists.txt b/src/ngraph/CMakeLists.txt
-index 2a9b84549..781855941 100644
---- a/src/ngraph/CMakeLists.txt
-+++ b/src/ngraph/CMakeLists.txt
-@@ -574,17 +574,28 @@ endif()
- #-----------------------------------------------------------------------------------------------
-
- # nGraph
--install(FILES ${CMAKE_BINARY_DIR}/VERSION DESTINATION ${CMAKE_INSTALL_PREFIX})
--install(TARGETS ngraph DESTINATION ${NGRAPH_INSTALL_LIB}) # libngraph.so
-+#install(FILES ${CMAKE_BINARY_DIR}/VERSION DESTINATION ${CMAKE_INSTALL_PREFIX})
-+#install(TARGETS ngraph DESTINATION ${NGRAPH_INSTALL_LIB}) # libngraph.so
-+#install(DIRECTORY
-+# ${CMAKE_CURRENT_SOURCE_DIR}/
-+# DESTINATION "${NGRAPH_INSTALL_INCLUDE}/ngraph"
-+# FILES_MATCHING
-+# PATTERN "*.hpp"
-+# PATTERN "*.h"
-+#)
-+#install(FILES ${CMAKE_BINARY_DIR}/src/ngraph/version.hpp
-+# DESTINATION "${NGRAPH_INSTALL_INCLUDE}/ngraph")
-+
-+install(TARGETS ngraph DESTINATION ${CMAKE_INSTALL_LIBDIR}) # libngraph.so
- install(DIRECTORY
- ${CMAKE_CURRENT_SOURCE_DIR}/
-- DESTINATION "${NGRAPH_INSTALL_INCLUDE}/ngraph"
-+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/ngraph"
- FILES_MATCHING
- PATTERN "*.hpp"
- PATTERN "*.h"
- )
--install(FILES ${CMAKE_BINARY_DIR}/src/ngraph/version.hpp
-- DESTINATION "${NGRAPH_INSTALL_INCLUDE}/ngraph")
-+install(FILES ${CMAKE_BINARY_DIR}/ngraph/version.hpp
-+ DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ngraph)
-
- set(CPACK_GENERATOR "DEB")
- set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
---
-2.21.0
-
diff --git a/recipes-devtools/ngraph/ngraph_0.22.1.bb b/recipes-devtools/ngraph/ngraph_0.22.1.bb
deleted file mode 100644
index fa6427b3..00000000
--- a/recipes-devtools/ngraph/ngraph_0.22.1.bb
+++ /dev/null
@@ -1,23 +0,0 @@
-SUMMARY = "nGraph Compiler Stack"
-DESCRIPTION = "nGraph Compiler aims to accelerate developing AI workloads using \
-any deep learning framework and deploying to a variety of \
-hardware targets."
-HOMEPAGE = "https://www.ngraph.ai"
-
-SRC_URI = "git://github.com/NervanaSystems/ngraph.git;protocol=https;branch=r0.22 \
- file://0001-ngraph-compile-for-DLDT-R2.patch;striplevel=2 \
- "
-
-SRCREV = "6818cc5fae57a46d8558c9fd112e04c57a35e0fa"
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
-
-S = "${WORKDIR}/git/src"
-
-inherit cmake
-
-OECMAKE_GENERATOR = "Unix Makefiles"
-
-FILES_${PN}-dev = "${includedir}"
-FILES_${PN} += "${libdir}/libngraph.so"
diff --git a/recipes-devtools/slimboot/slimboot-tools_git.bb b/recipes-devtools/slimboot/slimboot-tools_git.bb
new file mode 100644
index 00000000..b65b182d
--- /dev/null
+++ b/recipes-devtools/slimboot/slimboot-tools_git.bb
@@ -0,0 +1,22 @@
+SUMMARY = "Slim Bootloader Host Tools"
+DESCRIPTION = "Native host tools to generate the container images in a \
+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;branch=master"
+SRCREV = "df5bd0bc2a522afcb8945a6797592b04838db753"
+PV = "0.0.0+git${SRCPV}"
+LICENSE = "BSD-2-Clause-Patent"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=ef7fba7be2819ac13aaf5d0f842ce5d9"
+S = "${WORKDIR}/git"
+
+inherit python3native
+BBCLASSEXTEND = "native"
+
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
+do_install() {
+ install -m 755 -d ${D}${libexecdir}/slimboot/Tools
+ install -m 755 ${S}/BootloaderCorePkg/Tools/*.py ${D}${libexecdir}/slimboot/Tools
+}
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..21cffe24
--- /dev/null
+++ b/recipes-graphics/gmmlib/files/0001-Add-new-DG2-device-IDs-194.patch
@@ -0,0 +1,38 @@
+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_19.2.3.bb b/recipes-graphics/gmmlib/gmmlib_22.3.15.bb
index 4bf1cda3..875fbaf5 100644
--- a/recipes-graphics/gmmlib/gmmlib_19.2.3.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 = "e834bcd677382fbebb7749ccbd678d86a82bffd3"
+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_19.2.0.bb b/recipes-graphics/hdcp/hdcp_21.2.0.bb
index c892a5d8..8529b5ab 100644
--- a/recipes-graphics/hdcp/hdcp_19.2.0.bb
+++ b/recipes-graphics/hdcp/hdcp_21.2.0.bb
@@ -7,12 +7,12 @@ LICENSE = "BSD-3-Clause"
LIC_FILES_CHKSUM = "file://LICENSE.md;md5=c50969be4feb8b99c6baa3795ede4dce"
SECTION = "lib"
-inherit pkgconfig cmake useradd systemd distro_features_check
+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 = "e9b4f22d4b5f0f71fb2c05b9e80e7750e939ea05"
+SRCREV = "cacc352159c5bdaf1c21846cecdd1eb7b031e1d3"
S = "${WORKDIR}/git"
REQUIRED_DISTRO_FEATURES = "systemd"
@@ -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/igt-gpu-tools/igt-gpu-tools_1.24.bb b/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.24.bb
deleted file mode 100644
index 156798c6..00000000
--- a/recipes-graphics/igt-gpu-tools/igt-gpu-tools_1.24.bb
+++ /dev/null
@@ -1,39 +0,0 @@
-require ${COREBASE}/meta/recipes-graphics/xorg-app/xorg-app-common.inc
-
-SUMMARY = "Intel GPU tools"
-DESCRIPTION = "Variety of small tools for testing intel graphics."
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=67bfee4df38fa6ecbe3a675c552d4c08"
-
-LICENSE_append = " & ISC"
-
-inherit autotools
-
-SRC_URI = "${XORG_MIRROR}/individual/app/${BP}.tar.xz"
-
-DEPENDS += "libdrm libpciaccess cairo udev glib-2.0 libxv libx11 libxext libxrandr procps libunwind kmod openssl elfutils"
-RDEPENDS_${PN} += "bash"
-RDEPENDS_${PN}-tests += "bash"
-
-PACKAGE_BEFORE_PN = "${PN}-benchmarks ${PN}-tests"
-
-SRC_URI[md5sum] = "0e0b4a1a80dc2e09c2705e0c5159e0a1"
-SRC_URI[sha256sum] = "57357c72feeafc923c9cfd2d1234bd80e120fc7cc6099eac81158ec351a821bf"
-
-EXTRA_OECONF = "--disable-nouveau"
-COMPATIBLE_HOST = "(x86_64.*|i.86.*)-linux"
-COMPATIBLE_HOST_libc-musl_class-target = "null"
-
-gputools_sysroot_preprocess() {
- rm -f ${SYSROOT_DESTDIR}${libdir}/pkgconfig/intel-gen4asm.pc
-}
-SYSROOT_PREPROCESS_FUNCS += "gputools_sysroot_preprocess"
-
-FILES_${PN} += "${libdir}/intel_aubdump.so"
-FILES_${PN}-benchmarks += "${libexecdir}/${BPN}/benchmarks"
-FILES_${PN}-tests += "\
- ${libexecdir}/${BPN}/*\
- ${datadir}/${BPN}/1080p-right.png\
- ${datadir}/${BPN}/1080p-left.png\
- ${datadir}/${BPN}/pass.png\
- ${datadir}/${BPN}/test-list.txt"
diff --git a/recipes-graphics/libva/libva-intel-utils_2.20.1.bb b/recipes-graphics/libva/libva-intel-utils_2.20.1.bb
new file mode 100644
index 00000000..9c26f009
--- /dev/null
+++ b/recipes-graphics/libva/libva-intel-utils_2.20.1.bb
@@ -0,0 +1,35 @@
+SUMMARY = "libva-utils is a collection of utilities from libva project"
+
+DESCRIPTION = "libva-utils is a collection of utilities \
+and examples to exercise VA-API in accordance with the libva \
+project.VA-API is an open-source library and API specification, \
+which provides access to graphics hardware acceleration capabilities \
+for video processing. It consists of a main library and driver-specific \
+acceleration backends for each supported hardware vendor"
+
+HOMEPAGE = "https://01.org/linuxmedia/vaapi"
+BUGTRACKER = "https://github.com/intel/libva-utils/issues"
+
+SECTION = "x11"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b148fc8adf19dc9aec17cf9cd29a9a5e"
+
+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+)+))"
+
+DEPENDS = "libva"
+
+inherit meson pkgconfig features_check
+
+# depends on libva which requires opengl
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'wayland x11', d)}"
+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"
diff --git a/recipes-graphics/libva/libva-intel_2.20.0.bb b/recipes-graphics/libva/libva-intel_2.20.0.bb
new file mode 100644
index 00000000..c81ed65c
--- /dev/null
+++ b/recipes-graphics/libva/libva-intel_2.20.0.bb
@@ -0,0 +1,55 @@
+SUMMARY = "Video Acceleration (VA) API for Linux"
+DESCRIPTION = "Video Acceleration API (VA API) is a library (libVA) \
+and API specification which enables and provides access to graphics \
+hardware (GPU) acceleration for video processing on Linux and UNIX \
+based operating systems. Accelerated processing includes video \
+decoding, video encoding, subpicture blending and rendering. The \
+specification was originally designed by Intel for its GMA (Graphics \
+Media Accelerator) series of GPU hardware, the API is however not \
+limited to GPUs or Intel specific hardware, as other hardware and \
+manufacturers can also freely use this API for hardware accelerated \
+video decoding."
+
+HOMEPAGE = "https://01.org/linuxmedia/vaapi"
+BUGTRACKER = "https://github.com/intel/libva/issues"
+
+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] = "f72bdb4f48dfe71ad01f1cbefe069672a2c949a6abd51cf3c4d4784210badc49"
+
+S = "${WORKDIR}/libva-${PV}"
+
+UPSTREAM_CHECK_URI = "https://github.com/intel/libva/releases"
+
+DEPENDS = "libdrm"
+
+inherit meson pkgconfig
+
+PACKAGECONFIG ??= " \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'glx', '', d)} \
+ ${@bb.utils.filter('DISTRO_FEATURES', 'x11 wayland', d)} \
+"
+
+PACKAGECONFIG[x11] = "-Dwith_x11=yes,-Dwith_x11=no,virtual/libx11 libxext libxfixes"
+PACKAGECONFIG[glx] = "-Dwith_glx=yes,-Dwith_glx=no,virtual/mesa"
+
+PACKAGECONFIG[wayland] = "-Dwith_wayland=yes,-Dwith_wayland=no,wayland-native wayland"
+
+PACKAGES =+ "${PN}-x11 ${PN}-glx ${PN}-wayland"
+
+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}"
+
+PROVIDES += "libva"
+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_1.5.108.bb b/recipes-graphics/metrics-discovery/metrics-discovery_1.12.170.bb
index 6267718e..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,8 +8,9 @@ SECTION = "lib"
inherit pkgconfig cmake
S = "${WORKDIR}/git"
-SRCREV = "a495db4682b7318bc82b1cccfb17fafdf2e3a2ff"
-SRC_URI = "git://github.com/intel/metrics-discovery.git"
+SRCREV = "75b292eb1309e4ea10dce403065ee8ca5bf29ecc"
+SRC_URI = "git://github.com/intel/metrics-discovery.git;branch=master;protocol=https \
+ "
EXTRA_OECMAKE += "-DMD_PLATFORM=linux"
EXTRA_OECMAKE += "-DMD_LIBDRM_SRC=${STAGING_INCDIR}"
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/0001-ixgbe-skip-host-depmod.patch b/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch
deleted file mode 100644
index 0041af57..00000000
--- a/recipes-kernel/intel-ethernet/ixgbe/0001-ixgbe-skip-host-depmod.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 5f87ef7ed60bc9762467184ed0a6d000b80713d9 Mon Sep 17 00:00:00 2001
-From: sweeaun <swee.aun.khor@intel.com>
-Date: Sun, 8 Apr 2018 17:21:52 +0800
-Subject: [PATCH] ixgbe: skip host depmod
-
-Upstream-Status: Inappropriate [Cross-Compile]
-
-Depmod during do_install is irrelevant when cross-compiling.
-Remove the depmod steps during do_install.
-
-Signed-off-by: sweeaun <swee.aun.khor@intel.com>
----
- Makefile | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 545489a..07e422f 100644
---- a/Makefile
-+++ b/Makefile
-@@ -141,8 +141,6 @@ install: default manfile
- @install -D -m 644 ${DRIVER}.${MANSECTION}.gz ${INSTALL_MOD_PATH}${MANDIR}/man${MANSECTION}/${DRIVER}.${MANSECTION}.gz
- @echo "Installing modules..."
- @+$(call devkernelbuild,modules_install)
-- @echo "Running depmod..."
-- @$(call cmd_depmod)
-
- uninstall:
- rm -f ${INSTALL_MOD_PATH}/lib/modules/${KVER}/${INSTALL_MOD_DIR}/${DRIVER}.ko;
---
-2.7.4
-
diff --git a/recipes-kernel/intel-ethernet/ixgbe_5.6.3.bb b/recipes-kernel/intel-ethernet/ixgbe_5.19.6.bb
index 990d815d..7ef38650 100644
--- a/recipes-kernel/intel-ethernet/ixgbe_5.6.3.bb
+++ b/recipes-kernel/intel-ethernet/ixgbe_5.19.6.bb
@@ -4,30 +4,29 @@ 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 \
- file://0001-ixgbe-skip-host-depmod.patch \
"
-SRC_URI[md5sum] = "990321b97c58b5cbf86e6b1e095d9cbf"
-SRC_URI[sha256sum] = "d6a5129b7be0a25bed65843be37e4ac913deab4ca169b215521088e10eb03ef1"
+SRC_URI[sha256sum] = "a844f1fea8064e30b276792455c3b286c1d7af26731e8f865d4a4e9ed1dcf4ab"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/"
UPSTREAM_CHECK_REGEX = "ixgbe%20stable/(?P<pver>\d+(\.\d+)+)/"
+CVE_PRODUCT = "linux:linux_kernel_ixgbe"
+
S = "${WORKDIR}/${BP}/src"
-MODULES_INSTALL_TARGET = "install"
-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
@@ -37,4 +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/0001-ixgbevf-skip-host-depmod.patch b/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch
deleted file mode 100644
index 656a897d..00000000
--- a/recipes-kernel/intel-ethernet/ixgbevf/0001-ixgbevf-skip-host-depmod.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 9677d09f5c3984997ac8e7d90b5d4b11fb9ce277 Mon Sep 17 00:00:00 2001
-From: sweeaun <swee.aun.khor@intel.com>
-Date: Sat, 7 Oct 2017 20:56:35 -0700
-Subject: [PATCH] ixgbevf: skip host depmod
-
-Upstream-Status: Inappropriate [Cross-Compile]
-
-Depmod during do_install is irrelevant when cross-compiling.
-Remove the depmod steps during do_install.
-
-Signed-off-by: sweeaun <swee.aun.khor@intel.com>
----
- Makefile | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 91df705..1dcf350 100644
---- a/Makefile
-+++ b/Makefile
-@@ -104,8 +104,6 @@ modules_install: default manfile
- @install -D -m 644 ${DRIVER}.${MANSECTION}.gz ${INSTALL_MOD_PATH}${MANDIR}/man${MANSECTION}/${DRIVER}.${MANSECTION}.gz
- @echo "Installing modules..."
- @+$(call kernelbuild,modules_install)
-- @echo "Running depmod..."
-- @$(call cmd_depmod)
-
- uninstall:
- rm -f ${INSTALL_MOD_PATH}/lib/modules/${KVER}/${INSTALL_MOD_DIR}/${DRIVER}.ko;
---
-2.7.4
-
diff --git a/recipes-kernel/intel-ethernet/ixgbevf_4.6.1.bb b/recipes-kernel/intel-ethernet/ixgbevf_4.18.7.bb
index f73cc37f..b21796c6 100644
--- a/recipes-kernel/intel-ethernet/ixgbevf_4.6.1.bb
+++ b/recipes-kernel/intel-ethernet/ixgbevf_4.18.7.bb
@@ -7,30 +7,29 @@ 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 \
- file://0001-ixgbevf-skip-host-depmod.patch \
"
-SRC_URI[md5sum] = "e98bc636fea13cb62c11433159147851"
-SRC_URI[sha256sum] = "2ca0a0a836d006375fa28a999e0b139bda93110a22ee3742ae1c8d0ac9130a41"
+SRC_URI[sha256sum] = "90f6cd614008839b6fc748ae0f4ad3503435f8b788318d4f40cfc83c7029025e"
UPSTREAM_CHECK_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/"
UPSTREAM_CHECK_REGEX = "ixgbevf%20stable/(?P<pver>\d+(\.\d+)+)/"
+CVE_PRODUCT = "linux:linux_kernel_ixgbe"
+
S = "${WORKDIR}/${BP}/src"
-MODULES_INSTALL_TARGET = "install"
-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
@@ -40,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 78d0f85a..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=bbea815ee2795b2f4230826c0c6b8814"
-
-DEPENDS += "elfutils-native openssl-native util-linux-native"
-
-LINUX_VERSION ?= "5.3-rc4"
-SRCREV_machine ?= "20ac71f22ff4879d30215d9f45594fe70eb984b1"
-SRCREV_meta ?= "8458df5a288ef0b7efa091556a7612a656898a18"
-
-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_4.14.bb b/recipes-kernel/linux/linux-intel-rt_4.14.bb
deleted file mode 100644
index 552f7800..00000000
--- a/recipes-kernel/linux/linux-intel-rt_4.14.bb
+++ /dev/null
@@ -1,24 +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("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt":
- raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it")
-}
-
-KBRANCH = "4.14/preempt-rt"
-KMETA_BRANCH = "yocto-4.14"
-
-# Fix for 32-bit perf issue. Remove when patch is backported to 4.14.
-SRC_URI_append = " file://0001-perf-x86-32-explicitly-include-errno.h.patch"
-
-DEPENDS += "elfutils-native openssl-native util-linux-native"
-
-LINUX_VERSION ?= "4.14.134"
-SRCREV_machine ?= "09a421a9b2ba044daf4ab9ea2f54a33cf7a2fac1"
-SRCREV_meta ?= "bc35d5bd224ab031440a69f9806d839db382f05c"
-
-LINUX_KERNEL_TYPE = "preempt-rt"
diff --git a/recipes-kernel/linux/linux-intel-rt_4.19.bb b/recipes-kernel/linux/linux-intel-rt_4.19.bb
deleted file mode 100644
index a7e272ee..00000000
--- a/recipes-kernel/linux/linux-intel-rt_4.19.bb
+++ /dev/null
@@ -1,24 +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("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 = "4.19/preempt-rt"
-KMETA_BRANCH = "yocto-4.19"
-
-DEPENDS += "elfutils-native openssl-native util-linux-native"
-
-LINUX_VERSION ?= "4.19.59"
-SRCREV_machine ?= "d6dc301c71aea6098e5e19ef3f265d0ba9981167"
-SRCREV_meta ?= "960be4218436fbbb3500e019f7abf02fa94e6aac"
-
-LINUX_KERNEL_TYPE = "preempt-rt"
diff --git a/recipes-kernel/linux/linux-intel-rt_6.6.bb b/recipes-kernel/linux/linux-intel-rt_6.6.bb
new file mode 100644
index 00000000..23e79a43
--- /dev/null
+++ b/recipes-kernel/linux/linux-intel-rt_6.6.bb
@@ -0,0 +1,33 @@
+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
+# 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")
+}
+
+KBRANCH = "6.6/preempt-rt"
+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.23"
+SRCREV_machine ?= "73113409624a0a68494db7b1c1d535d1c8b96689"
+SRCREV_meta ?= "eb283ea577df80542d48f0c498365960b4c4ecd9"
+
+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 f2ba0d13..f78f5205 100644
--- a/recipes-kernel/linux/linux-intel.inc
+++ b/recipes-kernel/linux/linux-intel.inc
@@ -1,25 +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_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-check-lxdiaglog.sh-Allow-specification-of.patch b/recipes-kernel/linux/linux-intel/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch
deleted file mode 100644
index a9e9213b..00000000
--- a/recipes-kernel/linux/linux-intel/0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch
+++ /dev/null
@@ -1,62 +0,0 @@
-From e6ebc8e654bba53f28af5229a1069fc74fa58b7b Mon Sep 17 00:00:00 2001
-From: Jason Wessel <jason.wessel@windriver.com>
-Date: Thu, 25 Sep 2014 11:26:49 -0700
-Subject: [PATCH] menuconfig,check-lxdiaglog.sh: 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
-differently than the host's version. This causes display corruption
-problems when the host's curses includes are used instead of the
-includes from the provided compiler are overridden. There is a second
-case where there is no curses libraries at all on the host system and
-menuconfig will just fail entirely.
-
-The solution is simply to allow an override variable in
-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 [https://lkml.org/lkml/2013/3/3/103]
-
-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: California Sullivan <california.l.sullivan@intel.com>
----
- scripts/kconfig/lxdialog/check-lxdialog.sh | 8 ++++++++
- 1 file changed, 8 insertions(+)
- mode change 100755 => 100644 scripts/kconfig/lxdialog/check-lxdialog.sh
-
-diff --git a/scripts/kconfig/lxdialog/check-lxdialog.sh b/scripts/kconfig/lxdialog/check-lxdialog.sh
-old mode 100755
-new mode 100644
-index 5075ebf2d3b9..ba9242101190
---- a/scripts/kconfig/lxdialog/check-lxdialog.sh
-+++ b/scripts/kconfig/lxdialog/check-lxdialog.sh
-@@ -4,6 +4,10 @@
- # What library to link
- ldflags()
- {
-+ if [ "$CROSS_CURSES_LIB" != "" ]; then
-+ echo "$CROSS_CURSES_LIB"
-+ exit
-+ fi
- pkg-config --libs ncursesw 2>/dev/null && exit
- pkg-config --libs ncurses 2>/dev/null && exit
- for ext in so a dll.a dylib ; do
-@@ -21,6 +25,10 @@ ldflags()
- # Where is ncurses.h?
- ccflags()
- {
-+ if [ x"$CROSS_CURSES_INC" != x ]; then
-+ echo "$CROSS_CURSES_INC"
-+ exit
-+ fi
- if pkg-config --cflags ncursesw 2>/dev/null; then
- echo '-DCURSES_LOC="<ncurses.h>" -DNCURSES_WIDECHAR=1'
- elif pkg-config --cflags ncurses 2>/dev/null; then
---
-2.14.3
-
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-perf-x86-32-explicitly-include-errno.h.patch b/recipes-kernel/linux/linux-intel/0001-perf-x86-32-explicitly-include-errno.h.patch
deleted file mode 100644
index 5c8b27c7..00000000
--- a/recipes-kernel/linux/linux-intel/0001-perf-x86-32-explicitly-include-errno.h.patch
+++ /dev/null
@@ -1,41 +0,0 @@
-From 57af599929263e7bb6f2f369c9e4bc1e440528a9 Mon Sep 17 00:00:00 2001
-From: Bruce Ashfield <bruce.ashfield@windriver.com>
-Date: Mon, 21 Aug 2017 13:52:53 -0400
-Subject: [PATCH 1/1] perf: x86-32: explicitly include <errno.h>
-
-Upstream-Status: submitted
-
-The 32bit x86 perf build does not find the system definitions of error
-return values, hence we end up with:
-
-| In file included from util/libunwind/x86_32.c:32:0:
-| util/libunwind/../../arch/x86/util/unwind-libunwind.c: In function 'libunwind__x86_reg_id':
-| util/libunwind/../../arch/x86/util/unwind-libunwind.c:109:11: error: 'EINVAL' undeclared (first use in this function); did you mean 'UNW_EINVAL'?
-| return -EINVAL;
-| ^~~~~~
-| UNW_EINVAL
-
-By explicitly including errno.h, we can fix this build without impacting
-other architectures.
-
-Signed-off-by: Bruce Ashfield <bruce.ashfield@windriver.com>
----
-
- tools/perf/util/libunwind/x86_32.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tools/perf/util/libunwind/x86_32.c b/tools/perf/util/libunwind/x86_32.c
-index 957ffff72428..d781f7bdeb88 100644
---- a/tools/perf/util/libunwind/x86_32.c
-+++ b/tools/perf/util/libunwind/x86_32.c
-@@ -20,6 +20,7 @@
- #define LIBUNWIND__ARCH_REG_IP PERF_REG_X86_IP
- #define LIBUNWIND__ARCH_REG_SP PERF_REG_X86_SP
-
-+#include <errno.h>
- #include "unwind.h"
- #include "debug.h"
- #include "libunwind-x86.h"
---
-2.14.3
-
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 b38cf6c2..00000000
--- a/recipes-kernel/linux/linux-intel/disable_skylake_sound.cfg
+++ /dev/null
@@ -1,12 +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_BXT_TDF8532_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_CNL_RT274_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
-# CONFIG_SND_SOC_INTEL_CNL_CS42L42_MACH is not set
-# CONFIG_SND_SOC_INTEL_CNL_RT700_MACH is not set
-# CONFIG_SND_SOC_INTEL_CNL_SVFPGA_MACH is not set
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_4.14.bb b/recipes-kernel/linux/linux-intel_4.14.bb
deleted file mode 100644
index e00eb88b..00000000
--- a/recipes-kernel/linux/linux-intel_4.14.bb
+++ /dev/null
@@ -1,22 +0,0 @@
-require linux-intel.inc
-
-KBRANCH = "4.14/base"
-KMETA_BRANCH = "yocto-4.14"
-
-# Fix for 32-bit perf issue. Remove when patch is backported to 4.14.
-SRC_URI_append = " file://0001-perf-x86-32-explicitly-include-errno.h.patch \
- file://0001-menuconfig-check-lxdiaglog.sh-Allow-specification-of.patch \
- "
-
-DEPENDS += "elfutils-native openssl-native util-linux-native"
-
-LINUX_VERSION ?= "4.14.138"
-SRCREV_machine ?= "3f695bb28f52f6317f034efbf42b052c66dee0e6"
-SRCREV_meta ?= "bc35d5bd224ab031440a69f9806d839db382f05c"
-
-# 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_4.19.bb b/recipes-kernel/linux/linux-intel_4.19.bb
deleted file mode 100644
index eb2839bb..00000000
--- a/recipes-kernel/linux/linux-intel_4.19.bb
+++ /dev/null
@@ -1,21 +0,0 @@
-require linux-intel.inc
-
-KBRANCH = "4.19/base"
-KMETA_BRANCH = "yocto-4.19"
-
-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 ?= "4.19.62"
-SRCREV_machine ?= "c8c1c2f3f330f4f93279a8ad842f68d40ae6fb3d"
-SRCREV_meta ?= "960be4218436fbbb3500e019f7abf02fa94e6aac"
-
-# 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_6.6.bb b/recipes-kernel/linux/linux-intel_6.6.bb
new file mode 100644
index 00000000..0d914b73
--- /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.23"
+SRCREV_machine ?= "lts-v6.6.23-linux-240407T055600Z"
+SRCREV_meta ?= "eb283ea577df80542d48f0c498365960b4c4ecd9"
+
+# 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_4.19.bbappend b/recipes-kernel/linux/linux-yocto-rt_%.bbappend
index daa7dd6b..daa7dd6b 100644
--- a/recipes-kernel/linux/linux-yocto-rt_4.19.bbappend
+++ b/recipes-kernel/linux/linux-yocto-rt_%.bbappend
diff --git a/recipes-kernel/linux/linux-yocto-rt_5.2.bbappend b/recipes-kernel/linux/linux-yocto-rt_5.2.bbappend
deleted file mode 100644
index daa7dd6b..00000000
--- a/recipes-kernel/linux/linux-yocto-rt_5.2.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require meta-intel-compat-kernel.inc
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_4.19.bbappend b/recipes-kernel/linux/linux-yocto_4.19.bbappend
deleted file mode 100644
index daa7dd6b..00000000
--- a/recipes-kernel/linux/linux-yocto_4.19.bbappend
+++ /dev/null
@@ -1 +0,0 @@
-require meta-intel-compat-kernel.inc
diff --git a/recipes-kernel/linux/linux-yocto_5.2.bbappend b/recipes-kernel/linux/linux-yocto_5.2.bbappend
deleted file mode 100644
index daa7dd6b..00000000
--- a/recipes-kernel/linux/linux-yocto_5.2.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/0001-CMakeLists.txt-set-output-directory-path.patch b/recipes-multimedia/itt/itt/0001-CMakeLists.txt-set-output-directory-path.patch
deleted file mode 100644
index 6009669a..00000000
--- a/recipes-multimedia/itt/itt/0001-CMakeLists.txt-set-output-directory-path.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 6bced614fe448ee7fc6216b528e2c5684446f9c6 Mon Sep 17 00:00:00 2001
-From: Naveen Saini <naveen.kumar.saini@intel.com>
-Date: Tue, 14 May 2019 16:57:27 +0800
-Subject: [PATCH] CMakeLists.txt: set output directory path
-
-Installer section of CMakeLists.txt expect bin
-direcotry should be present at PROJECT_SOURCE_DIR
-
-set(SEA_PROJECT_BIN ${PROJECT_SOURCE_DIR}/bin)
-
-Upstream-Status: Inappropriate
-
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
----
- CMakeLists.txt | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 479c443..01f0124 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -65,7 +65,7 @@ foreach (Flag ${Flags})
- message(STATUS "${Flag} = ${${Flag}}")
- endforeach()
-
--set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/../../bin)
-+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_SOURCE_DIR}/bin)
-
- set(EXECUTABLE_OUTPUT_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
- set(LIBRARY_OUTPUT_PATH ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
---
-2.17.0
-
diff --git a/recipes-multimedia/itt/itt_17.01.28.bb b/recipes-multimedia/itt/itt_17.01.28.bb
deleted file mode 100644
index b4a37271..00000000
--- a/recipes-multimedia/itt/itt_17.01.28.bb
+++ /dev/null
@@ -1,30 +0,0 @@
-SUMMARY = "Intel® Single Event API"
-DESCRIPTION = "Intel® SEAPI is the translator of itt_notify calls into \
-several OS specific and third party tracing formats. \
-You can use it as memory/performance/whatever profiler."
-
-LICENSE = "BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://sea_itt_lib/Copyright.txt;md5=7d54dfc8860742fb06b9c5ad28f41fcd"
-
-SRC_URI = "git://github.com/intel/IntelSEAPI.git;protocol=https \
- file://0001-CMakeLists.txt-set-output-directory-path.patch \
- "
-SRCREV = "488651b6bf0da6f15fb33e64a1dcdb63f8bee910"
-S = "${WORKDIR}/git"
-
-inherit pkgconfig cmake
-
-EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release"
-EXTRA_OECMAKE += "-DDCO_PILOT=0"
-EXTRA_OECMAKE += "${@oe.utils.conditional('TARGET_ARCH','x86_64','','-DFORCE_32=ON',d)}"
-
-COMPATIBLE_HOST_libc-musl_class-target = "null"
-
-do_install() {
- install -d -m 755 ${D}${libdir} ${D}${includedir}/ittnotify
- install -m 644 ${S}/bin/*.a ${D}${libdir}
- cp -r ${S}/ittnotify/include/* ${D}${includedir}/ittnotify
- cp -r ${S}/ittnotify/src/ittnotify/*.h ${D}${includedir}/ittnotify
-}
-
-RDEPENDS_${PN}-dev_remove = "${PN} (= ${EXTENDPKGV})"
diff --git a/recipes-multimedia/itt/itt_3.24.6.bb b/recipes-multimedia/itt/itt_3.24.6.bb
new file mode 100644
index 00000000..1c4759f9
--- /dev/null
+++ b/recipes-multimedia/itt/itt_3.24.6.bb
@@ -0,0 +1,39 @@
+SUMMARY = "Intel® Instrumentation and Tracing Technology (ITT) and Just-In-Time (JIT) API"
+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 & 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;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"
+EXTRA_OECMAKE += "${@oe.utils.conditional('TARGET_ARCH','x86_64','','-DFORCE_32=ON',d)}"
+
+do_install() {
+ install -d -m 755 ${D}${libdir} ${D}${includedir}/ittnotify
+ 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})"
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 &regBufferMap)
+ {
+ 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 &regBufferMap)
+ {
+ 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 &regBufferMap)
+ MOS_STATUS MosUtilities::MosUninitializeReg(RegBufferMap &regBufferMap)
+ {
+ 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/0001-dont-mark-implicit-function-declaration-warnings-as-.patch b/recipes-multimedia/libva/intel-media-driver/0001-dont-mark-implicit-function-declaration-warnings-as-.patch
deleted file mode 100644
index d3a7707b..00000000
--- a/recipes-multimedia/libva/intel-media-driver/0001-dont-mark-implicit-function-declaration-warnings-as-.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 676b76e16ba6468d95c452eb891e34fcfc498c07 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Wed, 21 Aug 2019 08:21:39 +0800
-Subject: [PATCH] dont mark implicit-function-declaration warnings as errors
-
-Otherwise, when building with gcc 9.2:
-
-| cc1plus: error: '-Werror=' argument
-|'-Werror=implicit-function-declaration' is not valid for C++ [-Werror]
-
-Also see:
-https://github.com/intel/media-driver/issues/712
-
-Upstream-Status: Pending
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- media_driver/cmake/linux/media_compile_flags_linux.cmake | 1 -
- 1 file changed, 1 deletion(-)
-
-diff --git a/media_driver/cmake/linux/media_compile_flags_linux.cmake b/media_driver/cmake/linux/media_compile_flags_linux.cmake
-index 9253b2d6..d2cdb34e 100755
---- a/media_driver/cmake/linux/media_compile_flags_linux.cmake
-+++ b/media_driver/cmake/linux/media_compile_flags_linux.cmake
-@@ -32,7 +32,6 @@ set(MEDIA_COMPILER_FLAGS_COMMON
- -Wno-overflow
- -Wno-parentheses
- -Wno-delete-incomplete
-- -Werror=implicit-function-declaration
- -Werror=address
- -Werror=format-security
- -Werror=non-virtual-dtor
---
-2.21.0
-
diff --git a/recipes-multimedia/libva/intel-media-driver_19.2.1.bb b/recipes-multimedia/libva/intel-media-driver_19.2.1.bb
deleted file mode 100644
index 53ade25d..00000000
--- a/recipes-multimedia/libva/intel-media-driver_19.2.1.bb
+++ /dev/null
@@ -1,48 +0,0 @@
-SUMMARY = "VA driver for Intel Gen based graphics hardware"
-DESCRIPTION = "Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API) \
-user mode driver supporting hardware accelerated decoding, encoding, \
-and video post processing for GEN based graphics hardware."
-
-HOMEPAGE = "https://github.com/intel/media-driver"
-BUGTRACKER = "https://github.com/intel/media-driver/issues"
-
-LICENSE = "MIT & BSD-3-Clause"
-LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6aab5363823095ce682b155fef0231f0 \
- file://media_driver/media_libvpx.LICENSE;md5=d5b04755015be901744a78cc30d390d4 \
- "
-
-# Only for 64 bit until this is resolved: https://github.com/intel/media-driver/issues/356
-COMPATIBLE_HOST = '(x86_64).*-linux'
-
-inherit distro_features_check
-REQUIRED_DISTRO_FEATURES = "opengl"
-
-DEPENDS += "libva gmmlib"
-
-SRC_URI = "git://github.com/intel/media-driver.git;protocol=https;branch=intel-media-19.2 \
- file://0001-dont-mark-implicit-function-declaration-warnings-as-.patch \
- "
-
-SRCREV = "9b648d81fb43f70c49304011371279713cb13ccc"
-S = "${WORKDIR}/git"
-
-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"
-
-EXTRA_OECMAKE += " \
- -DMEDIA_RUN_TEST_SUITE=OFF \
- -DARCH=${MEDIA_DRIVER_ARCH} \
- -DMEDIA_BUILD_FATAL_WARNINGS=OFF \
- "
-
-# See: https://github.com/intel/media-driver/issues/358
-FILES_${PN} += " \
- ${libdir}/dri/ \
- ${libdir}/igfxcmrt64.so \
- "
diff --git a/recipes-multimedia/libva/intel-media-driver_23.4.3.bb b/recipes-multimedia/libva/intel-media-driver_23.4.3.bb
new file mode 100644
index 00000000..6513d574
--- /dev/null
+++ b/recipes-multimedia/libva/intel-media-driver_23.4.3.bb
@@ -0,0 +1,61 @@
+SUMMARY = "VA driver for Intel Gen based graphics hardware"
+DESCRIPTION = "Intel Media Driver for VAAPI is a new VA-API (Video Acceleration API) \
+user mode driver supporting hardware accelerated decoding, encoding, \
+and video post processing for GEN based graphics hardware."
+
+HOMEPAGE = "https://github.com/intel/media-driver"
+BUGTRACKER = "https://github.com/intel/media-driver/issues"
+
+LICENSE = "MIT & BSD-3-Clause"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=6aab5363823095ce682b155fef0231f0 \
+ file://media_driver/media_libvpx.LICENSE;md5=d5b04755015be901744a78cc30d390d4 \
+ "
+
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
+
+inherit features_check
+REQUIRED_DISTRO_FEATURES = "opengl"
+
+DEPENDS += "libva gmmlib"
+
+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 = "a9f272496fc0f3e823cc4a814666ea27b443d902"
+S = "${WORKDIR}/git"
+
+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"
+
+EXTRA_OECMAKE += " \
+ -DMEDIA_RUN_TEST_SUITE=OFF \
+ -DARCH=${MEDIA_DRIVER_ARCH} \
+ -DMEDIA_BUILD_FATAL_WARNINGS=OFF \
+ "
+
+CXXFLAGS:append:x86 = " -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE"
+
+do_configure:prepend:toolchain-clang() {
+ sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake
+}
+
+FILES:${PN} += " \
+ ${libdir}/dri/ \
+ "
diff --git a/recipes-multimedia/libva/intel-vaapi-driver_2.3.0.bb b/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb
index 6ec1745b..5038d8d7 100644
--- a/recipes-multimedia/libva/intel-vaapi-driver_2.3.0.bb
+++ b/recipes-multimedia/libva/intel-vaapi-driver_2.4.1.bb
@@ -13,21 +13,22 @@ COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
DEPENDS = "libva libdrm"
-SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "9d835d1a3f7a9ef394f0f4c348cd4b3e"
-SRC_URI[sha256sum] = "5c2e5deab024a0a6ae81dfe77ef455542a88d824eda7bfd07684337407ecdfe3"
+SRC_URI = "https://github.com/intel/${BPN}/releases/download/${PV}/${BPN}-${PV}.tar.bz2 \
+ "
+
+SRC_URI[sha256sum] = "0081fce08eb3a83f7d99c3b853c8fdfa0af437b8f5b0fb7c66faeb83bcbe0c19"
UPSTREAM_CHECK_URI = "https://github.com/intel/intel-vaapi-driver/releases"
-inherit autotools pkgconfig distro_features_check
+inherit meson pkgconfig features_check
REQUIRED_DISTRO_FEATURES = "opengl"
PACKAGECONFIG ??= "${@bb.utils.contains("DISTRO_FEATURES", "x11", "x11", "", d)} \
${@bb.utils.contains("DISTRO_FEATURES", "opengl wayland", "wayland", "", d)}"
-PACKAGECONFIG[x11] = "--enable-x11,--disable-x11"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland wayland-native virtual/egl"
+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 b7f4e26f..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 distro_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 3cbde044..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 distro_features_check
-
-REQUIRED_DISTRO_FEATURES = "opengl"
diff --git a/recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch b/recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch
new file mode 100644
index 00000000..87c4e82e
--- /dev/null
+++ b/recipes-multimedia/mediasdk/files/0001-FindITT.cmake-fix-detection-of-header-library.patch
@@ -0,0 +1,49 @@
+From be7cec47777bd35c44a59f2af73f12ce9c26d65c Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Wed, 7 Oct 2020 09:33:06 +0800
+Subject: [PATCH] FindITT.cmake: fix detection of header/library
+
+Use find_library to check for the library so distributions installing to
+standard locations can also work in addition to custom paths specified
+using CMAKE_ITT_HOME.
+
+Also add ittnotify to PATH_SUFFIXES for header for cases when
+ittnotify.h is installed in /usr/include/ittnotify for example.
+
+Upstream-Status: Submitted
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ builder/FindITT.cmake | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/builder/FindITT.cmake b/builder/FindITT.cmake
+index ba2542c5..d96acf2e 100644
+--- a/builder/FindITT.cmake
++++ b/builder/FindITT.cmake
+@@ -35,19 +35,19 @@ if( ENABLE_ITT )
+
+ find_path( ITT_INCLUDE_DIRS ittnotify.h
+ PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
+- PATH_SUFFIXES include )
++ PATH_SUFFIXES include ittnotify)
+
+ # Unfortunately SEAPI and VTune uses different names for itt library:
+ # * SEAPI uses libittnotify${arch}.a
+ # * VTune uses libittnotify.a
+ # We are trying to check both giving preference to SEAPI name.
+- find_path( ITT_LIBRARY_DIRS libittnotify${arch}.a
++ find_library( ITT_LIBRARY_DIRS ittnotify${arch}
+ PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
+ PATH_SUFFIXES lib64 )
+ if( NOT ITT_LIBRARY_DIRS MATCHES NOTFOUND )
+ set( ITT_LIBRARIES "ittnotify${arch}" )
+ else()
+- find_path( ITT_LIBRARY_DIRS libittnotify.a
++ find_library( ITT_LIBRARY_DIRS ittnotify
+ PATHS ${CMAKE_ITT_HOME} ${CMAKE_VTUNE_HOME}
+ PATH_SUFFIXES lib64 )
+ if( NOT ITT_LIBRARY_PATH MATCHES NOTFOUND )
+--
+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_19.2.1.bb b/recipes-multimedia/mediasdk/intel-mediasdk_23.2.2.bb
index c83bcd6e..f00a4404 100644
--- a/recipes-multimedia/mediasdk/intel-mediasdk_19.2.1.bb
+++ b/recipes-multimedia/mediasdk/intel-mediasdk_23.2.2.bb
@@ -8,35 +8,56 @@ BUGTRACKER = "https://github.com/Intel-Media-SDK/MediaSDK/issues"
LICENSE = "MIT"
LIC_FILES_CHKSUM = "file://LICENSE;md5=3cb331af679cd8f968bf799a9c55b46e"
+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 distro_features_check
+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)}"
+ ${@bb.utils.contains("DISTRO_FEATURES", "wayland", "wayland", "", d)} \
+ samples \
+ itt \
+ "
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, 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}-19.2 \
- "
+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 = "885c309f57a7a1cbc60edee6b0d014a36da94562"
+SRCREV = "869b60a6c3d7b5e9f7c3b3b914986322dca4bbae"
S = "${WORKDIR}/git"
UPSTREAM_CHECK_GITTAGREGEX = "^intel-mediasdk-(?P<pver>(\d+(\.\d+)+))$"
inherit cmake pkgconfig
-EXTRA_OECMAKE += "-DMFX_INCLUDE=${S}/api/include -DBUILD_SAMPLES=OFF"
+EXTRA_OECMAKE += "-DMFX_INCLUDE=${S}/api/include"
+
+do_install:append() {
+ mv ${D}${datadir}/mfx/samples ${D}${libdir}/mfx/samples
+}
-FILES_${PN} += " \
+PACKAGE_BEFORE_PN = " ${PN}-samples"
+
+FILES:${PN} += " \
${libdir}/mfx \
${datadir}/mfx/plugins.cfg \
"
+
+FILES:${PN}-samples = "${libdir}/mfx/samples"
+
+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.27.0.bb b/recipes-support/isa-l/isa-l_2.31.0.bb
index ac9cfad8..d5d09002 100644
--- a/recipes-support/isa-l/isa-l_2.27.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 = "0111c21cbc775bd2b152cd06717f7f09988bc0f1"
-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.33.bb b/recipes-support/jhi/jhi_1.33.bb
deleted file mode 100644
index c52af957..00000000
--- a/recipes-support/jhi/jhi_1.33.bb
+++ /dev/null
@@ -1,66 +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
-
-SRCREV = "44d64cdbcf7eacd397ce9c18b9094514b62093e6"
-
-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"
-
-SYSTEMD_PACKAGES = "${PN}"
-
-COMPATIBLE_HOST_libc-musl = 'null'
-
-# 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} \
- ${libdir}/dal/applets \
- ${nonarch_libdir}/tmpfiles.d \
- ${systemd_system_unitdir} \
- ${localstatedir}/cache/dal/applet_repository \
- "
-
-FILES_${PN}-test = "\
- ${bindir} \
- ${libdir}/dal/applets \
- "
diff --git a/recipes-support/libipt/libipt_2.0.1.bb b/recipes-support/libipt/libipt_2.0.1.bb
deleted file mode 100644
index 1b3e1e64..00000000
--- a/recipes-support/libipt/libipt_2.0.1.bb
+++ /dev/null
@@ -1,16 +0,0 @@
-SUMMARY = "Intel(R) Processor Trace Decoder Library"
-DESCRIPTION = "The Intel Processor Trace (Intel PT) Decoder Library is Intel's \
-reference implementation for decoding Intel PT. It can be used as a standalone \
-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=c91702d8338efc75588b838922b7b803"
-
-inherit pkgconfig cmake
-
-S = "${WORKDIR}/git"
-
-SRC_URI = "git://github.com/intel/libipt.git;protocol=https;branch=stable/v2.0"
-
-SRCREV = "916d777123bf60d323890557347570e5e19dfa12"
diff --git a/recipes-support/libipt/libipt_2.1.1.bb b/recipes-support/libipt/libipt_2.1.1.bb
new file mode 100644
index 00000000..205967c1
--- /dev/null
+++ b/recipes-support/libipt/libipt_2.1.1.bb
@@ -0,0 +1,34 @@
+SUMMARY = "Intel(R) Processor Trace Decoder Library"
+DESCRIPTION = "The Intel Processor Trace (Intel PT) Decoder Library is Intel's \
+reference implementation for decoding Intel PT. It can be used as a standalone \
+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=a429afa59f273b5d12778eda69d10313"
+
+inherit pkgconfig cmake
+
+S = "${WORKDIR}/git"
+
+SRC_URI = "git://github.com/intel/libipt.git;protocol=https;branch=stable/v2.1"
+
+SRCREV = "1c9bc700f4b9a71fd2d1cf1742de7e2351ddb281"
+
+EXTRA_OECMAKE += " \
+ -DPTDUMP=ON \
+ -DPTTC=ON \
+ -DPTSEG=ON \
+ -DCMAKE_SKIP_RPATH=ON \
+ "
+
+do_install:append() {
+ install -d ${D}${bindir}/libipt
+ install -d ${D}${bindir}/libipt/tests
+
+ cp -r ${B}/bin/* ${D}${bindir}/libipt/
+ cp -r ${WORKDIR}/git/test/src/* ${D}${bindir}/libipt/tests
+}
+
+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 65546c5c..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 ?= "216dbd3331a7e14ff79cc4dd68c29896f1152ae4"
+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.2-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>
diff --git a/wic/grub-bootdisk-microcode.wks.in b/wic/grub-bootdisk-microcode.wks.in
index d83b1dfb..7dc66f98 100644
--- a/wic/grub-bootdisk-microcode.wks.in
+++ b/wic/grub-bootdisk-microcode.wks.in
@@ -9,4 +9,4 @@ part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024
part swap --ondisk sda --size 44 --label swap1 --fstype=swap --use-uuid
-bootloader --ptable gpt --timeout=5 --append="rootfstype=ext4 ${APPEND}"
+bootloader --ptable gpt --timeout=5 --append=" rootfstype=ext4 "
diff --git a/wic/image-installer.wks.in b/wic/image-installer.wks.in
index 4de318f6..933e8d85 100644
--- a/wic/image-installer.wks.in
+++ b/wic/image-installer.wks.in
@@ -5,4 +5,4 @@ part /boot --source bootimg-efi --sourceparams="loader=${EFI_PROVIDER},title=ins
part / --source bootimg-partition --ondisk sda --fstype=ext4 --label image --use-uuid --align 1024
-bootloader --ptable gpt --timeout=5 --append="rootwait ${APPEND}"
+bootloader --ptable gpt --timeout=5 --append=" rootwait "
diff --git a/wic/systemd-bootdisk-microcode.wks.in b/wic/systemd-bootdisk-microcode.wks.in
index 03528950..925c1fa3 100644
--- a/wic/systemd-bootdisk-microcode.wks.in
+++ b/wic/systemd-bootdisk-microcode.wks.in
@@ -10,4 +10,4 @@ part / --source rootfs --ondisk sda --fstype=ext4 --label platform --align 1024
part swap --ondisk sda --size 44 --label swap1 --fstype=swap --use-uuid
-bootloader --ptable gpt --timeout=5 --append="rootfstype=ext4 ${APPEND}"
+bootloader --ptable gpt --timeout=5 --append=" rootfstype=ext4 "