aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG87
-rw-r--r--MAINTAINERS32
-rw-r--r--README459
-rw-r--r--README.md35
-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.conf21
-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.inc35
-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.conf7
-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/ISSL114
-rw-r--r--custom-licenses/syrah32
-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_%.bbappend4
-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.35.13977.bb43
-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.bb34
-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)20
-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.bb (renamed from dynamic-layers/meta-python/recipes-opencv/dldt/dldt-model-optimizer_2019r3.1.bb)24
-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.bb37
-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-core/librealsense/librealsense_2.29.0.bb28
-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/dldt-inference-engine_2019r3.1.bb122
-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-R2-Build-fixes.patch235
-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/0002-R2-Install-DLDT-headers-libs-sample-Apps.patch267
-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/0003-use-GNUInstallDirs-on-nix.patch81
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-disable-werror.patch97
-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/files/0005-point-to-correct-location-of-ngraph-headers.patch42
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch27
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch24
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/0008-Simplify-searching-for-firmware-files.patch104
-rw-r--r--dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest13
-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/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/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.3.0.bb)19
-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_20191112.bb)15
-rw-r--r--recipes-core/microcode/iucode-tool_2.3.1.bb6
-rw-r--r--recipes-core/mkl-dnn/mkl-dnn_1.1.bb55
-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.patch37
-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.3.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/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch34
-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)21
-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)21
-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.bb25
-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-tools-Add-Python-3-support.patch917
-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.bb23
-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_23.4.3.bb (renamed from recipes-multimedia/libva/intel-media-driver_19.2.1.bb)41
-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)38
-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.28.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
236 files changed, 6101 insertions, 5360 deletions
diff --git a/CHANGELOG b/CHANGELOG
deleted file mode 100644
index a99cbb1f..00000000
--- a/CHANGELOG
+++ /dev/null
@@ -1,87 +0,0 @@
-This file will only list major changes that occur within a release.
-For a full list of changes, view the git log of the repository.
-
-Rocko Release 11/2017
-=====================
-
-Moved qat support to separate layer
------------------------------------
-Quick Assist Technology (QAT) is more middleware and should not be part of the
-core BSP. The new layer can be found here:
-https://git.yoctoproject.org/cgit/cgit.cgi/meta-intel-qat/
-
-Moved dpdk support to separate layer
-------------------------------------
-We had some requests to make DPDK standalone so that it could be included
-without bringing in anything else from meta-intel, as it is not specific to
-Intel(R) hardware. The new layer is located here:
-https://git.yoctoproject.org/cgit/cgit.cgi/meta-dpdk/
-
-Added support for out-of-tree iwlwifi drivers
----------------------------------------------
-Backport-iwlwifi out-of-tree wifi modules are now available via meta-intel.
-Backport-iwlwifi brings the latest iwlwifi drivers to almost any kernel
-Note that mac80211 and cfg80211 backports are also necessary, which will most
-likely cause incompatibility with other in-tree wifi drivers.
-See https://wireless.wiki.kernel.org/en/users/drivers/iwlwifi for more info.
-
-Added support for out-of-tree ixgbe drivers
--------------------------------------------
-The out-of-tree ixgbe drivers bring ixgbe support to nearly any kernel. See
-here: http://www.intel.com/network/connectivity/products/server_adapters.htm
-
-Added an implementation of Secure Boot
---------------------------------------
-meta-intel now supports a simple Secure Boot implementation. This implementation
-consists of a single binary consisting of an EFI stub, the kernel, an
-initrd, and a kernel command line. The binary is then signed via keys defined by
-the variables SECUREBOOT_SIGNING_KEY and SECUREBOOT_SIGNING_CERT. These keys
-should match the keys embedded in your hardware's firmware.
-See documentation/secureboot/README for more information on this feature.
-
-Improved Yocto Project Compatibility status
--------------------------------------------
-The common layer should now be considered Yocto Project compatible - it should
-no longer modify OE-core values when adding the layer to your bblayers.conf.
-The meta-tlk layer is still not Yocto Project compatible, however.
-
-Pyro Release 5/2017
-===================
-
-Changed default kernel provider from linux-yocto to linux-intel.
-----------------------------------------------------------------
-Linux-intel is an Intel(R)-maintained kernel based on the latest stable
-branch, along with backports from upstream to better support Intel(R)
-hardware. The intel-linux kernel also has a branch with the preempt-rt
-patches applied, providing a preempt-rt kernel with no additional work.
-
-Added QEMU support.
--------------------
-We now build several virtio drivers into the kernel by default, and
-have qemuboot.conf files for intel-corei7-64 and intel-core2-32
-targets. This allows one to do basic testing on meta-intel images
-without having to use hardware. The virtio drivers are added via
-KERNEL_FEATURES_INTEL_COMMON. This prevents them from being added to
-custom kernels by default. They can be removed by adding the
-following to a conf or kernel bbappend file:
- KERNEL_FEATURES_INTEL_COMMON_remove = “cfg/virtio.scc”
-OVMF firmware is also built and can be used in order to emulate a UEFI
-environment. A full runqemu command line for intel-corei7-64 could look
-like this:
- runqemu core-image-minimal intel-corei7-64 wic ovmf
-
-Musl support
-------------
-Meta-intel is now compatible with the musl C library. You can specify musl
-As your C library by adding the following to your local.conf:
- TCLIBC = “musl”
-Note: there is a known failure with DPDK.
-
-X32 support
------------
-The meta-intel layer can now build with the x32 tune settings in a multi-lib
-setting, it will not work in as the primary MACHINE tune as the bootloader needs
-to be built as a 64bit binary. The setup for this would be as follows:
- require conf/multilib.conf
- MULTILIBS = "multilib:libx32
- DEFAULTTUNE_virtclass-multilib-libx32 = "corei7-64-x32"
diff --git a/MAINTAINERS b/MAINTAINERS
deleted file mode 100644
index 73a9fe3a..00000000
--- a/MAINTAINERS
+++ /dev/null
@@ -1,32 +0,0 @@
-This file contains a list of BSP maintainers for the BSPs contained in
-the meta-intel repository.
-
-The purpose of this file is to provide contact information for
-specific BSPs and other code contained within meta-intel. You should
-address questions and patches for a particular BSP or other code to
-the appropriate maintainer listed in this file, cc'ing the meta-intel
-mailing list. This ensures that your question or patch will be
-addressed by the appropriate person, and that it will be seen by other
-users who may be facing similar problems or questions.
-
-Please see the top-level README file for guidelines relating to the
-details of submitting patches, reporting problems, or asking questions
-about any of the BSPs or other recipes contained within meta-intel.
-
-Descriptions of section entries:
-
- M: Mail patches to: FullName <address@domain>
- F: Files and directories with wildcard patterns.
- A trailing slash includes all files and subdirectory files.
- F: common/ all files in and below common
- F: common/* all files in common, but not below
- One pattern per line. Multiple F: lines acceptable.
-
-Please keep this list in alphabetical order.
-
-Maintainers List (try to look for most precise areas first)
-
- -----------------------------------
-
-M: Anuj Mittal <anuj.mittal@intel.com>
-F: *
diff --git a/README b/README
deleted file mode 100644
index bac2e0f5..00000000
--- a/README
+++ /dev/null
@@ -1,459 +0,0 @@
-meta-intel
-==========
-
-This README file contains information on building and booting
-meta-intel BSP layers. Please see the corresponding sections below
-for details.
-
-
-Yocto Project Compatible
-========================
-
-The BSPs contained in this layer are compatible with the Yocto Project
-as per the requirements listed here:
-
- https://www.yoctoproject.org/webform/yocto-project-compatible-registration
-
-
-Dependencies
-============
-
-This layer depends on:
-
- URI: git://git.openembedded.org/bitbake
-
- URI: git://git.openembedded.org/openembedded-core
- layers: meta
- branch: master
-
-
-Table of Contents
-=================
-
- I. Overview
- II. Building and booting meta-intel BSP layers
- a. Building the intel-common BSP layers
- b. Booting the intel-common BSP images
- c. Building the installer image
- III. Technical Miscellany
- Benefits of using meta-intel
- The intel-common kernel package architecture
- Intel-specific machine features
- IV. Tested Hardware
- V. Guidelines for submitting patches
-
-
-I. Overview
-===========
-
-This is the location for Intel-maintained BSPs.
-
-For details on the intel-common, see the information below.
-
-For all others, please see the README files contained in the
-individual BSP layers for BSP-specific information.
-
-If you have problems with or questions about a particular BSP, please
-contact the maintainer listed in the MAINTAINERS file directly (cc:ing
-the Yocto mailing list puts it in the archive and helps other people
-who might have the same questions in the future), but please try to do
-the following first:
-
- - look in the Yocto Project Bugzilla
- (http://bugzilla.yoctoproject.org/) to see if a problem has
- already been reported
-
- - look through recent entries of the meta-intel
- (https://lists.yoctoproject.org/pipermail/meta-intel/) and Yocto
- (https://lists.yoctoproject.org/pipermail/yocto/) mailing list
- archives to see if other people have run into similar problems or
- had similar questions answered.
-
-If you believe you have encountered a bug, you can open a new bug and
-enter the details in the Yocto Project Bugzilla
-(http://bugzilla.yoctoproject.org/). If you're relatively certain
-that it's a bug against the BSP itself, please use the 'Yocto Project
-Components: BSPs | meta-intel' category for the bug; otherwise, please
-submit the bug against the most likely category for the problem - if
-you're wrong, it's not a big deal and the bug will be recategorized
-upon triage.
-
-
-II. Building and booting meta-intel BSP layers
-==============================================
-
-The following sections contain information on building and booting the
-BSPs contained in the meta-intel layer.
-
-Note that these instructions specifically cover the intel-common, which
-may or may not be applicable to other BSPs contained in this layer - if
-a given BSP contains its own README, that version should be used instead,
-and these instructions can be ignored.
-
-a. Building the intel-common BSP layers
--------------------------------------------------
-
-In order to build an image with BSP support for a given release, you
-need to download the corresponding BSP tarball from the 'Board Support
-Package (BSP) Downloads' page of the Yocto Project website (or
-equivalently, check out the appropriate branch from the meta-intel git
-repository, see below). For the intel-common BSPs, those tarballs would
-correspond to the following choices in the BSP downloads section:
-
- - Intel-core2-32 Intel® Common Core BSP (Intel-core2-32)
- - Intel-corei7-64 Intel® Common Core BSP (Intel-corei7-64)
-
-The intel-* BSPs, also known as the intel-common BSPs, provide a few
-carefully selected tune options and generic hardware support to cover
-the majority of current Intel CPUs and devices. The naming follows the
-convention of intel-<TUNE>-<BITS>, where TUNE is the gcc cpu-type
-(used with mtune and march typically) and BITS is either 32 bit or 64
-bit.
-
-Having done that, and assuming you extracted the BSP tarball contents
-at the top-level of your yocto build tree, you can build a BSP image
-by adding the location of the meta-intel layer to bblayers.conf e.g.:
-
- yocto/meta-intel \
-
-To enable a particular machine, you need to add a MACHINE line naming
-the BSP to the local.conf file:
-
- MACHINE ?= "xxx"
-
-where 'xxx' is replaced by one of the following BSP names:
-
- - intel-core2-32
-
- This BSP is optimized for the Core2 family of CPUs as well as all
- Atom CPUs prior to the Silvermont core.
-
- - intel-corei7-64
-
- This BSP is optimized for Nehalem and later Core and Xeon CPUs as
- well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.
-
-You should then be able to build an image as such:
-
- $ source oe-init-build-env
- $ bitbake core-image-sato
-
-At the end of a successful build, you should have an image that
-you can boot from a USB flash drive (see instructions on how to do
-that below, in the section 'Booting the intel-common BSP images').
-
-As an alternative to downloading the BSP tarball, you can also work
-directly from the meta-intel git repository. For each BSP in the
-'meta-intel' repository, there are multiple branches, one
-corresponding to each major release starting with 'laverne' (0.90), in
-addition to the latest code which tracks the current master (note that
-not all BSPs are present in every release). Instead of extracting
-a BSP tarball at the top level of your yocto build tree, you can
-equivalently check out the appropriate branch from the meta-intel
-repository at the same location.
-
-b. Booting the intel-common BSP images
---------------------------------------
-
-If you've built your own image, either from the downloaded BSP layer
-or from the meta-intel git repository, you'll find the bootable
-image in the build/tmp/deploy/images/xxx directory, where again
-'xxx' refers to the machine name used in the build.
-
-Under Linux, insert a USB flash drive. Assuming the USB flash drive
-takes device /dev/sdf, use dd to copy the image to it. Before the image
-can be burned onto a USB drive, it should be un-mounted. Some Linux distros
-may automatically mount a USB drive when it is plugged in. Using USB device
-/dev/sdf as an example, find all mounted partitions:
-
- $ mount | grep sdf
-
-and un-mount those that are mounted, for example:
-
- $ umount /dev/sdf1
- $ umount /dev/sdf2
-
-Now burn the image onto the USB drive:
-
- $ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress
- $ sync
- $ eject /dev/sdf
-
-This should give you a bootable USB flash device. Insert the device
-into a bootable USB socket on the target, and power on. This should
-result in a system booted to the Sato graphical desktop.
-
-If you want a terminal, use the arrows at the top of the UI to move to
-different pages of available applications, one of which is named
-'Terminal'. Clicking that should give you a root terminal.
-
-If you want to ssh into the system, you can use the root terminal to
-ifconfig the IP address and use that to ssh in. The root password is
-empty, so to log in type 'root' for the user name and hit 'Enter' at
-the Password prompt: and you should be in.
-
-If you find you're getting corrupt images on the USB (it doesn't show
-the syslinux boot: prompt, or the boot: prompt contains strange
-characters), try doing this first:
-
- $ dd if=/dev/zero of=/dev/sdf bs=1M count=512
-
-c. Building the installer image
------------------------------------------------
-
-If you plan to install your image to your target machine, you can build a wic
-based installer image instead of default wic image. To build it, you need to
-add below configuration to local.conf :
-
- WKS_FILE = "image-installer.wks.in"
- IMAGE_FSTYPES_append = " ext4"
- IMAGE_TYPEDEP_wic = "ext4"
- INITRD_IMAGE_LIVE="core-image-minimal-initramfs"
- do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
- do_rootfs[depends] += "virtual/kernel:do_deploy"
- IMAGE_BOOT_FILES_append = "\
- ${KERNEL_IMAGETYPE} \
- microcode.cpio \
- ${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.ext4;rootfs.img \
- ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
- ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \
- ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
- ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \
- ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} "
-
-Burn the wic image onto USB flash device, insert the device to target machine
-and power on. This should start the installation process.
-
-III. Technical Miscellany
-=========================
-
-Benefits of using meta-intel
-----------------------------
-
-Using meta-intel has the following benefits over a generic BSP:
-
-tune flags
-++++++++++
-intel-* MACHINEs each have different compilation flags appropriate for their
-targeted hardware sets. intel-corei7-64 has tune flags appropriate for modern
-64-bit Intel Core i microarchitecture, and includes instruction sets up to
-SSE4.2. intel-core2-32 has tune flags appropriate for legacy 32-bit Intel Core2
-microarchitecture, and includes instruction sets up to SSE3.
-
-linux-intel kernel
-++++++++++++++++++
-The linux-intel kernel is an initiative to bring better Intel(R) hardware
-support to the current LTS linux kernel. It contains a base LTS kernel with
-additional backports from upstream Intel drivers. In addition, a default kernel
-config containing most features found on Intel boards is supplied via the
-yocto-kernel-cache.
-
-graphics stack
-++++++++++++++
-Meta-intel provides the latest Intel Graphics Linux Stack drivers to support
-Intel hardware as defined by the https://01.org/linuxgraphics.
-
-Other software
-++++++++++++++
- * intel ucode - provides the latest microcode updates for Intel processors
-
- * thermald - which proactively controls thermal, using P-states, T-states, and
-the Intel power clamp driver.
-(https://01.org/linux-thermal-daemon/documentation/introduction-thermal-daemon)
-
-The intel-common kernel package architecture
---------------------------------------------
-
-These BSPs use what we call the intel-common Linux kernel package
-architecture. This includes core2-32-intel-common and
-corei7-64-intel-common. These kernel packages can also be used by any
-of the BSPs in meta-intel that choose to include the
-intel-common-pkgarch.inc file.
-
-To minimize the proliferation of vendor trees, reduce the sources we
-must support, and consolidate QA efforts, all BSP maintainers are
-encouraged to make use of the intel-common Linux kernel package
-architecture.
-
-Intel-specific machine features
--------------------------------
-
-The meta-intel layer makes some additional machine features available
-to BSPs. These machine features can be used in a BSP layer in the
-same way that machine features are used in other layers based on
-oe-core, via the MACHINE_FEATURES variable.
-
-Requirements
-++++++++++++
-
-The meta-intel-specific machine features are only available to a BSP
-when the meta-intel layer is included in the build configuration, and
-the meta-intel.inc file is included in the machine configuration of
-that BSP.
-
-To make these features available for your machine, you will need to:
-
- 1. include a configuration line such as the below in bblayers.conf
- BBLAYERS += "<local path>/meta-intel"
- 2. include the following line in the machine configuration file
- require conf/machine/include/meta-intel.inc
-
-Once the above requirements are met, the machine features provided by
-the meta-intel layer will be available for the BSP to use.
-
-Available machine features
-++++++++++++++++++++++++++
-
-Currently, the meta-intel layer makes the following set of
-Intel-specific machine features available:
-
- * intel-ucode
-
-These machine features can be included by listing them in the
-MACHINE_FEATURES variable in the machine configuration file. For
-example:
-
- MACHINE_FEATURES += "intel-ucode"
-
-Machine feature details
-+++++++++++++++++++++++
-
- * intel-ucode
-
- This feature provides support for microcode updates to Intel
- processors. The intel-ucode feature runs at early boot and uses
- the microcode data file added by the feature into the BSP's
- initrd. It also puts the userland microcode-updating tool,
- iucode_tool, into the target images along with the microcode data
- file.
-
- Q. Why might a user want to enable the intel-ucode feature?
-
- A. Intel releases microcode updates to correct processor behavior
- as documented in the respective processor specification
- updates. While the normal approach to getting such microcode
- updates is via a BIOS upgrade, this can be an administrative
- hassle and not always possible in the field. The intel-ucode
- feature enables the microcode update capability present in the
- Linux kernel. It provides an easy path for upgrading processor
- microcode without the need to change the BIOS. If the feature
- is enabled, it is also possible to update the existing target
- images with a newer microcode update in the future.
-
- Q. How would a user bundle only target-specific microcode in the
- target image?
-
- A. The Intel microcode data file released by Intel contains
- microcode updates for multiple processors. If the BSP image is
- meant to run on only a certain subset of processor types, a
- processor-specific subset of microcode can be bundled into the
- target image via the UCODE_FILTER_PARAMETERS variable. This
- works by listing a sequence of iucode-tool parameters in the
- UCODE_FILTER_PARAMETERS variable, which in this case will
- select only the specific microcode relevant to the BSP. For
- more information on the underlying parameters refer to the
- iucode-tool manual page at http://manned.org/iucode-tool
-
- To define a set of parameters for microcode-filtering via the
- UCODE_FILTER_PARAMETERS variable, one needs to identify the
- cpuid signatures of all the processors the BSP is meant to run
- on. One way to determine the cpuid signature for a specific
- processor is to build and run an intel-ucode-feature-enabled
- image on the target hardware, without first assigning any value
- to the UCODE_FILTER_PARAMETERS variable, and then once the
- image is booted, run the "ucode_tool -S" command to have the
- ucode tool scan the system for processor signatures. These
- signatures can then be used in the UCODE_FILTER_PARAMETERS
- variable in conjunction with -s parameter. For example, for
- the fri2 BSP, the cpuid can be determined as such:
-
- [root@fri2 ~]# iucode_tool -S
- iucode_tool: system has processor(s) with signature 0x00020661
-
- Given that output, a suitable UCODE_FILTER_PARAMETERS variable
- definition could be specified in the machine configuration as
- such:
-
- UCODE_FILTER_PARAMETERS = "-s 0x00020661"
-
- Q. Are there any reasons a user might want to disable the
- intel-ucode feature?
-
- A. The microcode data file and associated tools occupy a small
- amount of space (a few KB) on the target image. BSPs which are
- highly sensitive to target image size and which are not
- experiencing microcode-related issues might consider not
- enabling this feature.
-
-
-IV. Tested Hardware
-===================
-
-The following undergo regular basic testing with their respective MACHINE types.
-Note that both 64-bit and 32-bit firmware is available for the MinnowBoard
-Turbot, so it is tested against both intel-corei7-64 and intel-core2-32.
-
-intel-corei7-64:
- NUC6i5SYH
- NUC7i7BNH
- Coffee Lake-H
-
-intel-core2-32:
- MinnowBoard Turbot
-
-
-V. Guidelines for submitting patches
-====================================
-
-Please submit any patches against meta-intel BSPs to the meta-intel
-mailing list (meta-intel@yoctoproject.org). Also, if your patches are
-available via a public git repository, please also include a URL to
-the repo and branch containing your patches as that makes it easier
-for maintainers to grab and test your patches.
-
-There are patch submission scripts available that will, among other
-things, automatically include the repo URL and branch as mentioned.
-Please see the Yocto Project Development Manual sections entitled
-'Using Scripts to Push a Change Upstream and Request a Pull' and
-'Using Email to Submit a Patch' for details.
-
-Regardless of how you submit a patch or patchset, the patches should
-at minimum follow the suggestions outlined in the 'Submitting a Change
-to the Yocto Project' section in the Yocto Project Development Manual.
-Specifically, they should:
-
- - Include a 'Signed-off-by:' line. A commit can't legally be pulled
- in without this.
-
- - Provide a single-line, short summary of the change. This short
- description should be prefixed by the BSP or recipe name, as
- appropriate, followed by a colon. Capitalize the first character
- of the summary (following the colon).
-
- - For the body of the commit message, provide detailed information
- that describes what you changed, why you made the change, and the
- approach you used.
-
- - If the change addresses a specific bug or issue that is associated
- with a bug-tracking ID, include a reference to that ID in your
- detailed description in the following format: [YOCTO #<bug-id>].
-
- - Pay attention to line length - please don't allow any particular
- line in the commit message to stretch past 72 characters.
-
- - For any non-trivial patch, provide information about how you
- tested the patch, and for any non-trivial or non-obvious testing
- setup, provide details of that setup.
-
-Doing a quick 'git log' in meta-intel will provide you with many
-examples of good example commits if you have questions about any
-aspect of the preferred format.
-
-The meta-intel maintainers will do their best to review and/or pull in
-a patch or patchset within 24 hours of the time it was posted. For
-larger and/or more involved patches and patchsets, the review process
-may take longer.
-
-Please see the meta-intel/MAINTAINERS file for the list of maintainers
-and their specific areas; it's also a good idea to cc: the specific
-maintainer, if applicable.
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..3ec3992b
--- /dev/null
+++ b/README.md
@@ -0,0 +1,35 @@
+# meta-intel
+
+OpenEmbedded/Yocto BSP layer for Intel platforms.
+
+## Dependencies
+
+This layer primarily depends on OpenEmbedded-Core (OE-Core). However, certain
+recipes may require additional layers to support optional features or
+programming languages not supported by OE-Core. Such recipes are located within
+the `dynamic-layers` directory.
+
+Base dependencies:
+- [Bitbake](https://git.openembedded.org/bitbake)
+- [OE-Core](https://git.openembedded.org/openembedded-core)
+
+Dynamic additional dependencies:
+
+- [meta-openembedded](https://git.openembedded.org/meta-openembedded/tree/meta-oe)
+- [meta-python](https://git.openembedded.org/meta-openembedded/tree/meta-python)
+- [meta-clang](https://github.com/kraj/meta-clang.git)
+
+
+## Contents
+
+- [Building and booting meta-intel BSP layers](documentation/building_and_booting.md)
+- [Intel oneAPI DPC++/C++ Compiler](documentation/dpcpp-compiler.md)
+- [Tested Hardware](documentation/tested_hardware.md)
+- [Guidelines for submitting patches](documentation/submitting_patches.md)
+- [Reporting bugs](documentation/reporting_bugs.md)
+- [Reporting security bugs](SECURITY.md)
+
+## Maintainers
+
+- Anuj Mittal <anuj.mittal@intel.com>
+
diff --git a/README.sources b/README.sources
deleted file mode 100644
index 9b483ee0..00000000
--- a/README.sources
+++ /dev/null
@@ -1,17 +0,0 @@
-The sources for the packages comprising the images shipped with this
-BSP can be found at the following location:
-
-http://downloads.yoctoproject.org/mirror/sources/
-
-The metadata used to generate the images shipped with this BSP, in
-addition to the code contained in this BSP, can be found at the
-following location:
-
-http://downloads.yoctoproject.org/releases/yocto/yocto-2.7/poky-warrior-21.0.0.tar.bz2
-
-The metadata used to generate the images shipped with this BSP, in
-addition to the code contained in this BSP, can also be found at the
-following locations:
-
-git://git.yoctoproject.org/poky.git
-git://git.yoctoproject.org/meta-intel
diff --git a/SECURITY.md b/SECURITY.md
new file mode 100644
index 00000000..e70fcb0f
--- /dev/null
+++ b/SECURITY.md
@@ -0,0 +1,6 @@
+# Security Policy
+Intel is committed to rapidly addressing security vulnerabilities affecting our customers and providing clear guidance on the solution, impact, severity and mitigation.
+
+## Reporting a Vulnerability
+Please report any security vulnerabilities in this project [utilizing the guidelines here](https://www.intel.com/content/www/us/en/security-center/vulnerability-handling-guidelines.html).
+
diff --git a/classes/uefi-comboapp.bbclass b/classes/uefi-comboapp.bbclass
index 4ecc5535..a05e0ca0 100644
--- a/classes/uefi-comboapp.bbclass
+++ b/classes/uefi-comboapp.bbclass
@@ -4,8 +4,8 @@
# it with the efi stub obtained from systemd-boot.
# Don't add syslinux or build an ISO
-PCBIOS_forcevariable = "0"
-NOISO_forcevariable = "1"
+PCBIOS:forcevariable = "0"
+NOISO:forcevariable = "1"
# image-live.bbclass will default INITRD_LIVE to the image INITRD_IMAGE creates.
# We want behavior to be consistent whether or not "live" is in IMAGE_FSTYPES, so
@@ -138,7 +138,7 @@ build_efi_cfg() {
:
}
-populate_kernel_append() {
+populate_kernel:append() {
# The kernel and initrd are built into the app, so we don't need these
if [ -f $dest/initrd ]; then
rm $dest/initrd
diff --git a/conf/include/maintainers.inc b/conf/include/maintainers.inc
index b9218e7b..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-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-librealsense = "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 fcbf3e17..97dfb897 100644
--- a/conf/layer.conf
+++ b/conf/layer.conf
@@ -10,15 +10,16 @@ BBFILE_PATTERN_intel := "^${LAYERDIR}/"
BBFILE_PRIORITY_intel = "5"
# Additional license directories.
-LICENSE_PATH += "${LAYERDIR}/custom-licenses"
+CUSTOM_LICENSES_PATH = "${LAYERDIR}/custom-licenses"
+LICENSE_PATH += "${CUSTOM_LICENSES_PATH}"
LAYERDEPENDS_intel = "core"
-LAYERRECOMMENDS_intel = "dpdk intel-qat"
+LAYERRECOMMENDS_intel = "dpdk"
# This should only be incremented on significant changes that will
# cause compatibility issues with other layers
LAYERVERSION_intel = "5"
-LAYERSERIES_COMPAT_intel = "thud warrior zeus"
+LAYERSERIES_COMPAT_intel = "kirkstone scarthgap"
BBFILES_DYNAMIC += " \
clang-layer:${LAYERDIR}/dynamic-layers/clang-layer/*/*/*.bb \
@@ -31,6 +32,14 @@ BBFILES_DYNAMIC += " \
require ${LAYERDIR}/conf/include/maintainers.inc
-PREFERRED_PROVIDER_zlib ?= "zlib"
-PREFERRED_PROVIDER_zlib-native ?= "zlib-native"
-PREFERRED_PROVIDER_nativesdk-zlib ?= "nativesdk-zlib"
+# Use the libva from OE-Core when layer is included but no MACHINE
+# from meta-intel is being used.
+PREFERRED_PROVIDER_libva ?= "libva"
+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 a9727b4e..230d0253 100644
--- a/conf/machine/include/meta-intel.inc
+++ b/conf/machine/include/meta-intel.inc
@@ -5,36 +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%"
-PREFERRED_VERSION_linux-intel_poky-altcfg ?= "4.14%"
-PREFERRED_VERSION_linux-intel-rt_poky-altcfg ?= "4.14%"
+# 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 20c98726..5b134dc3 100644
--- a/conf/machine/intel-core2-32.conf
+++ b/conf/machine/intel-core2-32.conf
@@ -13,9 +13,6 @@ MACHINE_FEATURES += "intel-ucode"
MACHINE_HWCODECS ?= "intel-vaapi-driver gstreamer1.0-vaapi"
-# Enable optional QAT items:
-COMPATIBLE_MACHINE_pn-qat17 = "intel-core2-32"
-
XSERVER ?= "${XSERVER_X86_BASE} \
${XSERVER_X86_EXT} \
${XSERVER_X86_FBDEV} \
@@ -27,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 e367951d..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-media-driver intel-mediasdk 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
index 5435ee04..f987e502 100644
--- a/custom-licenses/ISSL
+++ b/custom-licenses/ISSL
@@ -1,63 +1,73 @@
-Intel Simplified Software License (Version April 2018)
+Intel Simplified Software License (Version August 2021)
-Copyright (c) 2018 Intel Corporation.
+Use and Redistribution. You may use and redistribute the software (the
+"Software"), without modification, provided the following conditions are met:
-Use and Redistribution. You may use and redistribute the software (the "Software"), without modification,
-provided the following conditions are met:
+* Redistributions must reproduce the above copyright notice and the following
+ terms of use in the Software and in the documentation and/or other materials
+ provided with the distribution.
+* Neither the name of Intel nor the names of its suppliers may be used to
+ endorse or promote products derived from this Software without specific
+ prior written permission.
+* No reverse engineering, decompilation, or disassembly of this Software is
+ permitted.
-* Redistributions must reproduce the above copyright notice and the following terms of use in the Software
-and in the documentation and/or other materials provided with the distribution.
+No other licenses. Except as provided in the preceding section, Intel grants no
+licenses or other rights by implication, estoppel or otherwise to, patent,
+copyright, trademark, trade name, service mark or other intellectual property
+licenses or rights of Intel.
-* Neither the name of Intel nor the names of its suppliers may be used to endorse or promote products derived
-from this Software without specific prior written permission.
+Third party software. The Software may contain Third Party Software. "Third
+Party Software" is open source software, third party software, or other Intel
+software that may be identified in the Software itself or in the files (if any)
+listed in the "third-party-software.txt" or similarly named text file included
+with the Software. Third Party Software, even if included with the distribution
+of the Software, may be governed by separate license terms, including without
+limitation, open source software license terms, third party software license
+terms, and other Intel software license terms. Those separate license terms
+solely govern your use of the Third Party Software, and nothing in this license
+limits any rights under, or grants rights that supersede, the terms of the
+applicable license terms.
-* No reverse engineering, decompilation, or disassembly of this Software is permitted.
+DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND NON-INFRINGEMENT ARE
+DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
+WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE
+THAT YOU ARE FULLY RESPONSIBLE FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND
+ATTORNEYS' FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM ALLEGES THAT
+INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE SOFTWARE.
-Limited patent license. Intel grants you a world-wide, royalty-free, non-exclusive license under patents
-it now or hereafter owns or controls to make, have made, use, import, offer to sell and sell ("Utilize")
-this Software, but solely to the extent that any such patent is necessary to Utilize the Software alone.
-The patent license shall not apply to any combinations which include this software. No hardware per se
-is licensed hereunder.
+LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT,
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
+BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
+LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
+OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
+ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-Third party and other Intel programs. "Third Party Programs" are the files listed in the
-"third-party-programs.txt" text file that is included with the Software and may include Intel programs
-under separate license terms. Third Party Programs, even if included with the distribution of the Materials,
-are governed by separate license terms and those license terms solely govern your use of those programs.
+No support. Intel may make changes to the Software, at any time without notice,
+and is not obligated to support, update or provide training for the Software.
-DISCLAIMER. THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
-BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE,
-AND NON-INFRINGEMENT ARE DISCLAIMED. THIS SOFTWARE IS NOT INTENDED FOR USE IN SYSTEMS OR APPLICATIONS
-WHERE FAILURE OF THE SOFTWARE MAY CAUSE PERSONAL INJURY OR DEATH AND YOU AGREE THAT YOU ARE FULLY RESPONSIBLE
-FOR ANY CLAIMS, COSTS, DAMAGES, EXPENSES, AND ATTORNEYS’ FEES ARISING OUT OF ANY SUCH USE, EVEN IF ANY CLAIM
-ALLEGES THAT INTEL WAS NEGLIGENT REGARDING THE DESIGN OR MANUFACTURE OF THE MATERIALS.
+Termination. Your right to use the Software is terminated in the event of your
+breach of this license.
-LIMITATION OF LIABILITY. IN NO EVENT WILL INTEL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
-EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
-SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
-LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
-ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. YOU AGREE TO
-INDEMNIFY AND HOLD INTEL HARMLESS AGAINST ANY CLAIMS AND EXPENSES RESULTING FROM YOUR USE OR UNAUTHORIZED
-USE OF THE SOFTWARE.
+Feedback. Should you provide Intel with comments, modifications, corrections,
+enhancements or other input ("Feedback") related to the Software, Intel will be
+free to use, disclose, reproduce, license or otherwise distribute or exploit the
+Feedback in its sole discretion without any obligations or restrictions of any
+kind, including without limitation, intellectual property rights or licensing
+obligations.
-No support. Intel may make changes to the Software, at any time without notice, and is not obligated to
-support, update or provide training for the Software.
+Compliance with laws. You agree to comply with all relevant laws and regulations
+governing your use, transfer, import or export (or prohibition thereof) of the
+Software.
-Termination. Intel may terminate your right to use the Software in the event of your breach of this Agreement
-and you fail to cure the breach within a reasonable period of time.
-
-Feedback. Should you provide Intel with comments, modifications, corrections, enhancements or other input
-("Feedback") related to the Software Intel will be free to use, disclose, reproduce, license or otherwise
-distribute or exploit the Feedback in its sole discretion without any obligations or restrictions of any
-kind, including without limitation, intellectual property rights or licensing obligations.
-
-Compliance with laws. You agree to comply with all relevant laws and regulations governing your use,
-transfer, import or export (or prohibition thereof) of the Software.
-
-Governing law. All disputes will be governed by the laws of the United States of America and the State
-of Delaware without reference to conflict of law principles and subject to the exclusive jurisdiction of
-the state or federal courts sitting in the State of Delaware, and each party agrees that it submits to
-the personal jurisdiction and venue of those courts and waives any objections. The United Nations
-Convention on Contracts for the International Sale of Goods (1980) is specifically excluded and will
-not apply to the Software.
-
-*Other names and brands may be claimed as the property of others. \ No newline at end of file
+Governing law. All disputes will be governed by the laws of the United States of
+America and the State of Delaware without reference to conflict of law
+principles and subject to the exclusive jurisdiction of the state or federal
+courts sitting in the State of Delaware, and each party agrees that it submits
+to the personal jurisdiction and venue of those courts and waives any
+objections. The United Nations Convention on Contracts for the International
+Sale of Goods (1980) is specifically excluded and will not apply to the
+Software.
diff --git a/custom-licenses/syrah b/custom-licenses/syrah
new file mode 100644
index 00000000..5cd7f4e6
--- /dev/null
+++ b/custom-licenses/syrah
@@ -0,0 +1,32 @@
+Copyright (c) 2009, Stanford University, and authors listed below.
+All rights reserved.
+
+Original authors:
+ Solomon Boulos
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are
+met:
+
+Redistributions of source code must retain the above copyright notice,
+this list of conditions and the following disclaimer.
+
+Redistributions in binary form must reproduce the above copyright
+notice, this list of conditions and the following disclaimer in the
+documentation and/or other materials provided with the distribution.
+
+Neither the name of Stanford University nor the names of its
+contributors may be used to endorse or promote products derived from
+this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. \ No newline at end of file
diff --git a/documentation/building_and_booting.md b/documentation/building_and_booting.md
new file mode 100644
index 00000000..478a4fb0
--- /dev/null
+++ b/documentation/building_and_booting.md
@@ -0,0 +1,134 @@
+### Building the Intel BSP layers
+
+The intel-common BSP provide a few carefully selected tune options and
+generic hardware support to cover the majority of current Intel CPUs and
+devices. The naming follows the convention of intel-<TUNE>-<BITS>, where
+TUNE is the gcc cpu-type (used with mtune and march typically) and BITS
+is either 32 bit or 64 bit.
+
+In order to build an image with BSP support for a given release, you
+need to clone the meta-intel layer from git repository:
+```
+git clone https://git.yoctoproject.org/meta-intel
+```
+
+Check out the appropriate branch or release tags. The branch name and tags
+would align with Yocto Project
+[Release Codenames](https://wiki.yoctoproject.org/wiki/Releases).
+Assuming meta-intel repository is cloned at the top-level of
+OE-Core build tree, you can build a BSP image by adding the location of
+the meta-intel layer to bblayers.conf:
+```
+BBLAYERS = " \
+ /openembedded-core/meta \
+ /openembedded-core/meta-intel "
+```
+
+To enable a particular machine, add a MACHINE line naming the BSP
+to the local.conf file:
+```
+MACHINE ?= "intel-corei7-64"
+```
+
+where this can be replaced by other MACHINE types available:
+
+ - intel-core2-32
+
+ This BSP is optimized for the Core2 family of CPUs as well as all
+ Atom CPUs prior to the Silvermont core.
+
+ - intel-corei7-64
+
+ This BSP is optimized for Nehalem and later Core and Xeon CPUs as
+ well as Silvermont and later Atom CPUs, such as the Baytrail SoCs.
+
+ - intel-skylake-64
+
+ This BSP uses [x86-64-v3 tuning](https://gcc.gnu.org/onlinedocs/gcc/x86-Options.html).
+
+You should then be able to build an image as such:
+```
+$ source oe-init-build-env
+$ bitbake core-image-sato
+```
+
+At the end of a successful build, you should have an image that
+you can boot from a USB flash drive.
+
+
+## Booting the intel-common BSP images
+
+If you've built your own image, you'll find the bootable
+image in the build/tmp/deploy/images/{MACHINE} directory, where
+'MACHINE' refers to the machine name used in the build.
+
+Under Linux, insert a USB flash drive. Assuming the USB flash drive
+takes device /dev/sdf, use dd to copy the image to it. Before the image
+can be burned onto a USB drive, it should be un-mounted. Some Linux distros
+may automatically mount a USB drive when it is plugged in. Using USB device
+/dev/sdf as an example, find all mounted partitions:
+```
+$ mount | grep sdf
+```
+
+and un-mount those that are mounted, for example:
+```
+$ umount /dev/sdf1
+$ umount /dev/sdf2
+```
+
+Now burn the image onto the USB drive:
+```
+$ sudo dd if=core-image-sato-intel-corei7-64.wic of=/dev/sdf status=progress
+$ sync
+$ eject /dev/sdf
+```
+
+This should give you a bootable USB flash device. Insert the device
+into a bootable USB socket on the target, and power on. This should
+result in a system booted to the Sato graphical desktop.
+
+If you want a terminal, use the arrows at the top of the UI to move to
+different pages of available applications, one of which is named
+'Terminal'. Clicking that should give you a root terminal.
+
+If you want to ssh into the system, you can use the root terminal to
+ifconfig the IP address and use that to ssh in. The root password is
+empty, so to log in type 'root' for the user name and hit 'Enter' at
+the Password prompt: and you should be in.
+
+If you find you're getting corrupt images on the USB (it doesn't show
+the syslinux boot: prompt, or the boot: prompt contains strange
+characters), try doing this first:
+```
+$ dd if=/dev/zero of=/dev/sdf bs=1M count=512
+```
+
+## Building the installer image
+
+If you plan to install your image to your target machine, you can build a wic
+based installer image instead of default wic image. To build it, you need to
+add below configuration to local.conf :
+
+```
+WKS_FILE = "image-installer.wks.in"
+IMAGE_FSTYPES:append = " ext4"
+IMAGE_TYPEDEP:wic = "ext4"
+INITRD_IMAGE_LIVE="core-image-minimal-initramfs"
+do_image_wic[depends] += "${INITRD_IMAGE_LIVE}:do_image_complete"
+do_rootfs[depends] += "virtual/kernel:do_deploy"
+IMAGE_BOOT_FILES:append = "\
+ ${KERNEL_IMAGETYPE} \
+ microcode.cpio \
+ ${IMGDEPLOYDIR}/${IMAGE_BASENAME}-${MACHINE}.rootfs.ext4;rootfs.img \
+ ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', 'grub-efi-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
+ ${@bb.utils.contains('EFI_PROVIDER', 'grub-efi', '${IMAGE_ROOTFS}/boot/EFI/BOOT/grub.cfg;EFI/BOOT/grub.cfg', '', d)} \
+ ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', 'systemd-bootx64.efi;EFI/BOOT/bootx64.efi', '', d)} \
+ ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/loader.conf;loader/loader.conf ', '', d)} \
+ ${@bb.utils.contains('EFI_PROVIDER', 'systemd-boot', '${IMAGE_ROOTFS}/boot/loader/entries/boot.conf;loader/entries/boot.conf', '', d)} "
+```
+
+Burn the wic image onto USB flash device, insert the device to target machine
+and power on. This should start the installation process.
+
+
diff --git a/documentation/dpcpp-compiler.md b/documentation/dpcpp-compiler.md
new file mode 100644
index 00000000..b709a685
--- /dev/null
+++ b/documentation/dpcpp-compiler.md
@@ -0,0 +1,107 @@
+Intel(R) oneAPI DPC++/C++ Compiler (ICX) toolchain
+==========================================================================
+
+Get Started with the Intel oneAPI DPC++/C++ Compiler:
+
+https://www.intel.com/content/www/us/en/developer/tools/oneapi/dpc-compiler.html#
+
+
+Getting Started
+===============
+
+Clone the required layers and include them in bblayers.conf:
+
+```
+git clone https://git.openembedded.org/openembedded-core
+git clone https://git.openembedded.org/bitbake
+git clone https://git.openembedded.org/meta-openembedded
+git clone https://github.com/kraj/meta-clang.git
+git clone https://git.yoctoproject.org/meta-intel
+
+$ source openembedded-core/oe-init-build-env
+
+$ bitbake-layers add-layer ../meta-openembedded/meta-oe/
+$ bitbake-layers add-layer ../meta-intel
+$ bitbake-layers add-layer ../meta-clang
+```
+
+Distro
+======
+
+Note that oneAPI DPC++/C++ compiler currently only works when the vendor string is "oe".
+
+```
+DISTRO ?= "nodistro"
+```
+
+MACHINE configuration
+=====================
+
+```
+MACHINE ?= "intel-skylake-64"
+```
+
+Package installation
+====================
+
+```
+# To include OpenCL driver that might be needed when compiling SYCL programs, include:
+IMAGE_INSTALL:append = " intel-compute-runtime intel-graphics-compiler"
+
+# To install only runtime libraries, include:
+IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp-runtime intel-oneapi-dpcpp-cpp-runtime-dev"
+
+# To install the toolchain, include:
+IMAGE_INSTALL:append = " intel-oneapi-dpcpp-cpp intel-oneapi-dpcpp-cpp-dev"
+```
+in local.conf.
+
+Build an image
+==============
+
+```
+$ bitbake core-image-minimal
+```
+
+Including oneAPI C++/DPC++ compiler in generated SDK toolchain
+==============================================================
+
+The compiler is not included in the generated SDK by default. If it is expected to be part of SDK, add ICXSDK = "1" in local.conf:
+
+```
+ICXSDK = "1"
+```
+
+Generate SDK:
+```
+bitbake core-image-minimal -c populate_sdk
+```
+
+
+To setup PATH variables on target
+=================================
+
+Once image is booted successfully, some variables would need to be exported to make sure compiler can be used:
+
+```
+$ source /opt/intel/oneapi/compiler/2022.1.0/env/vars.sh
+
+$ mkdir -p /lib64
+
+$ ln -sf /lib/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
+```
+
+Build application and run
+=========================
+
+To compile a sycl application, for example:
+
+```
+$ icpx --target=x86_64-oe-linux -fsycl simple-sycl-app.c -o simple-sycl-app
+```
+
+To run:
+
+```
+$ ./simple-sycl-app
+```
diff --git a/documentation/reporting_bugs.md b/documentation/reporting_bugs.md
new file mode 100644
index 00000000..5fbc3d27
--- /dev/null
+++ b/documentation/reporting_bugs.md
@@ -0,0 +1,22 @@
+## Reporting bugs
+
+If you have problems with or questions about a particular BSP, please
+contact the maintainer listed in the [Maintainer](../README.md#maintainers) section directly (cc:ing
+the Yocto mailing list puts it in the archive and helps other people
+who might have the same questions in the future), but please try to do
+the following first:
+
+- look in the [Yocto Project Bugzilla](http://bugzilla.yoctoproject.org/) to see if a
+ problem has already been reported
+
+- look through recent entries of the [meta-intel](https://lists.yoctoproject.org/g/meta-intel/messages)
+ and [Yocto Archives](https://lists.yoctoproject.org/g/yocto/messages) mailing list archives to see
+ if other people have run into similar problems or had similar questions answered.
+
+If you believe you have encountered a bug, you can open a new bug and
+enter the details in the [Yocto Project Bugzilla](https://bugzilla.yoctoproject.org/).
+If you're relatively certain that it's a bug against the BSP itself, please use the
+'BSPs | bsps-meta-intel' category for the bug; otherwise, please submit the bug against
+the most likely category for the problem. if you're wrong, it's not a big deal and
+the bug will be recategorized upon triage.
+
diff --git a/documentation/secureboot/README b/documentation/secureboot/README
deleted file mode 100644
index 3d5703bb..00000000
--- a/documentation/secureboot/README
+++ /dev/null
@@ -1,38 +0,0 @@
-Currently, only one implementation of Secure Boot is available out of the box,
-which is using a single signed EFI application to directly boot the kernel with
-an optional initramfs.
-
-This can be added to your build either through local.conf, or via your own
-custom image recipe.
-
-If you are adding it via local.conf, set the following variables:
-
-IMAGE_FEATURES += "secureboot"
-WKS_FILE = "generic-bootdisk.wks.in"
-SECURE_BOOT_SIGNING_KEY = "/path/to/your/signing/key"
-SECURE_BOOT_SIGNING_CERT = "/path/to/your/signing/cert"
-IMAGE_CLASSES += "uefi-comboapp"
-
-If working with an image recipe, you can inherit uefi-comboapp directly instead
-of using the IMAGE_CLASSES variable.
-
-The signing keys and certs can be created via openssl commands. Here's an
-example:
-openssl req -new -x509 -newkey rsa:2048 -subj "/CN=your-subject/" -keyout \
-your-key.key -out your-key.crt -days 365 -nodes -sha256
-openssl x509 -in your-key.crt -out your-key.cer -outform DER
-
-The .crt file is your SECURE_BOOT_SIGNING_CERT, and the .key file is your
-SECURE_BOOT_SIGNING_KEY.
-
-You should enroll the .crt key in your firmware under the PK, KEK, and DB
-options (methods are different depending on your firmware). If a key should ever
-become invalid, enroll it under DBX to blacklist it.
-
-The comboapp can be further manipulated in a number of ways. You can modify the
-kernel command line via the APPEND variable, you can change the default UUID via
-the DISK_SIGNATURE_UUID variable, and you can modify the contents of the
-initramfs via the INITRD_IMAGE or INITRD_LIVE variables.
-
-A simple Secure Boot enabled image used for testing can be viewed at:
-common/recipes-selftest/images/secureboot-selftest-image-signed.bb
diff --git a/documentation/submitting_patches.md b/documentation/submitting_patches.md
new file mode 100644
index 00000000..f36c4b08
--- /dev/null
+++ b/documentation/submitting_patches.md
@@ -0,0 +1,26 @@
+## Guidelines for submitting patches
+
+Please submit any patches against meta-intel BSPs to the
+[meta-intel mailing list](https://lists.yoctoproject.org/g/meta-intel)
+(email: meta-intel@lists.yoctoproject.org). Also, if your patches are
+available via a public git repository, please also include a URL to
+the repo and branch containing your patches as that makes it easier
+for maintainers to grab and test your patches.
+
+The patches should follow the suggestions outlined in the
+[Yocto Project and OpenEmbedded Contributor Guide](https://docs.yoctoproject.org/dev/contributor-guide/index.html).
+In addition, for any non-trivial patch, provide information about how you
+tested the patch, and for any non-trivial or non-obvious testing
+setup, provide details of that setup.
+
+Doing a quick 'git log' in meta-intel will provide you with many
+examples of good example commits if you have questions about any
+aspect of the preferred format.
+
+The meta-intel maintainers will do their best to review and/or pull in
+a patch or patch sets within 24 hours of the time it was posted. For
+larger and/or more involved patches and patch sets, the review process
+may take longer.
+
+Please see the [maintainers](../README.md#maintainers) section for the list of maintainers. It's also
+a good idea to cc: the maintainer, if applicable.
diff --git a/documentation/tested_hardware.md b/documentation/tested_hardware.md
new file mode 100644
index 00000000..48a25ab4
--- /dev/null
+++ b/documentation/tested_hardware.md
@@ -0,0 +1,24 @@
+## Tested Hardware
+
+The following undergo regular basic testing with their respective MACHINE types.
+
+- intel-corei7-64:
+ * Alder Lake-P
+ * Alder Lake-S
+ * Alder Lake-PS
+ * Elkhart Lake
+ * Metor Lake-P
+ * Raptor Lake-P
+ * Tiger Lake
+
+- intel-skylake-64:
+ * Alder Lake-P
+ * Alder Lake-S
+ * Alder Lake-PS
+ * Elkhart Lake
+ * Metor Lake-P
+ * Raptor Lake-P
+ * Tiger Lake
+
+- intel-core2-32:
+ * MinnowBoard Turbot
diff --git a/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 50536c38..00000000
--- a/dynamic-layers/clang-layer/recipes-devtools/clang/clang_%.bbappend
+++ /dev/null
@@ -1,4 +0,0 @@
-FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/files:"
-
-LIBCPLUSPLUS_intel-x86-common = ""
-
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.35.13977.bb b/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_19.35.13977.bb
deleted file mode 100644
index b3e8f4a1..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/compute-runtime/intel-compute-runtime_19.35.13977.bb
+++ /dev/null
@@ -1,43 +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 = "cb4e5576cb5414ab3af54c49819a4ced305b965b"
-
-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 \
- "
-
-FILES_${PN} += "${libdir}/intel-opencl/libigdrcl.so"
-
-BBCLASSEXTEND = "native nativesdk"
-
-UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>\d+(\.\d+)+)"
-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 297f4491..00000000
--- a/dynamic-layers/clang-layer/recipes-opencl/igc/intel-graphics-compiler_1.0.11.bb
+++ /dev/null
@@ -1,34 +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"
-
-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 32af900d..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,30 +5,30 @@ DESCRIPTION = "Common clang has OpenCL-oriented API and is capable \
LICENSE = "NCSA"
LIC_FILES_CHKSUM = "file://LICENSE;md5=e8a15bf1416762a09ece07e44c79118c"
-SRC_URI = "git://github.com/intel/opencl-clang.git;branch=ocl-open-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"
+DEPENDS:append:class-target = " opencl-clang-native"
COMPATIBLE_HOST = '(x86_64).*-linux'
-COMPATIBLE_HOST_libc-musl = "null"
+COMPATIBLE_HOST:libc-musl = "null"
+
+DEPENDS += " spirv-llvm-translator"
EXTRA_OECMAKE += "\
-DLLVM_TABLEGEN_EXE=${STAGING_BINDIR_NATIVE}/llvm-tblgen \
-DCMAKE_SKIP_RPATH=TRUE \
+ -DPREFERRED_LLVM_VERSION=${LLVMVERSION} \
"
-do_install_append_class-native() {
+do_install:append:class-native() {
install -d ${D}${bindir}
- install -m 0755 ${B}/linux_linker/linux_resource_linker ${D}${bindir}/
+ install -m 0755 ${B}/bin/linux_resource_linker ${D}${bindir}/
}
BBCLASSEXTEND = "native nativesdk"
diff --git a/dynamic-layers/clang-layer/recipes-opencl/opencl-clang/opencl-clang_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/dldt-model-optimizer_2019r3.1.bb b/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.0.0.bb
index 56705f63..70177c28 100644
--- a/dynamic-layers/meta-python/recipes-opencv/dldt/dldt-model-optimizer_2019r3.1.bb
+++ b/dynamic-layers/meta-python/recipes-opencv/dldt/openvino-model-optimizer_2024.0.0.bb
@@ -5,29 +5,29 @@ environment, performs static model analysis, and adjusts deep \
learning models for optimal execution on end-point target devices."
HOMEPAGE = "https://01.org/openvinotoolkit"
-SRC_URI = "git://github.com/opencv/dldt.git;protocol=git;branch=2019 \
+SRC_URI = "git://github.com/openvinotoolkit/openvino.git;protocol=https;branch=releases/2024/0;lfs=0 \
"
-SRCREV = "fe3f978b98c86eaeed3cbdc280e1ffd0bc50d278"
+SRCREV = "34caeefd07800b59065345d651949efbe8ab6649"
LICENSE = "Apache-2.0"
LIC_FILES_CHKSUM = "file://LICENSE;md5=86d3f3a95c324c9479bd8986968f4327"
CVE_PRODUCT = "intel:openvino"
-
S = "${WORKDIR}/git"
-do_install() {
- mkdir -p ${D}${datadir}/openvino/model-optimizer
- cp -r model-optimizer ${D}${datadir}/openvino/
-}
+inherit setuptools3
-RDEPENDS_${PN} += " \
- python3-numpy \
- python3-protobuf \
+SETUPTOOLS_SETUP_PATH = "${WORKDIR}/git/tools/mo"
+
+RDEPENDS:${PN} += " \
python3-defusedxml \
+ python3-fastjsonschema \
python3-networkx \
- python3-test-generator \
+ python3-numpy \
+ python3-protobuf \
+ python3-requests \
+ python3-urllib3 \
bash \
"
-FILES_${PN} += "${datadir}/openvino"
+UPSTREAM_CHECK_GITTAGREGEX = "(?P<pver>(\d+\.\d+\.\d+))$"
diff --git a/dynamic-layers/openembedded-layer/recipes-bsp/amt/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 5fb602e1..00000000
--- a/dynamic-layers/openembedded-layer/recipes-bsp/amt/lms_1932.0.0.0.bb
+++ /dev/null
@@ -1,37 +0,0 @@
-SUMMARY = "Intel(R) Local Managability Service"
-DESCRIPTION = "Intel Local Manageability Service allows applications \
-to access the Intel Active Management Technology (AMT) firmware via \
-the Intel Management Engine Interface (MEI)."
-
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://COPYING;md5=2ee41112a44fe7014dce33e26468ba93"
-
-COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-
-COMPATIBLE_HOST_libc-musl = "null"
-
-inherit cmake systemd
-
-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-core/librealsense/librealsense_2.29.0.bb b/dynamic-layers/openembedded-layer/recipes-core/librealsense/librealsense_2.29.0.bb
deleted file mode 100644
index cdf7d022..00000000
--- a/dynamic-layers/openembedded-layer/recipes-core/librealsense/librealsense_2.29.0.bb
+++ /dev/null
@@ -1,28 +0,0 @@
-SUMMARY = "Intel® RealSense™ SDK"
-HOMEPAGE = "https://www.intelrealsense.com/"
-DESCRIPTION = "Intel® RealSense™ SDK 2.0 is a cross-platform library for \
-Intel® RealSense™ depth cameras (D400 series and the SR300) and the T265 \
-tracking camera"
-LICENSE = "Apache-2.0"
-LIC_FILES_CHKSUM = "file://LICENSE;md5=a1692f06943fa281fd047a22d7e10800"
-SECTION = "lib"
-
-inherit pkgconfig cmake
-
-S = "${WORKDIR}/git"
-SRC_URI = "git://github.com/IntelRealSense/librealsense.git"
-SRCREV = "5096aab40c71bfa2bebd17e4ace5f6678587b889"
-
-EXTRA_OECMAKE += "-DCMAKE_BUILD_TYPE=Release"
-EXTRA_OECMAKE += "-DBUILD_EXAMPLES=true"
-EXTRA_OECMAKE += "-DBUILD_GRAPHICAL_EXAMPLES=${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'true', 'false', d)}"
-EXTRA_OECMAKE += "-DBUILD_WITH_TM2=false"
-EXTRA_OECMAKE += "-DUSE_SYSTEM_LIBUSB=true"
-
-do_install_append() {
- install -d ${D}${sysconfdir}/udev/rules.d
- install -m 0644 ${S}/config/99-realsense-libusb.rules ${D}${sysconfdir}/udev/rules.d/99-${BPN}-libusb.rules
-}
-
-DEPENDS = "udev libusb1"
-DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'x11 opengl', 'libpng libglu glfw gtk+3', '', d)}"
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/dldt-inference-engine_2019r3.1.bb b/dynamic-layers/openembedded-layer/recipes-support/opencv/dldt-inference-engine_2019r3.1.bb
deleted file mode 100644
index b9767517..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/dldt-inference-engine_2019r3.1.bb
+++ /dev/null
@@ -1,122 +0,0 @@
-SUMMARY = "OpenVINO(TM) Toolkit - Deep Learning Deployment Toolkit"
-HOMEPAGE = "https://github.com/opencv/dldt"
-DESCRIPTION = "This toolkit allows developers to deploy pre-trained \
-deep learning models through a high-level C++ Inference Engine API \
-integrated with application logic."
-
-SRC_URI = "git://github.com/opencv/dldt.git;protocol=git;branch=2019 \
- https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_ma2450_759W.zip;name=ma2450 \
- https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_ma2x8x_mdk_R9.8.zip;name=ma2x8x \
- https://download.01.org/opencv/2019/openvinotoolkit/R3/inference_engine/firmware_mv0262_mdk_R9.8.zip;name=mv0262 \
- file://0001-R2-Build-fixes.patch;patchdir=.. \
- file://0002-R2-Install-DLDT-headers-libs-sample-Apps.patch;patchdir=.. \
- file://0003-use-GNUInstallDirs-on-nix.patch;patchdir=.. \
- file://0004-disable-werror.patch;patchdir=.. \
- file://0005-point-to-correct-location-of-ngraph-headers.patch;patchdir=.. \
- file://0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch;patchdir=.. \
- file://0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch;patchdir=.. \
- file://0008-Simplify-searching-for-firmware-files.patch;patchdir=.. \
- file://run-ptest \
- "
-SRCREV = "fe3f978b98c86eaeed3cbdc280e1ffd0bc50d278"
-
-SRC_URI[ma2450.md5sum] = "852f80c3248c451a6c8bfd96d871318f"
-SRC_URI[ma2450.sha256sum] = "ba1b23b45cd8e548ead77af49b0e378100cf4f8dcda41a491868d3d4e7bf8cba"
-
-SRC_URI[ma2x8x.md5sum] = "2d9ca6894cdd25e9b10f7908c415dbc9"
-SRC_URI[ma2x8x.sha256sum] = "961ce4c7b14823a528185f5e75b3b6898a7e8f866b4b5b8af5f4f05f72226909"
-
-SRC_URI[mv0262.md5sum] = "c495f0ee0313e9d8d993e846a7868c4f"
-SRC_URI[mv0262.sha256sum] = "0c0c8d7782f49dd4928837b52b4b6f25c1b088bfee23e464729057a28323ab77"
-
-LICENSE = "Apache-2.0 & ISSL"
-LIC_FILES_CHKSUM = "file://../LICENSE;md5=86d3f3a95c324c9479bd8986968f4327 \
- file://../../ISSL.txt;md5=ab31aad35d740d800ae1e332d6290f50 \
-"
-LICENSE_${PN}-vpu-firmware = "ISSL"
-
-inherit cmake ptest python3native
-
-S = "${WORKDIR}/git/inference-engine"
-
-EXTRA_OECMAKE += " \
- -DENABLE_OPENCV=0 \
- -DENABLE_SAMPLES_CORE=1 \
- -DENABLE_PLUGIN_RPATH=0 \
- -DENABLE_GNA=0 \
- -DPYTHON_EXECUTABLE=${PYTHON} \
- -DTHREADING=TBB \
- -DCMAKE_BUILD_TYPE=DebugWithRelInfo \
- -DNGRAPH_INCLUDES=${STAGING_INCDIR}/ngraph \
- -DENABLE_TESTS="${@bb.utils.contains('PTEST_ENABLED', '1', '1', '0', d)}" \
- -DBUILD_GMOCK=1 \
- -DBUILD_GTEST=0 \
- -DINSTALL_GMOCK=0 \
- -DINSTALL_GTEST=0 \
- "
-
-DEPENDS += "libusb1 \
- ade \
- opencv \
- pugixml \
- ngraph \
- tbb \
- ${@bb.utils.contains('PTEST_ENABLED', '1', 'gflags', '0', d)} \
- "
-
-COMPATIBLE_HOST = '(x86_64).*-linux'
-COMPATIBLE_HOST_libc-musl = "null"
-
-PACKAGECONFIG ?= "vpu"
-PACKAGECONFIG[opencl] = "-DENABLE_CLDNN=1 -DCLDNN__IOCL_ICD_INCDIRS=${STAGING_INCDIR} -DCLDNN__IOCL_ICD_STLDIRS=${STAGING_LIBDIR} -DCLDNN__IOCL_ICD_SHLDIRS=${STAGING_LIBDIR}, -DENABLE_CLDNN=0, opencl-icd-loader, opencl-icd-loader intel-compute-runtime"
-PACKAGECONFIG[python3] = "-DENABLE_PYTHON=ON -DPYTHON_LIBRARY=${PYTHON_LIBRARY} -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIR}, -DENABLE_PYTHON=OFF, python3-cython-native, python3"
-PACKAGECONFIG[vpu] = "-DENABLE_VPU=ON -DVPU_FIRMWARE_MA2450_FILE=../mvnc/MvNCAPI-ma2450.mvcmd -DVPU_FIRMWARE_MA2X8X_FILE=../mvnc/MvNCAPI-ma2x8x.mvcmd -DVPU_FIRMWARE_MV0262_FILE=../mvnc/MvNCAPI-mv0262.mvcmd,-DENABLE_VPU=OFF,,${PN}-vpu-firmware"
-PACKAGECONFIG[verbose] = "-DVERBOSE_BUILD=1,-DVERBOSE_BUILD=0"
-
-do_install_append() {
- if ${@bb.utils.contains('PACKAGECONFIG', 'vpu', 'true', 'false', d)}; then
- install -m0644 ${WORKDIR}/mvnc/MvNCAPI-ma2450.mvcmd ${D}${libdir}
- install -m0644 ${WORKDIR}/mvnc/MvNCAPI-ma2x8x.mvcmd ${D}${libdir}
- install -m0644 ${WORKDIR}/mvnc/MvNCAPI-mv0262.mvcmd ${D}${libdir}
-
- install -D -m0644 ${S}/thirdparty/movidius/mvnc/src/97-myriad-usbboot.rules ${D}${sysconfdir}/udev/rules.d/97-myriad-usbboot.rules
- fi
-
- if ${@bb.utils.contains('PACKAGECONFIG', 'opencl', 'true', 'false', d)}; then
- cp -r ${S}/src/cldnn_engine/cldnn_global_custom_kernels ${D}${libdir}/
- fi
-}
-
-do_install_ptest_base_prepend() {
- # While not a Makefile based project that strictly falls into the category of
- # what ptest helps with, adding the unit tests here as ptest would help.
- # Create a dummy Makefile so installation doesn't fail.
- touch ${WORKDIR}/Makefile
- mv ${D}${bindir}/InferenceEngineUnitTests ${D}${PTEST_PATH}/
- mv ${D}${libdir}/libmock_engine.so ${D}${PTEST_PATH}/
-}
-
-# Otherwise e.g. ros-openvino-toolkit-dynamic-vino-sample when using dldt-inference-engine uses dldt-inference-engine WORKDIR
-# instead of RSS
-SSTATE_SCAN_FILES_append = " *.cmake"
-
-FILES_${PN}-dev = "${includedir} \
- ${libdir}/cmake \
- ${libdir}/libinference_engine.so \
- "
-
-FILES_${PN} += "${libdir}/lib*${SOLIBSDEV} \
- ${datadir}/openvino \
- ${libdir}/cldnn_global_custom_kernels \
- "
-
-# Move inference engine samples into a separate package
-PACKAGES =+ "${PN}-samples ${PN}-vpu-firmware"
-
-FILES_${PN}-samples = "${bindir}"
-FILES_${PN}-vpu-firmware += "${libdir}/*.mvcmd"
-
-# Package for inference engine python API
-PACKAGES =+ "${PN}-${PYTHON_PN}"
-
-FILES_${PN}-${PYTHON_PN} = "${PYTHON_SITEPACKAGES_DIR}/openvino"
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/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-R2-Build-fixes.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-R2-Build-fixes.patch
deleted file mode 100644
index 39d40983..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0001-R2-Build-fixes.patch
+++ /dev/null
@@ -1,235 +0,0 @@
-From 8a5804c723c5bd396e5029f254f866f19a679cc5 Mon Sep 17 00:00:00 2001
-From: Erin Park <erin.park@intel.com>
-Date: Wed, 11 Sep 2019 09:04:23 -0700
-Subject: [PATCH 1/7] R2 Build fixes
-
--Update to R3
--linux os-release name search
--Use system libraries for (OMP/TBB)
--Use system libraries for ngraph, ade, puigxml, gflags
--Turn on ENABLE_PYTHON
-
-Upstream-Status: Pending [Taken from Clear Linux and updated to R3]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
----
- inference-engine/CMakeLists.txt | 4 +++
- inference-engine/cmake/dependencies.cmake | 30 ++++++++++++----------
- inference-engine/cmake/developer_package.cmake | 12 ++++-----
- inference-engine/cmake/ie_parallel.cmake | 6 ++---
- inference-engine/cmake/linux_name.cmake | 2 +-
- inference-engine/samples/CMakeLists.txt | 2 --
- .../src/inference_engine/CMakeLists.txt | 5 ++--
- inference-engine/thirdparty/CMakeLists.txt | 9 -------
- 8 files changed, 34 insertions(+), 36 deletions(-)
-
-diff --git a/inference-engine/CMakeLists.txt b/inference-engine/CMakeLists.txt
-index f41d9df..a282cb4 100644
---- a/inference-engine/CMakeLists.txt
-+++ b/inference-engine/CMakeLists.txt
-@@ -62,6 +62,10 @@ add_cpplint_target(sample_cpplint
- EXCLUDE_PATTERNS "thirdparty/*" "pugixml/*")
-
- if (ENABLE_PYTHON)
-+ set(InferenceEngine_DIR "${CMAKE_BINARY_DIR}")
-+
-+ #to be able to link
-+ set (LIB_FOLDER ${IE_MAIN_SOURCE_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
- add_subdirectory(ie_bridges/python)
- endif()
-
-diff --git a/inference-engine/cmake/dependencies.cmake b/inference-engine/cmake/dependencies.cmake
-index 682f2e5..36c3f4d 100644
---- a/inference-engine/cmake/dependencies.cmake
-+++ b/inference-engine/cmake/dependencies.cmake
-@@ -51,11 +51,11 @@ if (THREADING STREQUAL "OMP")
- ENVIRONMENT "OMP"
- VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
- elseif(LINUX)
-- RESOLVE_DEPENDENCY(OMP
-- ARCHIVE_LIN "iomp.tgz"
-- TARGET_PATH "${TEMP}/omp"
-- ENVIRONMENT "OMP"
-- VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
-+ #RESOLVE_DEPENDENCY(OMP
-+ # ARCHIVE_LIN "iomp.tgz"
-+ # TARGET_PATH "${TEMP}/omp"
-+ # ENVIRONMENT "OMP"
-+ # VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
- else(APPLE)
- RESOLVE_DEPENDENCY(OMP
- ARCHIVE_MAC "iomp_20190130_mac.tgz"
-@@ -63,8 +63,10 @@ if (THREADING STREQUAL "OMP")
- ENVIRONMENT "OMP"
- VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
- endif()
-- log_rpath_from_dir(OMP "${OMP}/lib")
-- debug_message(STATUS "intel_omp=" ${OMP})
-+ if (NOT LINUX)
-+ log_rpath_from_dir(OMP "${OMP}/lib")
-+ debug_message(STATUS "intel_omp=" ${OMP})
-+ endif ()
- endif ()
-
- ## TBB package
-@@ -77,10 +79,10 @@ if (THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO")
- ENVIRONMENT "TBBROOT"
- VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
- elseif(LINUX)
-- RESOLVE_DEPENDENCY(TBB
-- ARCHIVE_LIN "tbb2019_20181010_lin.tgz"
-- TARGET_PATH "${TEMP}/tbb"
-- ENVIRONMENT "TBBROOT")
-+ #RESOLVE_DEPENDENCY(TBB
-+ # ARCHIVE_LIN "tbb2019_20181010_lin.tgz"
-+ # TARGET_PATH "${TEMP}/tbb"
-+ # ENVIRONMENT "TBBROOT")
- else(APPLE)
- RESOLVE_DEPENDENCY(TBB
- ARCHIVE_MAC "tbb2019_20190414_v1_mac.tgz"
-@@ -88,8 +90,10 @@ if (THREADING STREQUAL "TBB" OR THREADING STREQUAL "TBB_AUTO")
- ENVIRONMENT "TBBROOT"
- VERSION_REGEX ".*_([a-z]*_([a-z0-9]+\\.)*[0-9]+).*")
- endif()
-- log_rpath_from_dir(TBB "${TBB}/lib")
-- debug_message(STATUS "tbb=" ${TBB})
-+ if (NOT LINUX)
-+ log_rpath_from_dir(TBB "${TBB}/lib")
-+ debug_message(STATUS "tbb=" ${TBB})
-+ endif ()
- endif ()
-
- if (ENABLE_OPENCV)
-diff --git a/inference-engine/cmake/developer_package.cmake b/inference-engine/cmake/developer_package.cmake
-index a27143d..950ccf4 100644
---- a/inference-engine/cmake/developer_package.cmake
-+++ b/inference-engine/cmake/developer_package.cmake
-@@ -93,12 +93,12 @@ if(NOT UNIX)
- set(LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER})
- set(LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}) # compatibility issue: linux uses LIBRARY_OUTPUT_PATH, windows uses LIBRARY_OUTPUT_DIRECTORY
- else()
-- set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
-- set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
-- set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-- set(CMAKE_PDB_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-- set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-- set(LIBRARY_OUTPUT_DIRECTORY ${OUTPUT_ROOT}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
-+ set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
-+ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
-+ set(CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-+ set(CMAKE_PDB_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-+ set(LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
- set(LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}/lib)
- endif()
-
-diff --git a/inference-engine/cmake/ie_parallel.cmake b/inference-engine/cmake/ie_parallel.cmake
-index 97e8c5e..9b03652 100644
---- a/inference-engine/cmake/ie_parallel.cmake
-+++ b/inference-engine/cmake/ie_parallel.cmake
-@@ -36,8 +36,8 @@ function(set_ie_threading_interface_for TARGET_NAME)
- endif ()
-
- if (NOT TBB_INCLUDE_DIRS OR NOT TBB_LIBRARIES_RELEASE)
-- find_path(TBB_INCLUDE_DIRS tbb/tbb.h ${incl_path} NO_DEFAULT_PATH)
-- find_library(TBB_LIBRARIES_RELEASE tbb ${lib_rel_path} NO_DEFAULT_PATH)
-+ find_path(TBB_INCLUDE_DIRS tbb/tbb.h)
-+ find_library(TBB_LIBRARIES_RELEASE tbb)
- ext_message(STATUS "TBB include: ${TBB_INCLUDE_DIRS}")
- ext_message(STATUS "TBB Release lib: ${TBB_LIBRARIES_RELEASE}")
- if (NOT LINUX)
-@@ -98,7 +98,7 @@ function(set_ie_threading_interface_for TARGET_NAME)
- endif ()
-
- if (NOT OMP_LIBRARIES_RELEASE)
-- find_library(OMP_LIBRARIES_RELEASE ${omp_lib_name} ${lib_rel_path} NO_DEFAULT_PATH)
-+ find_library(OMP_LIBRARIES_RELEASE ${omp_lib_name})
- ext_message(STATUS "OMP Release lib: ${OMP_LIBRARIES_RELEASE}")
- if (NOT LINUX)
- find_library(OMP_LIBRARIES_DEBUG ${omp_lib_name} ${lib_dbg_path} NO_DEFAULT_PATH)
-diff --git a/inference-engine/cmake/linux_name.cmake b/inference-engine/cmake/linux_name.cmake
-index 6713808..7e5e47a 100644
---- a/inference-engine/cmake/linux_name.cmake
-+++ b/inference-engine/cmake/linux_name.cmake
-@@ -5,7 +5,7 @@
- if (LINUX)
- function(get_linux_name res_var)
- if (NOT EXISTS "/etc/lsb-release")
-- execute_process(COMMAND find -L /etc/ -maxdepth 1 -type f -name *-release -exec cat {} \;
-+ execute_process(COMMAND find /usr/lib/ /etc/ -maxdepth 1 -type f -name *-release -exec cat {} \;
- OUTPUT_VARIABLE release_data RESULT_VARIABLE result)
- set(name_regex "NAME=\"([^ \"\n]*).*\"\n")
- set(version_regex "VERSION=\"([0-9]+(\\.[0-9]+)?)[^\n]*\"")
-diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt
-index d3a094c..884b0a6 100644
---- a/inference-engine/samples/CMakeLists.txt
-+++ b/inference-engine/samples/CMakeLists.txt
-@@ -91,8 +91,6 @@ set (GFLAGS_IS_SUBPROJECT TRUE)
- set (HAVE_SYS_STAT_H 1)
- set (HAVE_INTTYPES_H 1)
-
--add_subdirectory(thirdparty/gflags)
--
- if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
- endif()
-diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt
-index f4b34ad..2604c32 100644
---- a/inference-engine/src/inference_engine/CMakeLists.txt
-+++ b/inference-engine/src/inference_engine/CMakeLists.txt
-@@ -116,6 +116,7 @@ target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR}
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src")
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src")
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ocv")
-+include_directories(${TARGET_NAME} "/usr/include/ngraph")
-
- if(ENABLE_MKL_DNN)
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/src/cpu/xbyak")
-@@ -125,7 +126,7 @@ if(ENABLE_UNICODE_PATH_SUPPORT)
- target_compile_definitions(${TARGET_NAME} PUBLIC ENABLE_UNICODE_PATH_SUPPORT)
- endif()
-
--set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
-+set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME} SOVERSION 1)
-
- # Static library used for unit tests which are always built
-
-@@ -159,7 +160,7 @@ if(ENABLE_UNICODE_PATH_SUPPORT)
- target_compile_definitions(${TARGET_NAME}_s PUBLIC ENABLE_UNICODE_PATH_SUPPORT)
- endif()
-
--set_target_properties(${TARGET_NAME}_s PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}_s)
-+set_target_properties(${TARGET_NAME}_s PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME}_s SOVERSION 1)
-
- target_link_libraries(${TARGET_NAME}_s PRIVATE fluid
- PRIVATE ngraph
-diff --git a/inference-engine/thirdparty/CMakeLists.txt b/inference-engine/thirdparty/CMakeLists.txt
-index 54de20f..4ea20f5 100644
---- a/inference-engine/thirdparty/CMakeLists.txt
-+++ b/inference-engine/thirdparty/CMakeLists.txt
-@@ -35,10 +35,6 @@ function(build_with_lto)
- set(CMAKE_RANLIB "gcc-ranlib")
- endif()
-
-- add_subdirectory(pugixml)
-- export(TARGETS pugixml NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets.cmake")
-- export(TARGETS pugixml NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
--
- if (TARGET pugixml_mt)
- export(TARGETS pugixml_mt NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets.cmake")
- export(TARGETS pugixml_mt NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
-@@ -46,11 +42,6 @@ function(build_with_lto)
-
- add_subdirectory(stb_lib)
-
-- add_subdirectory(ade)
-- export(TARGETS ade NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
--
-- include(ngraph.cmake)
--
- add_subdirectory(fluid/modules/gapi)
- export(TARGETS fluid NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
- endfunction()
---
-2.7.4
-
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/0002-R2-Install-DLDT-headers-libs-sample-Apps.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-R2-Install-DLDT-headers-libs-sample-Apps.patch
deleted file mode 100644
index 8b563b1c..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0002-R2-Install-DLDT-headers-libs-sample-Apps.patch
+++ /dev/null
@@ -1,267 +0,0 @@
-From d73cd3c504e1409861da0b6879ea0dbd4572e706 Mon Sep 17 00:00:00 2001
-From: Erin Park <erin.park@intel.com>
-Date: Wed, 11 Sep 2019 10:33:58 -0700
-Subject: [PATCH 2/7] R2 Install DLDT headers, libs, sample Apps
-
--Update to R3
--Libraries to /usr/lib64
--Headers to /usr/include
--Sample Apps executable to /usr/bin
--Sample Apps source code to /usr/share/doc/inference_engine
--Python library to /usr/lib/python3.7/site-packages
--plugins.xml to /usr/share/openvino/inference-engine
--Create targets_cpu_extension.cmake
-
-Upstream-Status: Pending [Taken from Clear Linux with changes to install
-libs at CMAKE_INSTALL_LIBDIR instead of hardcoded lib64 and update to R3]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
----
- inference-engine/CMakeLists.txt | 2 ++
- inference-engine/cmake/config.cmake.in | 1 +
- inference-engine/ie_bridges/python/CMakeLists.txt | 2 +-
- .../src/openvino/inference_engine/CMakeLists.txt | 4 +++-
- inference-engine/samples/CMakeLists.txt | 9 +-------
- .../samples/common/format_reader/CMakeLists.txt | 2 ++
- inference-engine/src/CMakeLists.txt | 4 +++-
- inference-engine/src/extension/CMakeLists.txt | 5 ++++-
- inference-engine/src/hetero_plugin/CMakeLists.txt | 2 ++
- .../src/inference_engine/CMakeLists.txt | 25 ++++++++++++++++++----
- .../src/inference_engine/ie_util_internal.cpp | 7 +++---
- inference-engine/src/mkldnn_plugin/CMakeLists.txt | 1 +
- .../src/vpu/myriad_plugin/CMakeLists.txt | 2 ++
- inference-engine/tests/unit/CMakeLists.txt | 2 ++
- 14 files changed, 49 insertions(+), 19 deletions(-)
-
-diff --git a/inference-engine/CMakeLists.txt b/inference-engine/CMakeLists.txt
-index a282cb4..abb4de4 100644
---- a/inference-engine/CMakeLists.txt
-+++ b/inference-engine/CMakeLists.txt
-@@ -70,3 +70,5 @@ if (ENABLE_PYTHON)
- endif()
-
- add_cpplint_report_target()
-+
-+install(DIRECTORY samples DESTINATION share/doc/inference_engine)
-diff --git a/inference-engine/cmake/config.cmake.in b/inference-engine/cmake/config.cmake.in
-index ebe82ee..0d7e6a4 100644
---- a/inference-engine/cmake/config.cmake.in
-+++ b/inference-engine/cmake/config.cmake.in
-@@ -7,6 +7,7 @@ if(DEFINED IE_MAIN_SOURCE_DIR AND TARGET inference_engine)
- set(InferenceEngine_LIBRARIES inference_engine)
- else()
- include("${CMAKE_CURRENT_LIST_DIR}/targets.cmake")
-+ include("${CMAKE_CURRENT_LIST_DIR}/targets_cpu_extension.cmake")
- if(NOT WIN32)
- set_target_properties(IE::inference_engine PROPERTIES INTERFACE_COMPILE_OPTIONS "-Wno-error=deprecated-declarations")
- endif()
-diff --git a/inference-engine/ie_bridges/python/CMakeLists.txt b/inference-engine/ie_bridges/python/CMakeLists.txt
-index bba853f..444cce9 100644
---- a/inference-engine/ie_bridges/python/CMakeLists.txt
-+++ b/inference-engine/ie_bridges/python/CMakeLists.txt
-@@ -53,4 +53,4 @@ endif()
-
- set (PYTHON_BRIDGE_SRC_ROOT ${CMAKE_CURRENT_SOURCE_DIR})
- add_subdirectory (src/openvino/inference_engine)
--add_subdirectory (src/openvino/tools/statistics_collector)
-+#add_subdirectory (src/openvino/tools/statistics_collector)
-diff --git a/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt b/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt
-index 1f46013..d6cd112 100644
---- a/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt
-+++ b/inference-engine/ie_bridges/python/src/openvino/inference_engine/CMakeLists.txt
-@@ -29,4 +29,6 @@ ADD_CUSTOM_COMMAND (TARGET ${TARGET_NAME}
- COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/src/openvino/inference_engine/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/__init__.py
- COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/requirements.txt ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../../requirements.txt
- COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_BRIDGE_SRC_ROOT}/src/openvino/__init__.py ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/../__init__.py
--)
-\ No newline at end of file
-+)
-+
-+install(DIRECTORY ${PYTHON_BRIDGE_OUTPUT_DIRECTORY} DESTINATION lib/${PYTHON_VERSION}/site-packages/)
-diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt
-index 884b0a6..25f9f23 100644
---- a/inference-engine/samples/CMakeLists.txt
-+++ b/inference-engine/samples/CMakeLists.txt
-@@ -39,14 +39,6 @@ if(NOT(UNIX))
- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER})
- set (LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER})
- set (LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}) # compatibility issue: linux uses LIBRARY_OUTPUT_PATH, windows uses LIBRARY_OUTPUT_DIRECTORY
--else ()
-- set (CMAKE_LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
-- set (CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
-- set (CMAKE_COMPILE_PDB_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-- set (CMAKE_PDB_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-- set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE})
-- set (LIBRARY_OUTPUT_DIRECTORY ${IE_MAIN_SAMPLES_DIR}/${BIN_FOLDER}/${CMAKE_BUILD_TYPE}/lib)
-- set (LIBRARY_OUTPUT_PATH ${LIBRARY_OUTPUT_DIRECTORY}/lib)
- endif()
-
- if (WIN32)
-@@ -188,6 +180,7 @@ macro(ie_add_sample)
- if(COMMAND add_cpplint_target AND NOT IE_SAMPLE_EXCLUDE_CPPLINT)
- add_cpplint_target(${IE_SAMPLE_NAME}_cpplint FOR_TARGETS ${IE_SAMPLE_NAME})
- endif()
-+ install(TARGETS ${IE_SAMPLE_NAME} DESTINATION bin)
- endmacro()
-
-
-diff --git a/inference-engine/samples/common/format_reader/CMakeLists.txt b/inference-engine/samples/common/format_reader/CMakeLists.txt
-index a8c9caf..dffa8cb 100644
---- a/inference-engine/samples/common/format_reader/CMakeLists.txt
-+++ b/inference-engine/samples/common/format_reader/CMakeLists.txt
-@@ -40,3 +40,5 @@ set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
-
- export(TARGETS ${TARGET_NAME} NAMESPACE IE::
- APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
-+
-+install(TARGETS ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/inference-engine/src/CMakeLists.txt b/inference-engine/src/CMakeLists.txt
-index 63fda2a..3a4bc48 100644
---- a/inference-engine/src/CMakeLists.txt
-+++ b/inference-engine/src/CMakeLists.txt
-@@ -37,8 +37,10 @@ set(InferenceEngine_SRC_DIRS ${CMAKE_SOURCE_DIR}/src)
- function(set_target_cpu_flags TARGET_NAME)
- endfunction()
-
--add_subdirectory(extension EXCLUDE_FROM_ALL)
-+add_subdirectory(extension)
- add_library(IE::ie_cpu_extension ALIAS ie_cpu_extension)
-
- file(GLOB_RECURSE EXTENSION_SOURCES extension/*.cpp extension/*.hpp extension/*.h)
- add_cpplint_target(ie_cpu_extension_cpplint FOR_SOURCES ${EXTENSION_SOURCES})
-+
-+install(DIRECTORY extension DESTINATION include/inference_engine)
-diff --git a/inference-engine/src/extension/CMakeLists.txt b/inference-engine/src/extension/CMakeLists.txt
-index 799a62d..fb14ebe 100644
---- a/inference-engine/src/extension/CMakeLists.txt
-+++ b/inference-engine/src/extension/CMakeLists.txt
-@@ -49,7 +49,7 @@ set_target_properties(${TARGET_NAME} PROPERTIES OUTPUT_NAME "cpu_extension")
-
- target_link_libraries(${TARGET_NAME} PRIVATE ${InferenceEngine_LIBRARIES})
-
--target_include_directories(${TARGET_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
-+target_include_directories(${TARGET_NAME} PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>)
- set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
-
- set_target_cpu_flags(${TARGET_NAME})
-@@ -61,3 +61,6 @@ if (IE_MAIN_SOURCE_DIR)
- export(TARGETS ${TARGET_NAME} NAMESPACE IE:: APPEND FILE "${CMAKE_BINARY_DIR}/targets_developer.cmake")
- endif()
-
-+set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/InferenceEngine)
-+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+install(EXPORT ${TARGET_NAME} DESTINATION ${ConfigPackageLocation} NAMESPACE IE:: FILE targets_cpu_extension.cmake)
-diff --git a/inference-engine/src/hetero_plugin/CMakeLists.txt b/inference-engine/src/hetero_plugin/CMakeLists.txt
-index fdb1b0f..4955dc9 100644
---- a/inference-engine/src/hetero_plugin/CMakeLists.txt
-+++ b/inference-engine/src/hetero_plugin/CMakeLists.txt
-@@ -21,3 +21,5 @@ target_include_directories(${TARGET_NAME} PRIVATE
- )
-
- target_link_libraries(${TARGET_NAME} PRIVATE inference_engine ade)
-+
-+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt
-index 2604c32..54d3828 100644
---- a/inference-engine/src/inference_engine/CMakeLists.txt
-+++ b/inference-engine/src/inference_engine/CMakeLists.txt
-@@ -110,8 +110,11 @@ if(WIN32)
- endif()
-
- # Properties->C/C++->General->Additional Include Directories
--target_include_directories(${TARGET_NAME} PUBLIC ${PUBLIC_HEADERS_DIR}
-- PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}")
-+target_include_directories(${TARGET_NAME} PUBLIC
-+ $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include>
-+ $<INSTALL_INTERFACE:include/${TARGET_NAME}>
-+ PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}"
-+ "${IE_MAIN_SOURCE_DIR}/src/dumper")
-
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src")
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src")
-@@ -137,7 +140,9 @@ add_library(${TARGET_NAME}_s STATIC
- set_ie_threading_interface_for(${TARGET_NAME}_s)
-
- # Properties->C/C++->General->Additional Include Directories
--target_include_directories(${TARGET_NAME}_s PUBLIC "${PUBLIC_HEADERS_DIR}"
-+target_include_directories(${TARGET_NAME}_s PUBLIC
-+ $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include>
-+ $<INSTALL_INTERFACE:include/${TARGET_NAME}>
- PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}"
- PRIVATE "${IE_MAIN_SOURCE_DIR}/src/dumper")
-
-@@ -173,7 +178,8 @@ target_link_libraries(${TARGET_NAME}_s PRIVATE fluid
- add_cpplint_target(${TARGET_NAME}_cpplint FOR_TARGETS ${TARGET_NAME})
-
- ie_register_plugins(MAIN_TARGET ${TARGET_NAME}
-- POSSIBLE_PLUGINS MultiDevicePlugin HeteroPlugin clDNNPlugin dliaPlugin GNAPlugin MKLDNNPlugin myriadPlugin HDDLPlugin)
-+ P $<BUILD_INTERFACE:${IE_MAIN_SOURCE_DIR}/include>
-++ $<INSTALL_INTERFACE:include/${TARGET_NAME}>OSSIBLE_PLUGINS clDNNPlugin dliaPlugin GNAPlugin MKLDNNPlugin myriadPlugin)
-
- # export targets
- export(TARGETS ${TARGET_NAME} NAMESPACE IE:: FILE "${CMAKE_BINARY_DIR}/targets.cmake")
-@@ -204,3 +210,14 @@ configure_file(
- "${CMAKE_SOURCE_DIR}/cmake/share/InferenceEngineConfig-version.cmake.in"
- "${CMAKE_BINARY_DIR}/InferenceEngineDeveloperPackageConfig-version.cmake"
- COPYONLY)
-+
-+set(ConfigPackageLocation ${CMAKE_INSTALL_LIBDIR}/cmake/InferenceEngine)
-+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+install(EXPORT ${TARGET_NAME} DESTINATION ${ConfigPackageLocation} NAMESPACE IE:: FILE targets.cmake)
-+install(DIRECTORY ${PUBLIC_HEADERS_DIR}/ DESTINATION include/${TARGET_NAME} FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp")
-+install(FILES
-+ "${CMAKE_BINARY_DIR}/InferenceEngineConfig.cmake"
-+ "${CMAKE_BINARY_DIR}/InferenceEngineConfig-version.cmake"
-+ DESTINATION ${ConfigPackageLocation})
-+
-+install(FILES "$<TARGET_FILE_DIR:${TARGET_NAME}>/plugins.xml" DESTINATION /usr/share/openvino/inference-engine)
-diff --git a/inference-engine/src/inference_engine/ie_util_internal.cpp b/inference-engine/src/inference_engine/ie_util_internal.cpp
-index 1a2f078..b2668a9 100644
---- a/inference-engine/src/inference_engine/ie_util_internal.cpp
-+++ b/inference-engine/src/inference_engine/ie_util_internal.cpp
-@@ -760,9 +760,10 @@ std::string getIELibraryPath() {
- GetModuleFileNameA(hm, (LPSTR)ie_library_path, sizeof(ie_library_path));
- return getPathName(ie_library_path);
- #else
-- Dl_info info;
-- dladdr(reinterpret_cast<void *>(getIELibraryPath), &info);
-- return getPathName(info.dli_fname);
-+ //Dl_info info;
-+ //dladdr(reinterpret_cast<void *>(getIELibraryPath), &info);
-+ //return getPathName(info.dli_fname);
-+ return "/usr/share/openvino/inference-engine";
- #endif
- }
-
-diff --git a/inference-engine/src/mkldnn_plugin/CMakeLists.txt b/inference-engine/src/mkldnn_plugin/CMakeLists.txt
-index d767724..80d33e6 100644
---- a/inference-engine/src/mkldnn_plugin/CMakeLists.txt
-+++ b/inference-engine/src/mkldnn_plugin/CMakeLists.txt
-@@ -69,3 +69,4 @@ target_compile_definitions(test_${TARGET_NAME} PUBLIC -DMKLDNN_THR=${MKLDNN_THR}
- target_link_libraries(test_${TARGET_NAME} PRIVATE inference_engine_s mkldnn)
-
- set_target_properties(test_${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME test_${TARGET_NAME})
-+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt
-index 7023513..b533f07 100644
---- a/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt
-+++ b/inference-engine/src/vpu/myriad_plugin/CMakeLists.txt
-@@ -36,3 +36,5 @@ endif()
- target_link_libraries(${TARGET_NAME}
- PRIVATE
- ${INTEL_ITT_LIBS} inference_engine vpu_graph_transformer mvnc)
-+
-+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-diff --git a/inference-engine/tests/unit/CMakeLists.txt b/inference-engine/tests/unit/CMakeLists.txt
-index 8180802..2d37b1e 100644
---- a/inference-engine/tests/unit/CMakeLists.txt
-+++ b/inference-engine/tests/unit/CMakeLists.txt
-@@ -122,3 +122,5 @@ add_test(NAME ${TARGET_NAME}
- COMMAND ${TARGET_NAME})
-
- add_dependencies(${TARGET_NAME} mock_engine)
-+
-+install(TARGETS ${TARGET_NAME} DESTINATION ${CMAKE_INSTALL_BINDIR})
---
-2.7.4
-
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-cmake-Fix-overloaded-virtual-error.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-cmake-Fix-overloaded-virtual-error.patch
new file mode 100644
index 00000000..e0967d55
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-cmake-Fix-overloaded-virtual-error.patch
@@ -0,0 +1,33 @@
+From 900eeeb2953095e651270c0f42ccd8b26fd7885c Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Wed, 29 Nov 2023 12:49:35 +0530
+Subject: [PATCH 3/4] cmake: Fix overloaded-virtual error
+
+* Remove -Werror for:
+|git/src/plugins/intel_gpu/src/kernel_selector/jitter.h:129:28: error: 'virtual kernel_selector::JitDefinitions kernel_selector::JitConstant::GetDefinitions() const' was hidden [-Werror=overloaded-virtual=]
+| 129 | virtual JitDefinitions GetDefinitions() const = 0;
+| |
+
+Upstream-Status: Pending
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ src/plugins/intel_gpu/CMakeLists.txt | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/plugins/intel_gpu/CMakeLists.txt b/src/plugins/intel_gpu/CMakeLists.txt
+index b0c66a435d6..a3037147cc2 100644
+--- a/src/plugins/intel_gpu/CMakeLists.txt
++++ b/src/plugins/intel_gpu/CMakeLists.txt
+@@ -38,7 +38,7 @@ add_subdirectory(thirdparty)
+ include(thirdparty/cmake/rapidjson.cmake)
+
+ if(CMAKE_COMPILER_IS_GNUCXX)
+- ov_add_compiler_flags(-Werror)
++ #ov_add_compiler_flags(-Werror)
+ endif()
+
+ add_subdirectory(src/runtime)
+--
+2.34.1
+
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-use-GNUInstallDirs-on-nix.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-use-GNUInstallDirs-on-nix.patch
deleted file mode 100644
index c6371181..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0003-use-GNUInstallDirs-on-nix.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 32c30549fa821b0df3f5f7fdf33d7989a9f1a776 Mon Sep 17 00:00:00 2001
-From: Kevron Rees <kevron.m.rees@intel.com>
-Date: Wed, 3 Apr 2019 09:20:48 -0700
-Subject: [PATCH 3/7] use GNUInstallDirs on *nix
-
-Upstream-Status: Submitted [Patch taken from Clear Linux and has been submitted
-upstream]
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- inference-engine/thirdparty/clDNN/CMakeLists.txt | 3 +-
- .../thirdparty/clDNN/src/CMakeLists.txt | 36 +++++++++++++++++-----
- 2 files changed, 31 insertions(+), 8 deletions(-)
-
-diff --git a/inference-engine/thirdparty/clDNN/CMakeLists.txt b/inference-engine/thirdparty/clDNN/CMakeLists.txt
-index c39fe5c..03e5bad 100644
---- a/inference-engine/thirdparty/clDNN/CMakeLists.txt
-+++ b/inference-engine/thirdparty/clDNN/CMakeLists.txt
-@@ -93,7 +93,8 @@ set(CLDNN__GTEST_DIR "${CLDNN__COMMON_DIR}/googletest-fused")
- # Build targets settings.
-
- # Path which points to default root directory for compilation output.
--set(CLDNN_BUILD__DEFAULT_OUT_ROOT "${CMAKE_CURRENT_SOURCE_DIR}/build/out")
-+set(CLDNN_BUILD__DEFAULT_OUT_ROOT "${CMAKE_BINARY_DIR}")
-+set(CLDNN__OUTPUT_DIR, "${CMAKE_BINARY_DIR}")
-
- # Prefix for all targets in internal pass.
- set(CLDNN_BUILD__PROJ_NAME_PREFIX "")
-diff --git a/inference-engine/thirdparty/clDNN/src/CMakeLists.txt b/inference-engine/thirdparty/clDNN/src/CMakeLists.txt
-index 99e947e..fb25578 100644
---- a/inference-engine/thirdparty/clDNN/src/CMakeLists.txt
-+++ b/inference-engine/thirdparty/clDNN/src/CMakeLists.txt
-@@ -206,17 +206,39 @@ target_link_libraries("${CLDNN_BUILD__PROJ}" PRIVATE ${CLDNN__SYSTEM_LINK_LIBRAR
-
- # ========================================== Installation ==============================================
-
-+if(UNIX)
-+ include(GNUInstallDirs)
-+endif(UNIX)
-+
-+
- # API headers.
--install(DIRECTORY "${CLDNN__API_DIR}/"
-+if(UNIX)
-+ install(DIRECTORY "${CLDNN__API_DIR}/"
-+ DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/clDNN"
-+ FILE_PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
-+ )
-+else()
-+ install(DIRECTORY "${CLDNN__API_DIR}/"
- DESTINATION "include/clDNN"
- FILE_PERMISSIONS OWNER_WRITE OWNER_READ GROUP_READ WORLD_READ
- )
-+endif(UNIX)
-+
- # Binaries.
--install(TARGETS "${CLDNN_BUILD__PROJ}"
-- ARCHIVE DESTINATION "lib"
-- LIBRARY DESTINATION "lib"
-- RUNTIME DESTINATION "bin"
-- INCLUDES DESTINATION "include/clDNN"
-- )
-+if(UNIX)
-+ install(TARGETS "${CLDNN_BUILD__PROJ}"
-+ ARCHIVE DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
-+ LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}"
-+ RUNTIME DESTINATION "${CMAKE_INSTALL_FULL_BINDIR}"
-+ INCLUDES DESTINATION "${CMAKE_INSTALL_FULL_INCLUDEDIR}/clDNN"
-+ )
-+else()
-+ install(TARGETS "${CLDNN_BUILD__PROJ}"
-+ ARCHIVE DESTINATION "lib"
-+ LIBRARY DESTINATION "lib"
-+ RUNTIME DESTINATION "bin"
-+ INCLUDES DESTINATION "include/clDNN"
-+ )
-+endif(UNIX)
-
- # ======================================================================================================
---
-2.7.4
-
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-disable-werror.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-disable-werror.patch
deleted file mode 100644
index ca912fdf..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-disable-werror.patch
+++ /dev/null
@@ -1,97 +0,0 @@
-From 1ca4d5de754c6ee90f685f2706f657800cad8386 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Fri, 27 Sep 2019 20:32:08 +0800
-Subject: [PATCH 4/7] disable werror
-
-This shouldn't be enabled and leads to multiple errors when compiling
-cldnn and samples.
-
-Upstream-Status: Pending
-
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
-Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
----
- inference-engine/cmake/os_flags.cmake | 1 -
- inference-engine/samples/CMakeLists.txt | 1 -
- inference-engine/src/extension/CMakeLists.txt | 1 -
- inference-engine/thirdparty/clDNN/CMakeLists.txt | 2 --
- inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake | 1 -
- inference-engine/tools/CMakeLists.txt | 1 -
- 6 files changed, 7 deletions(-)
-
-diff --git a/inference-engine/cmake/os_flags.cmake b/inference-engine/cmake/os_flags.cmake
-index ad15859..d471246 100644
---- a/inference-engine/cmake/os_flags.cmake
-+++ b/inference-engine/cmake/os_flags.cmake
-@@ -47,7 +47,6 @@ if (WIN32)
- set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${DEBUG_SYMBOLS_LINKER_FLAGS}")
- endif()
- else()
-- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror -Werror=return-type ")
- if (APPLE)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unused-command-line-argument")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-function")
-diff --git a/inference-engine/samples/CMakeLists.txt b/inference-engine/samples/CMakeLists.txt
-index 25f9f23..9aa5d5a 100644
---- a/inference-engine/samples/CMakeLists.txt
-+++ b/inference-engine/samples/CMakeLists.txt
-@@ -59,7 +59,6 @@ if (WIN32)
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4275 /wd4267") #disable some warnings
- endif()
- else()
-- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") #treating warnings as errors
- if (APPLE)
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-error=unused-command-line-argument")
- elseif(UNIX)
-diff --git a/inference-engine/src/extension/CMakeLists.txt b/inference-engine/src/extension/CMakeLists.txt
-index fb14ebe..228bb8c 100644
---- a/inference-engine/src/extension/CMakeLists.txt
-+++ b/inference-engine/src/extension/CMakeLists.txt
-@@ -25,7 +25,6 @@ if (WIN32)
- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4251 /wd4275 /wd4267") #disable some warnings
- endif()
- else()
-- set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
- endif()
-
- if (${CMAKE_CXX_COMPILER_ID} STREQUAL GNU)
-diff --git a/inference-engine/thirdparty/clDNN/CMakeLists.txt b/inference-engine/thirdparty/clDNN/CMakeLists.txt
-index 03e5bad..b9a3f5d 100644
---- a/inference-engine/thirdparty/clDNN/CMakeLists.txt
-+++ b/inference-engine/thirdparty/clDNN/CMakeLists.txt
-@@ -760,8 +760,6 @@ foreach(__CLDNN_CompilerFlagName IN ITEMS "CMAKE_CXX_FLAGS" "CMAKE_C_FLAGS")
- MultiProcessorCompilation
- DeadCodeEliminate
- ExtensionsEnabled
-- TreatWarnAsErrorEnabled
-- WarnLevel4
- NoFastMath
- StackProtector
- )
-diff --git a/inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake b/inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake
-index a541215..bed8a59 100644
---- a/inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake
-+++ b/inference-engine/thirdparty/mkl-dnn/cmake/platform.cmake
-@@ -63,7 +63,6 @@ if(MSVC)
- endif()
- elseif(UNIX OR MINGW)
- append(CMAKE_CCXX_FLAGS "-Wall -Wno-unknown-pragmas")
-- append_if_product(CMAKE_CCXX_FLAGS "-Werror")
- append(CMAKE_CCXX_FLAGS "-fvisibility=internal")
- append(CMAKE_C_FLAGS "-std=c99")
- append(CMAKE_CXX_FLAGS "-std=c++11 -fvisibility-inlines-hidden")
-diff --git a/inference-engine/tools/CMakeLists.txt b/inference-engine/tools/CMakeLists.txt
-index 3d80df3..b6cb7d8 100644
---- a/inference-engine/tools/CMakeLists.txt
-+++ b/inference-engine/tools/CMakeLists.txt
-@@ -24,7 +24,6 @@ endif()
- if (WIN32)
- # add_compile_options("/WX")
- else()
-- add_compile_options("-Werror")
- endif()
-
- if (ENABLE_OPENCV)
---
-2.7.4
-
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-protobuf-allow-target-protoc-to-be-built.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-protobuf-allow-target-protoc-to-be-built.patch
new file mode 100644
index 00000000..59095133
--- /dev/null
+++ b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0004-protobuf-allow-target-protoc-to-be-built.patch
@@ -0,0 +1,45 @@
+From 3e288ed876c6bcb6aa3174e52446b479255ddf22 Mon Sep 17 00:00:00 2001
+From: Anuj Mittal <anuj.mittal@intel.com>
+Date: Wed, 29 Nov 2023 12:55:19 +0530
+Subject: [PATCH 4/4] protobuf: allow target protoc to be built
+
+We can run target binaries using a qemu wrapper so allow these to be
+built and run.
+
+Upstream-Status: Inappropriate
+
+Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
+---
+ cmake/developer_package/frontends/frontends.cmake | 2 +-
+ thirdparty/protobuf/CMakeLists.txt | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/cmake/developer_package/frontends/frontends.cmake b/cmake/developer_package/frontends/frontends.cmake
+index 49c5b881030..2a1ea8562bc 100644
+--- a/cmake/developer_package/frontends/frontends.cmake
++++ b/cmake/developer_package/frontends/frontends.cmake
+@@ -143,7 +143,7 @@ macro(ov_add_frontend)
+ set(OUTPUT_PB_HEADER ${CMAKE_CURRENT_BINARY_DIR}/${relative_path}/${FILE_WE}.pb.h)
+ add_custom_command(
+ OUTPUT "${OUTPUT_PB_SRC}" "${OUTPUT_PB_HEADER}"
+- COMMAND ${PROTOC_EXECUTABLE} ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file}
++ COMMAND protoc ARGS --cpp_out ${CMAKE_CURRENT_BINARY_DIR} -I ${protofiles_root_dir} ${proto_file}
+ DEPENDS ${PROTOC_DEPENDENCY} ${proto_file}
+ COMMENT "Running C++ protocol buffer compiler (${PROTOC_EXECUTABLE}) on ${proto_file_relative}"
+ VERBATIM
+diff --git a/thirdparty/protobuf/CMakeLists.txt b/thirdparty/protobuf/CMakeLists.txt
+index 4b6d6da87f3..409e492a5b3 100644
+--- a/thirdparty/protobuf/CMakeLists.txt
++++ b/thirdparty/protobuf/CMakeLists.txt
+@@ -28,7 +28,7 @@ set(ABSL_PROPAGATE_CXX_STD ON CACHE BOOL "Abseil protogate CXX standard to depen
+ if(CMAKE_CROSSCOMPILING OR
+ (APPLE AND (HOST_X86_64 AND AARCH64)) OR
+ (MSVC AND (HOST_X86_64 AND (AARCH64 OR ARM))))
+- set(protobuf_BUILD_PROTOC_BINARIES OFF CACHE BOOL "Build protoc binaries" FORCE)
++ set(protobuf_BUILD_PROTOC_BINARIES ON CACHE BOOL "Build protoc binaries" FORCE)
+ else()
+ set(protobuf_BUILD_PROTOC_BINARIES ON CACHE BOOL "Build protoc binaries" FORCE)
+ endif()
+--
+2.34.1
+
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-point-to-correct-location-of-ngraph-headers.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-point-to-correct-location-of-ngraph-headers.patch
deleted file mode 100644
index 0a01f5ac..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0005-point-to-correct-location-of-ngraph-headers.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From c17cee8005b9635699feea98bfc34ede340daf07 Mon Sep 17 00:00:00 2001
-From: Anuj Mittal <anuj.mittal@intel.com>
-Date: Fri, 27 Sep 2019 23:06:18 +0800
-Subject: [PATCH 5/7] point to correct location of ngraph headers
-
-Upstream-Status: Pending
-Signed-off-by: Anuj Mittal <anuj.mittal@intel.com>
----
- inference-engine/src/inference_engine/CMakeLists.txt | 2 +-
- inference-engine/tests/unit/CMakeLists.txt | 3 ++-
- 2 files changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/inference-engine/src/inference_engine/CMakeLists.txt b/inference-engine/src/inference_engine/CMakeLists.txt
-index 54d3828..4a9bedf 100644
---- a/inference-engine/src/inference_engine/CMakeLists.txt
-+++ b/inference-engine/src/inference_engine/CMakeLists.txt
-@@ -119,7 +119,7 @@ target_include_directories(${TARGET_NAME} PUBLIC
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src")
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src")
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/ocv")
--include_directories(${TARGET_NAME} "/usr/include/ngraph")
-+include_directories(${TARGET_NAME} "${NGRAPH_INCLUDES}")
-
- if(ENABLE_MKL_DNN)
- target_include_directories(${TARGET_NAME} SYSTEM PRIVATE "${IE_MAIN_SOURCE_DIR}/thirdparty/mkl-dnn/src/cpu/xbyak")
-diff --git a/inference-engine/tests/unit/CMakeLists.txt b/inference-engine/tests/unit/CMakeLists.txt
-index 2d37b1e..b98d5a6 100644
---- a/inference-engine/tests/unit/CMakeLists.txt
-+++ b/inference-engine/tests/unit/CMakeLists.txt
-@@ -83,7 +83,8 @@ target_include_directories(${TARGET_NAME} PRIVATE
- ${IE_MAIN_SOURCE_DIR}/src/extension
- ${IE_MAIN_SOURCE_DIR}/src/extension/common
- ${IE_MAIN_SOURCE_DIR}/thirdparty/ngraph/src
-- "${CMAKE_CURRENT_SOURCE_DIR}/mocks")
-+ "${CMAKE_CURRENT_SOURCE_DIR}/mocks"
-+ ${NGRAPH_INCLUDES})
-
- set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_PDB_NAME ${TARGET_NAME})
-
---
-2.7.4
-
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch
deleted file mode 100644
index b0c0a5d4..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0006-Install-clDNN-plugin-to-CMAKE_INSTALL_LIBDIR.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From e41aafcd133ecf7215e941e01a58fcacd5c91bd7 Mon Sep 17 00:00:00 2001
-From: Chin Huat Ang <chin.huat.ang@intel.com>
-Date: Mon, 30 Sep 2019 13:50:45 +0800
-Subject: [PATCH 6/7] Install clDNN plugin to CMAKE_INSTALL_LIBDIR
-
-Upstream-Status: Pending
-Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
----
- inference-engine/src/cldnn_engine/CMakeLists.txt | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/inference-engine/src/cldnn_engine/CMakeLists.txt b/inference-engine/src/cldnn_engine/CMakeLists.txt
-index b618084..7bdb311 100644
---- a/inference-engine/src/cldnn_engine/CMakeLists.txt
-+++ b/inference-engine/src/cldnn_engine/CMakeLists.txt
-@@ -22,6 +22,8 @@ target_include_directories(${TARGET_NAME} PRIVATE
- ${IE_MAIN_SOURCE_DIR}/src/inference_engine
- ${IE_MAIN_SOURCE_DIR}/thirdparty/pugixml/src)
-
-+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
-+
- # copy default global xml file describing the custom kernels and the *.cl files
-
- add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
---
-2.7.4
-
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch
deleted file mode 100644
index 2a2b1ba3..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0007-Install-mock_engine-to-CMAKE_INSTALL_LIBDIR.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 41c81231a9f3222423510f2b6b10f4e7024150de Mon Sep 17 00:00:00 2001
-From: Chin Huat Ang <chin.huat.ang@intel.com>
-Date: Wed, 16 Oct 2019 13:06:26 +0800
-Subject: [PATCH 7/7] Install mock_engine to CMAKE_INSTALL_LIBDIR
-
-Upstream-Status: Pending
-Signed-off-by: Chin Huat Ang <chin.huat.ang@intel.com>
----
- inference-engine/tests/mock_engine/CMakeLists.txt | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/inference-engine/tests/mock_engine/CMakeLists.txt b/inference-engine/tests/mock_engine/CMakeLists.txt
-index a0f77cf..e23b93a 100644
---- a/inference-engine/tests/mock_engine/CMakeLists.txt
-+++ b/inference-engine/tests/mock_engine/CMakeLists.txt
-@@ -38,3 +38,5 @@ target_compile_definitions(${TARGET_NAME} PRIVATE IMPLEMENT_INFERENCE_ENGINE_API
- set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD 11)
- set_property(TARGET ${TARGET_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
- set_property(TARGET ${TARGET_NAME} PROPERTY COMPILE_PDB_NAME ${TARGET_NAME})
-+
-+install(TARGETS ${TARGET_NAME} EXPORT ${TARGET_NAME} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
---
-2.7.4
-
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0008-Simplify-searching-for-firmware-files.patch b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0008-Simplify-searching-for-firmware-files.patch
deleted file mode 100644
index a4c75ff3..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/0008-Simplify-searching-for-firmware-files.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 1f6f05ae4d3fba95ccc34a4622d06b9d2bf88e80 Mon Sep 17 00:00:00 2001
-From: Martin Jansa <Martin.Jansa@gmail.com>
-Date: Fri, 27 Sep 2019 11:34:36 +0800
-Subject: [PATCH] Simplify searching for firmware files
-
-Disable runtime fetching when VPU_FIRMWARE_*_FILE variables are defined
-and point to already fetched firmware instead.
-
-Do it all in one foreach loop.
-
-Upstream-Status: Submitted [https://github.com/opencv/dldt/pull/302]
-
-Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
----
- inference-engine/cmake/vpu_dependencies.cmake | 63 ++++++-------------
- 1 file changed, 20 insertions(+), 43 deletions(-)
-
-diff --git a/inference-engine/cmake/vpu_dependencies.cmake b/inference-engine/cmake/vpu_dependencies.cmake
-index 1550163d..e0bc844e 100644
---- a/inference-engine/cmake/vpu_dependencies.cmake
-+++ b/inference-engine/cmake/vpu_dependencies.cmake
-@@ -4,52 +4,29 @@
-
- set(VPU_SUPPORTED_SOC ma2450 ma2x8x mv0262)
-
--#
--# Default firmware packages
--#
--
--RESOLVE_DEPENDENCY(VPU_FIRMWARE_MA2450
-- ARCHIVE_UNIFIED firmware_ma2450_759W.zip
-- TARGET_PATH "${TEMP}/vpu/firmware/ma2450"
-- ENVIRONMENT "VPU_FIRMWARE_MA2450"
-- FOLDER)
--debug_message(STATUS "ma2450=" ${VPU_FIRMWARE_MA2450})
--
--RESOLVE_DEPENDENCY(VPU_FIRMWARE_MV0262
-- ARCHIVE_UNIFIED firmware_mv0262_mdk_R9.8.zip
-- TARGET_PATH "${TEMP}/vpu/firmware/mv0262"
-- ENVIRONMENT "VPU_FIRMWARE_MV0262"
-- FOLDER)
--debug_message(STATUS "mv0262=" ${VPU_FIRMWARE_MV0262})
--
--RESOLVE_DEPENDENCY(VPU_FIRMWARE_MA2X8X
-- ARCHIVE_UNIFIED firmware_ma2x8x_mdk_R9.8.zip
-- TARGET_PATH "${TEMP}/vpu/firmware/ma2x8x"
-- ENVIRONMENT "VPU_FIRMWARE_MA2X8X"
-- FOLDER)
--debug_message(STATUS "ma2x8x=" ${VPU_FIRMWARE_MA2X8X})
--
--#
--# CMake variables to override default firmware files
--#
--
- foreach(soc IN LISTS VPU_SUPPORTED_SOC)
- string(TOUPPER "${soc}" soc_upper)
-- set(var_name VPU_FIRMWARE_${soc_upper}_FILE)
-+ set(var_name_file VPU_FIRMWARE_${soc_upper}_FILE)
-+ set(var_name VPU_FIRMWARE_${soc_upper})
-+ set(var_name_zip firmware_${soc}_mdk_R9.8.zip)
-+ if(${soc} STREQUAL "ma2450")
-+ set(var_name_zip firmware_${soc}_759W.zip)
-+ endif()
-
-- find_file(${var_name} MvNCAPI-${soc}.mvcmd "${VPU_FIRMWARE_${soc_upper}}/mvnc")
-- if(NOT ${var_name})
-- message(FATAL_ERROR "[VPU] Missing ${soc} firmware")
-+ if(NOT DEFINED ${var_name_file})
-+ RESOLVE_DEPENDENCY(${var_name}
-+ ARCHIVE_UNIFIED ${var_name_zip}
-+ TARGET_PATH "${TEMP}/vpu/firmware/${soc}"
-+ ENVIRONMENT "${var_name}"
-+ FOLDER)
-+ find_file(${var_name_file} NAMES "MvNCAPI-${soc}.mvcmd" PATHS "${VPU_FIRMWARE_${soc_upper}}/mvnc" NO_CMAKE_FIND_ROOT_PATH)
- endif()
--endforeach()
-
--#
--# `vpu_copy_firmware` CMake target
--#
-+ if(NOT ${var_name_file})
-+ message(FATAL_ERROR "[VPU] Missing ${soc} firmware, MvNCAPI-${soc}.mvcmd not found in ${VPU_FIRMWARE_${soc_upper}}/mvnc env $ENV{${var_name}} ")
-+ endif()
-
--foreach(soc IN LISTS VPU_SUPPORTED_SOC)
-- string(TOUPPER "${soc}" soc_upper)
-- set(var_name VPU_FIRMWARE_${soc_upper}_FILE)
-+ debug_message(STATUS "${soc}=" ${${var_name_file}})
-
- set(firmware_out_file "${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/MvNCAPI-${soc}.mvcmd")
- list(APPEND all_firmware_files ${firmware_out_file})
-@@ -57,9 +34,9 @@ foreach(soc IN LISTS VPU_SUPPORTED_SOC)
- add_custom_command(
- OUTPUT ${firmware_out_file}
- COMMAND
-- ${CMAKE_COMMAND} -E copy ${${var_name}} ${firmware_out_file}
-- MAIN_DEPENDENCY ${${var_name}}
-- COMMENT "[VPU] Copy ${${var_name}} to ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
-+ ${CMAKE_COMMAND} -E copy ${${var_name_file}} ${firmware_out_file}
-+ MAIN_DEPENDENCY ${${var_name_file}}
-+ COMMENT "[VPU] Copy ${${var_name_file}} to ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}"
- VERBATIM)
- endforeach()
-
diff --git a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest b/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest
deleted file mode 100644
index 92f238a9..00000000
--- a/dynamic-layers/openembedded-layer/recipes-support/opencv/files/run-ptest
+++ /dev/null
@@ -1,13 +0,0 @@
-#!/bin/sh
-
-# InferenceEngineUnitTests requires libmock_engine.so, since they are
-# installed in the same directory we will need to set LD_LIBRARY_PATH
-# so that libmock_engine.so is picked up correctly. We also assume that
-# this script is only execute within the same directory where it is
-# installed.
-
-export LD_LIBRARY_PATH=.
-
-./InferenceEngineUnitTests |sed \
- -e 's|\[.*OK.*\]\(.*\)|PASS:\1|' \
- -e 's|\[.*FAILED.*\]\(.*\)|FAIL:\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/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/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.3.0.bb b/recipes-core/libxcam/libxcam_1.5.0.bb
index 1bf00286..31e9344b 100644
--- a/recipes-core/libxcam/libxcam_1.3.0.bb
+++ b/recipes-core/libxcam/libxcam_1.5.0.bb
@@ -7,11 +7,12 @@ SECTION = "lib"
inherit autotools pkgconfig
S = "${WORKDIR}/git"
-SRCREV = "90f386c44fdfc550d0c81697cf070b3249bef4dd"
-SRC_URI = "git://github.com/intel/libxcam.git;branch=1.3.0 \
- "
+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)} \
@@ -27,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_20191112.bb b/recipes-core/microcode/intel-microcode_20240312.bb
index ea7b2ac5..00b18231 100644
--- a/recipes-core/microcode/intel-microcode_20191112.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 = "bd812496d33c807b8173fb977143da8285c66cb4"
+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.1.bb b/recipes-core/mkl-dnn/mkl-dnn_1.1.bb
deleted file mode 100644
index b4fa4167..00000000
--- a/recipes-core/mkl-dnn/mkl-dnn_1.1.bb
+++ /dev/null
@@ -1,55 +0,0 @@
-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=477df9cc728dd9c63128c0f3525f4649 \
- file://tests/gtests/gtest/LICENSE;md5=cbbd27594afd089daa160d3a16dd515a \
- file://src/cpu/xbyak/COPYRIGHT;md5=3b9bf048d063d54cdb28964db558bcc7 \
- file://src/cpu/jit_utils/jitprofiling/LICENSE.BSD;md5=e671ff178b24a95a382ba670503c66fb \
- file://cmake/Copyright.txt;md5=622747147b46f22e1953876a7cba3323 \
- file://doc/assets/mathjax/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
- file://src/common/LICENSE_1_0;md5=e4224ccaecb14d942c71d31bef20d78c \
- "
-SECTION = "lib"
-
-inherit pkgconfig cmake ptest
-
-S = "${WORKDIR}/git"
-SRCREV = "dc6c0f3897c910a6ccba7f1db1f8d6f318c04f16"
-SRC_URI = "git://github.com/intel/mkl-dnn.git;branch=rls-v1.1 \
- 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"
-EXTRA_OECMAKE += "-DDNNL_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..825c1f18
--- /dev/null
+++ b/recipes-graphics/gmmlib/files/0001-Add-new-DG2-device-IDs-194.patch
@@ -0,0 +1,37 @@
+From 8729d66800995a9b7e693bd78249932bd12383e1 Mon Sep 17 00:00:00 2001
+From: John Machado <john.machado@intel.com>
+Date: Mon, 25 Mar 2024 11:13:27 +0530
+Subject: [PATCH] Add new DG2 device IDs (#194)
+
+Upstream-Status: Backport [https://github.com/intel/gmmlib/commit/dcc4b85ea3728c848b62fbb164c00f43b519b6fb]
+
+Signed-off-by: Hoe, Sheng Yang <sheng.yang.hoe@intel.com>
+---
+ Source/inc/common/igfxfmid.h | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/Source/inc/common/igfxfmid.h b/Source/inc/common/igfxfmid.h
+index 7969779..8e2c955 100644
+--- a/Source/inc/common/igfxfmid.h
++++ b/Source/inc/common/igfxfmid.h
+@@ -1932,6 +1932,8 @@ typedef enum __NATIVEGTTYPE
+ #define DEV_ID_56BB 0x56BB
+ #define DEV_ID_56BC 0x56BC
+ #define DEV_ID_56BD 0x56BD
++#define DEV_ID_56BE 0x56BE
++#define DEV_ID_56BF 0x56BF
+ #define DEV_ID_56C0 0x56C0
+ #define DEV_ID_56C1 0x56C1
+
+@@ -1992,6 +1994,8 @@ typedef enum __NATIVEGTTYPE
+ ( d == DEV_ID_5690 ) || \
+ ( d == DEV_ID_5691 ) || \
+ ( d == DEV_ID_5692 ) || \
++ ( d == DEV_ID_56BE ) || \
++ ( d == DEV_ID_56BF ) || \
+ ( d == DEV_ID_56C0 ) || \
+ ( d == DEV_ID_4F80 ) || \
+ ( d == DEV_ID_4F81 ) || \
+--
+2.34.1
+
diff --git a/recipes-graphics/gmmlib/files/0001-Introduce-ARL-H-support-172.patch b/recipes-graphics/gmmlib/files/0001-Introduce-ARL-H-support-172.patch
new file mode 100644
index 00000000..ab4cb178
--- /dev/null
+++ b/recipes-graphics/gmmlib/files/0001-Introduce-ARL-H-support-172.patch
@@ -0,0 +1,42 @@
+From 2b267b72d6aaa922861b120da9c1543161797046 Mon Sep 17 00:00:00 2001
+From: John Machado <john.machado@intel.com>
+Date: Fri, 9 Feb 2024 13:10:18 +0530
+Subject: [PATCH] Introduce ARL-H support (#172)
+
+Upstream-Status: Backport [https://github.com/intel/gmmlib/commit/544a8be6f66631e085c86c453aafd78b0e7f5179]
+Signed-off-by: Lim Siew Hoon <siew.hoon.lim@intel.com>
+---
+ Source/inc/common/igfxfmid.h | 10 ++++++++++
+ 1 file changed, 10 insertions(+)
+
+diff --git a/Source/inc/common/igfxfmid.h b/Source/inc/common/igfxfmid.h
+index 99fc624..19aa505 100644
+--- a/Source/inc/common/igfxfmid.h
++++ b/Source/inc/common/igfxfmid.h
+@@ -1966,6 +1966,11 @@ typedef enum __NATIVEGTTYPE
+ // ARL-S
+ #define DEV_ID_7D67 0x7D67
+
++// ARL-H
++#define DEV_ID_7D41 0x7D41
++#define DEV_ID_7D51 0x7D51
++#define DEV_ID_7DD1 0x7DD1
++
+ #define MGM_HAS 0
+
+ //#define SDG_HAS 1 //Reserve place for Springdale-G HAS
+@@ -2012,6 +2017,11 @@ typedef enum __NATIVEGTTYPE
+ // Macro to identify ARL-S Device ID
+ #define GFX_IS_ARL_S(d) ( ( d == DEV_ID_7D67 ) )
+
++// Macro to identify ARL-H Device ID
++#define GFX_IS_ARL_H(d) ( ( d == DEV_ID_7D41 ) || \
++ ( d == DEV_ID_7D51 ) || \
++ ( d == DEV_ID_7DD1 ))
++
+ //we define the highest cap and lower cap of stepping IDs
+ #define SI_REV_ID(lo,hi) (lo | hi<<16)
+
+--
+2.40.1
+
diff --git a/recipes-graphics/gmmlib/gmmlib_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.3.0.bb b/recipes-graphics/hdcp/hdcp_21.2.0.bb
index 12775f97..8529b5ab 100644
--- a/recipes-graphics/hdcp/hdcp_19.3.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 = "9ba9511d3a5bea41442ba8507f378b931caf8981"
+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/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch b/recipes-graphics/metrics-discovery/metrics-discovery/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch
deleted file mode 100644
index d97c6543..00000000
--- a/recipes-graphics/metrics-discovery/metrics-discovery/0001-md_internal.h-Replace-string.h-with-string-C-header-.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 8c11096a0e5cf980309692ae3e272108da5f2b4e Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Wed, 9 Oct 2019 11:36:56 -0700
-Subject: [PATCH] md_internal.h: Replace string.h with <string> C++ header API
-
-This helps in compiling with libc++/Clang
-Fixes
-usr/include/c++/v1/type_traits:1561:38: error: implicit instantiation of undefined template 'std::__1::hash<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >'
-: public integral_constant<bool, __is_empty(_Tp)> {};
-^
-
-Upstream-Status: Submitted [https://github.com/intel/metrics-discovery/pull/14]
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
- instrumentation/metrics_discovery/common/md_internal.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/instrumentation/metrics_discovery/common/md_internal.cpp b/instrumentation/metrics_discovery/common/md_internal.cpp
-index f9571ac..0767e81 100644
---- a/instrumentation/metrics_discovery/common/md_internal.cpp
-+++ b/instrumentation/metrics_discovery/common/md_internal.cpp
-@@ -27,8 +27,8 @@
- \*****************************************************************************/
- #include "md_internal.h"
-
--#include <string.h>
- #include <stdlib.h>
-+#include <string>
- #include <new>
- #include <unordered_map>
-
---
-2.23.0
-
diff --git a/recipes-graphics/metrics-discovery/metrics-discovery_1.5.108.bb b/recipes-graphics/metrics-discovery/metrics-discovery_1.12.170.bb
index da7cb652..3ed1c9bd 100644
--- a/recipes-graphics/metrics-discovery/metrics-discovery_1.5.108.bb
+++ b/recipes-graphics/metrics-discovery/metrics-discovery_1.12.170.bb
@@ -8,9 +8,8 @@ SECTION = "lib"
inherit pkgconfig cmake
S = "${WORKDIR}/git"
-SRCREV = "a495db4682b7318bc82b1cccfb17fafdf2e3a2ff"
-SRC_URI = "git://github.com/intel/metrics-discovery.git \
- file://0001-md_internal.h-Replace-string.h-with-string-C-header-.patch \
+SRCREV = "75b292eb1309e4ea10dce403065ee8ca5bf29ecc"
+SRC_URI = "git://github.com/intel/metrics-discovery.git;branch=master;protocol=https \
"
EXTRA_OECMAKE += "-DMD_PLATFORM=linux"
diff --git a/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb b/recipes-graphics/xorg-driver/xf86-video-ast_1.1.6.bb
index 090efd62..d7e4eab4 100644
--- a/recipes-graphics/xorg-driver/xf86-video-ast_1.1.5.bb
+++ b/recipes-graphics/xorg-driver/xf86-video-ast_1.1.6.bb
@@ -7,6 +7,6 @@ DESCRIPTION = "ast is an Xorg driver for ASpeed Technologies video cards"
LIC_FILES_CHKSUM = "file://COPYING;md5=0b8c242f0218eea5caa949b7910a774b"
DEPENDS += "libpciaccess"
+XORG_DRIVER_COMPRESSOR = ".tar.gz"
-SRC_URI[md5sum] = "4f85febe48d51e53624550a96fc9e9ee"
-SRC_URI[sha256sum] = "1edbbc55d47d3fd71dec99b15c2483e22738c642623a0fb86ef4a81a9067a2de"
+SRC_URI[sha256sum] = "eeff52178ce2916a0e07b531bb23c8b105826b6e6e6c5f7c90e33f757827a7c7"
diff --git a/recipes-kernel/intel-ethernet/ixgbe/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 fb09e037..7ef38650 100644
--- a/recipes-kernel/intel-ethernet/ixgbe_5.6.3.bb
+++ b/recipes-kernel/intel-ethernet/ixgbe_5.19.6.bb
@@ -4,15 +4,13 @@ PCI Express* 10 Gigabit Network Connections."
HOMEPAGE = "https://sourceforge.net/projects/e1000/"
SECTION = "kernel/network"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbe%20stable/${PV}/${BP}.tar.gz \
- 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+)+)/"
@@ -20,16 +18,15 @@ 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
@@ -39,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 79856641..b21796c6 100644
--- a/recipes-kernel/intel-ethernet/ixgbevf_4.6.1.bb
+++ b/recipes-kernel/intel-ethernet/ixgbevf_4.18.7.bb
@@ -7,15 +7,13 @@ The guest OS loading this driver must support MSI-X interrupts."
HOMEPAGE = "https://sourceforge.net/projects/e1000/"
SECTION = "kernel/network"
-LICENSE = "GPLv2"
+LICENSE = "GPL-2.0-only"
LIC_FILES_CHKSUM = "file://${WORKDIR}/${BP}/COPYING;md5=a216b4192dc6b777b6f0db560e9a8417"
SRC_URI = "https://sourceforge.net/projects/e1000/files/ixgbevf%20stable/${PV}/${BP}.tar.gz \
- 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+)+)/"
@@ -23,16 +21,15 @@ 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
@@ -42,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 ddf3a1bc..00000000
--- a/recipes-kernel/linux/linux-intel-rt_4.14.bb
+++ /dev/null
@@ -1,25 +0,0 @@
-require linux-intel.inc
-
-# Skip processing of this recipe if it is not explicitly specified as the
-# PREFERRED_PROVIDER for virtual/kernel. This avoids errors when trying
-# to build multiple virtual/kernel providers, e.g. as dependency of
-# core-image-rt-sdk, core-image-rt.
-python () {
- if d.getVar("KERNEL_PACKAGE_NAME", True) == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt":
- raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it")
-}
-
-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 \
- file://0001-perf-tools-Add-Python-3-support.patch"
-
-DEPENDS += "elfutils-native openssl-native util-linux-native"
-
-LINUX_VERSION ?= "4.14.146"
-SRCREV_machine ?= "f8e35039bf37038f1cba7b125e3c4fa49745072b"
-SRCREV_meta ?= "c8f030fdbf6046dede4b7ce6c94b5b24221c250e"
-
-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 a38ac388..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("KERNEL_PACKAGE_NAME", True) == "kernel" and d.getVar("PREFERRED_PROVIDER_virtual/kernel") != "linux-intel-rt":
- raise bb.parse.SkipPackage("Set PREFERRED_PROVIDER_virtual/kernel to linux-intel-rt to enable it")
-}
-
-LIC_FILES_CHKSUM = "file://COPYING;md5=bbea815ee2795b2f4230826c0c6b8814"
-SRC_URI_append = " file://0001-menuconfig-mconf-cfg-Allow-specification-of-ncurses-.patch"
-
-KBRANCH = "4.19/preempt-rt"
-KMETA_BRANCH = "yocto-4.19"
-
-DEPENDS += "elfutils-native openssl-native util-linux-native"
-
-LINUX_VERSION ?= "4.19.72"
-SRCREV_machine ?= "cf2e1ceb823576067ce01f02f1750a45c35adae5"
-SRCREV_meta ?= "ad6f8b357720ca8167a090713b7746230cf4b314"
-
-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..342679eb
--- /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.25"
+SRCREV_machine ?= "f8939454cf9bb7277239bb44e90c99474c599f37"
+SRCREV_meta ?= "c3d1322fb6ff68cdcf4d7a3c1140d81bfdc1320a"
+
+LINUX_KERNEL_TYPE = "preempt-rt"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc"
+
+UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.6.(\d+)-rt(\d)-preempt-rt-(\d+)T(\d+)Z)$"
diff --git a/recipes-kernel/linux/linux-intel.inc b/recipes-kernel/linux/linux-intel.inc
index 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-tools-Add-Python-3-support.patch b/recipes-kernel/linux/linux-intel/0001-perf-tools-Add-Python-3-support.patch
deleted file mode 100644
index 74ce61e5..00000000
--- a/recipes-kernel/linux/linux-intel/0001-perf-tools-Add-Python-3-support.patch
+++ /dev/null
@@ -1,917 +0,0 @@
-From 8804547988bb772a00cd4bb832fe4e1a79f552b7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Jaroslav=20=C5=A0karvada?= <jskarvad@redhat.com>
-Date: Fri, 19 Jan 2018 21:56:41 +0100
-Subject: [PATCH] perf tools: Add Python 3 support
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Added Python 3 support while keeping Python 2.7 compatibility.
-
-Committer notes:
-
-This doesn't make it to auto detect python 3, one has to explicitely ask
-it to build with python 3 devel files, here are the instructions
-provided by Jaroslav:
-
- ---
- $ cp -a tools/perf tools/python3-perf
- $ make V=1 prefix=/usr -C tools/perf PYTHON=/usr/bin/python2 all
- $ make V=1 prefix=/usr -C tools/python3-perf PYTHON=/usr/bin/python3 all
- $ make V=1 prefix=/usr -C tools/python3-perf PYTHON=/usr/bin/python3 DESTDIR=%{buildroot} install-python_ext
- $ make V=1 prefix=/usr -C tools/perf PYTHON=/usr/bin/python2 DESTDIR=%{buildroot} install-python_ext
- ---
-
-We need to make this automatic, just like the existing tests for checking if
-the python2 devel files are in place, allowing the build with python3 if
-available, fallbacking to python2 and then just disabling it if none are
-available.
-
-So, using the PYTHON variable to build it using O= we get:
-
-Before this patch:
-
- $ rpm -q python3 python3-devel
- python3-3.6.4-7.fc27.x86_64
- python3-devel-3.6.4-7.fc27.x86_64
- $ rm -rf /tmp/build/perf/ ; mkdir -p /tmp/build/perf ; make O=/tmp/build/perf PYTHON=/usr/bin/python3 -C tools/perf install-bin
- make: Entering directory '/home/acme/git/linux/tools/perf'
- <SNIP>
- Makefile.config:670: Python 3 is not yet supported; please set
- Makefile.config:671: PYTHON and/or PYTHON_CONFIG appropriately.
- Makefile.config:672: If you also have Python 2 installed, then
- Makefile.config:673: try something like:
- Makefile.config:674:
- Makefile.config:675: make PYTHON=python2
- Makefile.config:676:
- Makefile.config:677: Otherwise, disable Python support entirely:
- Makefile.config:678:
- Makefile.config:679: make NO_LIBPYTHON=1
- Makefile.config:680:
- Makefile.config:681: *** . Stop.
- make[1]: *** [Makefile.perf:212: sub-make] Error 2
- make: *** [Makefile:110: install-bin] Error 2
- make: Leaving directory '/home/acme/git/linux/tools/perf'
- $
-
-After:
-
- $ make O=/tmp/build/perf PYTHON=python3 -C tools/perf install-bin
- $ ldd ~/bin/perf | grep python
- libpython3.6m.so.1.0 => /lib64/libpython3.6m.so.1.0 (0x00007f58a31e8000)
- $ rpm -qf /lib64/libpython3.6m.so.1.0
- python3-libs-3.6.4-7.fc27.x86_64
- $
-
-Now verify that when using the binding the right ELF file is loaded,
-using perf trace:
-
- $ perf trace -e open* perf test python
- 0.051 ( 0.016 ms): perf/3927 openat(dfd: CWD, filename: /etc/ld.so.cache, flags: CLOEXEC ) = 3
-<SNIP>
- 18: 'import perf' in python :
- 8.849 ( 0.013 ms): sh/3929 openat(dfd: CWD, filename: /etc/ld.so.cache, flags: CLOEXEC ) = 3
-<SNIP>
- 25.572 ( 0.008 ms): python3/3931 openat(dfd: CWD, filename: /tmp/build/perf/python/perf.cpython-36m-x86_64-linux-gnu.so, flags: CLOEXEC) = 3
-<SNIP>
- Ok
-<SNIP>
- $
-
-And using tools/perf/python/twatch.py, to show PERF_RECORD_ metaevents:
-
- $ python3 tools/perf/python/twatch.py
- cpu: 3, pid: 16060, tid: 16060 { type: fork, pid: 5207, ppid: 16060, tid: 5207, ptid: 16060, time: 10798513015459}
- cpu: 3, pid: 16060, tid: 16060 { type: fork, pid: 5208, ppid: 16060, tid: 5208, ptid: 16060, time: 10798513562503}
- cpu: 0, pid: 5208, tid: 5208 { type: comm, pid: 5208, tid: 5208, comm: grep }
- cpu: 2, pid: 5207, tid: 5207 { type: comm, pid: 5207, tid: 5207, comm: ps }
- cpu: 2, pid: 5207, tid: 5207 { type: exit, pid: 5207, ppid: 5207, tid: 5207, ptid: 5207, time: 10798551337484}
- cpu: 3, pid: 5208, tid: 5208 { type: exit, pid: 5208, ppid: 5208, tid: 5208, ptid: 5208, time: 10798551292153}
- cpu: 3, pid: 601, tid: 601 { type: fork, pid: 5209, ppid: 601, tid: 5209, ptid: 601, time: 10801779977324}
- ^CTraceback (most recent call last):
- File "tools/perf/python/twatch.py", line 68, in <module>
- main()
- File "tools/perf/python/twatch.py", line 40, in main
- evlist.poll(timeout = -1)
- KeyboardInterrupt
- $
-
- # ps ax|grep twatch
- 5197 pts/8 S+ 0:00 python3 tools/perf/python/twatch.py
- # ls -la /proc/5197/smaps
- -r--r--r--. 1 acme acme 0 Feb 19 13:14 /proc/5197/smaps
- # grep python /proc/5197/smaps
- 558111307000-558111309000 r-xp 00000000 fd:00 3151710 /usr/bin/python3.6
- 558111508000-558111509000 r--p 00001000 fd:00 3151710 /usr/bin/python3.6
- 558111509000-55811150a000 rw-p 00002000 fd:00 3151710 /usr/bin/python3.6
- 7ffad6fc1000-7ffad7008000 r-xp 00000000 00:2d 220196 /tmp/build/perf/python/perf.cpython-36m-x86_64-linux-gnu.so
- 7ffad7008000-7ffad7207000 ---p 00047000 00:2d 220196 /tmp/build/perf/python/perf.cpython-36m-x86_64-linux-gnu.so
- 7ffad7207000-7ffad7208000 r--p 00046000 00:2d 220196 /tmp/build/perf/python/perf.cpython-36m-x86_64-linux-gnu.so
- 7ffad7208000-7ffad7215000 rw-p 00047000 00:2d 220196 /tmp/build/perf/python/perf.cpython-36m-x86_64-linux-gnu.so
- 7ffadea77000-7ffaded3d000 r-xp 00000000 fd:00 3151795 /usr/lib64/libpython3.6m.so.1.0
- 7ffaded3d000-7ffadef3c000 ---p 002c6000 fd:00 3151795 /usr/lib64/libpython3.6m.so.1.0
- 7ffadef3c000-7ffadef42000 r--p 002c5000 fd:00 3151795 /usr/lib64/libpython3.6m.so.1.0
- 7ffadef42000-7ffadefa5000 rw-p 002cb000 fd:00 3151795 /usr/lib64/libpython3.6m.so.1.0
- #
-
-And with this patch, but building normally, without specifying the
-PYTHON=python3 part, which will make it use python2 if its devel files are
-available, like in this test:
-
- $ make O=/tmp/build/perf -C tools/perf install-bin
- $ ldd ~/bin/perf | grep python
- libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007f6a44410000)
- $ ldd /tmp/build/perf/python_ext_build/lib/perf.so | grep python
- libpython2.7.so.1.0 => /lib64/libpython2.7.so.1.0 (0x00007fed28a2c000)
- $
-
- [acme@jouet perf]$ tools/perf/python/twatch.py
- cpu: 0, pid: 2817, tid: 2817 { type: fork, pid: 2817, ppid: 2817, tid: 8910, ptid: 2817, time: 11126454335306}
- cpu: 0, pid: 2817, tid: 2817 { type: comm, pid: 2817, tid: 8910, comm: worker }
- $ ps ax | grep twatch.py
- 8909 pts/8 S+ 0:00 /usr/bin/python tools/perf/python/twatch.py
- $ grep python /proc/8909/smaps
- 5579de658000-5579de659000 r-xp 00000000 fd:00 3156044 /usr/bin/python2.7
- 5579de858000-5579de859000 r--p 00000000 fd:00 3156044 /usr/bin/python2.7
- 5579de859000-5579de85a000 rw-p 00001000 fd:00 3156044 /usr/bin/python2.7
- 7f0de01f7000-7f0de023e000 r-xp 00000000 00:2d 230695 /tmp/build/perf/python/perf.so
- 7f0de023e000-7f0de043d000 ---p 00047000 00:2d 230695 /tmp/build/perf/python/perf.so
- 7f0de043d000-7f0de043e000 r--p 00046000 00:2d 230695 /tmp/build/perf/python/perf.so
- 7f0de043e000-7f0de044b000 rw-p 00047000 00:2d 230695 /tmp/build/perf/python/perf.so
- 7f0de6f0f000-7f0de6f13000 r-xp 00000000 fd:00 134975 /usr/lib64/python2.7/lib-dynload/_localemodule.so
- 7f0de6f13000-7f0de7113000 ---p 00004000 fd:00 134975 /usr/lib64/python2.7/lib-dynload/_localemodule.so
- 7f0de7113000-7f0de7114000 r--p 00004000 fd:00 134975 /usr/lib64/python2.7/lib-dynload/_localemodule.so
- 7f0de7114000-7f0de7115000 rw-p 00005000 fd:00 134975 /usr/lib64/python2.7/lib-dynload/_localemodule.so
- 7f0de7e73000-7f0de8052000 r-xp 00000000 fd:00 3173292 /usr/lib64/libpython2.7.so.1.0
- 7f0de8052000-7f0de8251000 ---p 001df000 fd:00 3173292 /usr/lib64/libpython2.7.so.1.0
- 7f0de8251000-7f0de8255000 r--p 001de000 fd:00 3173292 /usr/lib64/libpython2.7.so.1.0
- 7f0de8255000-7f0de8291000 rw-p 001e2000 fd:00 3173292 /usr/lib64/libpython2.7.so.1.0
- $
-
-Signed-off-by: Jaroslav Škarvada <jskarvad@redhat.com>
-Tested-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-Cc: Adrian Hunter <adrian.hunter@intel.com>
-Cc: David Ahern <dsahern@gmail.com>
-Cc: Jiri Olsa <jolsa@kernel.org>
-Cc: Namhyung Kim <namhyung@kernel.org>
-Cc: Wang Nan <wangnan0@huawei.com>
-LPU-Reference: 20180119205641.24242-1-jskarvad@redhat.com
-Link: https://lkml.kernel.org/n/tip-8d7dt9kqp83vsz25hagug8fu@git.kernel.org
-[ Removed explicit check for python version, allowing it to really build with python3 ]
-Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-
-Upstream status: Backport [https://github.com/torvalds/linux/commit/66dfdff03d196e51322c6a85c0d8db8bb2bdd655]
-Signed-off-by: Naveen Saini <naveen.kumar.saini@intel.com>
----
- tools/perf/Makefile.config | 23 +--
- tools/perf/Makefile.perf | 4 +-
- .../scripts/python/Perf-Trace-Util/Context.c | 34 +++-
- tools/perf/util/python.c | 95 ++++++++---
- .../scripting-engines/trace-event-python.c | 147 +++++++++++++-----
- tools/perf/util/setup.py | 6 +-
- 6 files changed, 221 insertions(+), 88 deletions(-)
-
-diff --git a/tools/perf/Makefile.config b/tools/perf/Makefile.config
-index f362ee46506a..ecdc3770d899 100644
---- a/tools/perf/Makefile.config
-+++ b/tools/perf/Makefile.config
-@@ -622,25 +622,10 @@ else
- ifneq ($(feature-libpython), 1)
- $(call disable-python,No 'Python.h' (for Python 2.x support) was found: disables Python support - please install python-devel/python-dev)
- else
-- ifneq ($(feature-libpython-version), 1)
-- $(warning Python 3 is not yet supported; please set)
-- $(warning PYTHON and/or PYTHON_CONFIG appropriately.)
-- $(warning If you also have Python 2 installed, then)
-- $(warning try something like:)
-- $(warning $(and ,))
-- $(warning $(and ,) make PYTHON=python2)
-- $(warning $(and ,))
-- $(warning Otherwise, disable Python support entirely:)
-- $(warning $(and ,))
-- $(warning $(and ,) make NO_LIBPYTHON=1)
-- $(warning $(and ,))
-- $(error $(and ,))
-- else
-- LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
-- EXTLIBS += $(PYTHON_EMBED_LIBADD)
-- LANG_BINDINGS += $(obj-perf)python/perf.so
-- $(call detected,CONFIG_LIBPYTHON)
-- endif
-+ LDFLAGS += $(PYTHON_EMBED_LDFLAGS)
-+ EXTLIBS += $(PYTHON_EMBED_LIBADD)
-+ LANG_BINDINGS += $(obj-perf)python/perf.so
-+ $(call detected,CONFIG_LIBPYTHON)
- endif
- endif
- endif
-diff --git a/tools/perf/Makefile.perf b/tools/perf/Makefile.perf
-index 349ea5133d83..6879321c612d 100644
---- a/tools/perf/Makefile.perf
-+++ b/tools/perf/Makefile.perf
-@@ -294,7 +294,7 @@ PYTHON_EXTBUILD_LIB := $(PYTHON_EXTBUILD)lib/
- PYTHON_EXTBUILD_TMP := $(PYTHON_EXTBUILD)tmp/
- export PYTHON_EXTBUILD_LIB PYTHON_EXTBUILD_TMP
-
--python-clean := $(call QUIET_CLEAN, python) $(RM) -r $(PYTHON_EXTBUILD) $(OUTPUT)python/perf.so
-+python-clean := $(call QUIET_CLEAN, python) $(RM) -r $(PYTHON_EXTBUILD) $(OUTPUT)python/perf*.so
-
- PYTHON_EXT_SRCS := $(shell grep -v ^\# util/python-ext-sources)
- PYTHON_EXT_DEPS := util/python-ext-sources util/setup.py $(LIBTRACEEVENT) $(LIBAPI)
-@@ -444,7 +444,7 @@ $(OUTPUT)python/perf.so: $(PYTHON_EXT_SRCS) $(PYTHON_EXT_DEPS) $(LIBTRACEEVENT_D
- $(PYTHON_WORD) util/setup.py \
- --quiet build_ext; \
- mkdir -p $(OUTPUT)python && \
-- cp $(PYTHON_EXTBUILD_LIB)perf.so $(OUTPUT)python/
-+ cp $(PYTHON_EXTBUILD_LIB)perf*.so $(OUTPUT)python/
-
- please_set_SHELL_PATH_to_a_more_modern_shell:
- $(Q)$$(:)
-diff --git a/tools/perf/scripts/python/Perf-Trace-Util/Context.c b/tools/perf/scripts/python/Perf-Trace-Util/Context.c
-index fcd1dd667906..1a0d27757eec 100644
---- a/tools/perf/scripts/python/Perf-Trace-Util/Context.c
-+++ b/tools/perf/scripts/python/Perf-Trace-Util/Context.c
-@@ -23,7 +23,17 @@
- #include "../../../perf.h"
- #include "../../../util/trace-event.h"
-
-+#if PY_MAJOR_VERSION < 3
-+#define _PyCapsule_GetPointer(arg1, arg2) \
-+ PyCObject_AsVoidPtr(arg1)
-+
- PyMODINIT_FUNC initperf_trace_context(void);
-+#else
-+#define _PyCapsule_GetPointer(arg1, arg2) \
-+ PyCapsule_GetPointer((arg1), (arg2))
-+
-+PyMODINIT_FUNC PyInit_perf_trace_context(void);
-+#endif
-
- static PyObject *perf_trace_context_common_pc(PyObject *obj, PyObject *args)
- {
-@@ -34,7 +44,7 @@ static PyObject *perf_trace_context_common_pc(PyObject *obj, PyObject *args)
- if (!PyArg_ParseTuple(args, "O", &context))
- return NULL;
-
-- scripting_context = PyCObject_AsVoidPtr(context);
-+ scripting_context = _PyCapsule_GetPointer(context, NULL);
- retval = common_pc(scripting_context);
-
- return Py_BuildValue("i", retval);
-@@ -50,7 +60,7 @@ static PyObject *perf_trace_context_common_flags(PyObject *obj,
- if (!PyArg_ParseTuple(args, "O", &context))
- return NULL;
-
-- scripting_context = PyCObject_AsVoidPtr(context);
-+ scripting_context = _PyCapsule_GetPointer(context, NULL);
- retval = common_flags(scripting_context);
-
- return Py_BuildValue("i", retval);
-@@ -66,7 +76,7 @@ static PyObject *perf_trace_context_common_lock_depth(PyObject *obj,
- if (!PyArg_ParseTuple(args, "O", &context))
- return NULL;
-
-- scripting_context = PyCObject_AsVoidPtr(context);
-+ scripting_context = _PyCapsule_GetPointer(context, NULL);
- retval = common_lock_depth(scripting_context);
-
- return Py_BuildValue("i", retval);
-@@ -82,7 +92,25 @@ static PyMethodDef ContextMethods[] = {
- { NULL, NULL, 0, NULL}
- };
-
-+#if PY_MAJOR_VERSION < 3
- PyMODINIT_FUNC initperf_trace_context(void)
- {
- (void) Py_InitModule("perf_trace_context", ContextMethods);
- }
-+#else
-+PyMODINIT_FUNC PyInit_perf_trace_context(void)
-+{
-+ static struct PyModuleDef moduledef = {
-+ PyModuleDef_HEAD_INIT,
-+ "perf_trace_context", /* m_name */
-+ "", /* m_doc */
-+ -1, /* m_size */
-+ ContextMethods, /* m_methods */
-+ NULL, /* m_reload */
-+ NULL, /* m_traverse */
-+ NULL, /* m_clear */
-+ NULL, /* m_free */
-+ };
-+ return PyModule_Create(&moduledef);
-+}
-+#endif
-diff --git a/tools/perf/util/python.c b/tools/perf/util/python.c
-index 8e49d9cafcfc..16620c37fd8c 100644
---- a/tools/perf/util/python.c
-+++ b/tools/perf/util/python.c
-@@ -12,6 +12,30 @@
- #include "print_binary.h"
- #include "thread_map.h"
-
-+#if PY_MAJOR_VERSION < 3
-+#define _PyUnicode_FromString(arg) \
-+ PyString_FromString(arg)
-+#define _PyUnicode_AsString(arg) \
-+ PyString_AsString(arg)
-+#define _PyUnicode_FromFormat(...) \
-+ PyString_FromFormat(__VA_ARGS__)
-+#define _PyLong_FromLong(arg) \
-+ PyInt_FromLong(arg)
-+
-+#else
-+
-+#define _PyUnicode_FromString(arg) \
-+ PyUnicode_FromString(arg)
-+#define _PyUnicode_FromFormat(...) \
-+ PyUnicode_FromFormat(__VA_ARGS__)
-+#define _PyLong_FromLong(arg) \
-+ PyLong_FromLong(arg)
-+#endif
-+
-+#ifndef Py_TYPE
-+#define Py_TYPE(ob) (((PyObject*)(ob))->ob_type)
-+#endif
-+
- /*
- * Provide these two so that we don't have to link against callchain.c and
- * start dragging hist.c, etc.
-@@ -49,7 +73,11 @@ int eprintf(int level, int var, const char *fmt, ...)
- # define PyVarObject_HEAD_INIT(type, size) PyObject_HEAD_INIT(type) size,
- #endif
-
-+#if PY_MAJOR_VERSION < 3
- PyMODINIT_FUNC initperf(void);
-+#else
-+PyMODINIT_FUNC PyInit_perf(void);
-+#endif
-
- #define member_def(type, member, ptype, help) \
- { #member, ptype, \
-@@ -107,7 +135,7 @@ static PyObject *pyrf_mmap_event__repr(struct pyrf_event *pevent)
- pevent->event.mmap.pgoff, pevent->event.mmap.filename) < 0) {
- ret = PyErr_NoMemory();
- } else {
-- ret = PyString_FromString(s);
-+ ret = _PyUnicode_FromString(s);
- free(s);
- }
- return ret;
-@@ -138,7 +166,7 @@ static PyMemberDef pyrf_task_event__members[] = {
-
- static PyObject *pyrf_task_event__repr(struct pyrf_event *pevent)
- {
-- return PyString_FromFormat("{ type: %s, pid: %u, ppid: %u, tid: %u, "
-+ return _PyUnicode_FromFormat("{ type: %s, pid: %u, ppid: %u, tid: %u, "
- "ptid: %u, time: %" PRIu64 "}",
- pevent->event.header.type == PERF_RECORD_FORK ? "fork" : "exit",
- pevent->event.fork.pid,
-@@ -171,7 +199,7 @@ static PyMemberDef pyrf_comm_event__members[] = {
-
- static PyObject *pyrf_comm_event__repr(struct pyrf_event *pevent)
- {
-- return PyString_FromFormat("{ type: comm, pid: %u, tid: %u, comm: %s }",
-+ return _PyUnicode_FromFormat("{ type: comm, pid: %u, tid: %u, comm: %s }",
- pevent->event.comm.pid,
- pevent->event.comm.tid,
- pevent->event.comm.comm);
-@@ -202,7 +230,7 @@ static PyObject *pyrf_throttle_event__repr(struct pyrf_event *pevent)
- {
- struct throttle_event *te = (struct throttle_event *)(&pevent->event.header + 1);
-
-- return PyString_FromFormat("{ type: %sthrottle, time: %" PRIu64 ", id: %" PRIu64
-+ return _PyUnicode_FromFormat("{ type: %sthrottle, time: %" PRIu64 ", id: %" PRIu64
- ", stream_id: %" PRIu64 " }",
- pevent->event.header.type == PERF_RECORD_THROTTLE ? "" : "un",
- te->time, te->id, te->stream_id);
-@@ -237,7 +265,7 @@ static PyObject *pyrf_lost_event__repr(struct pyrf_event *pevent)
- pevent->event.lost.id, pevent->event.lost.lost) < 0) {
- ret = PyErr_NoMemory();
- } else {
-- ret = PyString_FromString(s);
-+ ret = _PyUnicode_FromString(s);
- free(s);
- }
- return ret;
-@@ -264,7 +292,7 @@ static PyMemberDef pyrf_read_event__members[] = {
-
- static PyObject *pyrf_read_event__repr(struct pyrf_event *pevent)
- {
-- return PyString_FromFormat("{ type: read, pid: %u, tid: %u }",
-+ return _PyUnicode_FromFormat("{ type: read, pid: %u, tid: %u }",
- pevent->event.read.pid,
- pevent->event.read.tid);
- /*
-@@ -299,7 +327,7 @@ static PyObject *pyrf_sample_event__repr(struct pyrf_event *pevent)
- if (asprintf(&s, "{ type: sample }") < 0) {
- ret = PyErr_NoMemory();
- } else {
-- ret = PyString_FromString(s);
-+ ret = _PyUnicode_FromString(s);
- free(s);
- }
- return ret;
-@@ -330,7 +358,7 @@ tracepoint_field(struct pyrf_event *pe, struct format_field *field)
- }
- if (field->flags & FIELD_IS_STRING &&
- is_printable_array(data + offset, len)) {
-- ret = PyString_FromString((char *)data + offset);
-+ ret = _PyUnicode_FromString((char *)data + offset);
- } else {
- ret = PyByteArray_FromStringAndSize((const char *) data + offset, len);
- field->flags &= ~FIELD_IS_STRING;
-@@ -352,7 +380,7 @@ tracepoint_field(struct pyrf_event *pe, struct format_field *field)
- static PyObject*
- get_tracepoint_field(struct pyrf_event *pevent, PyObject *attr_name)
- {
-- const char *str = PyString_AsString(PyObject_Str(attr_name));
-+ const char *str = _PyUnicode_AsString(PyObject_Str(attr_name));
- struct perf_evsel *evsel = pevent->evsel;
- struct format_field *field;
-
-@@ -416,7 +444,7 @@ static PyObject *pyrf_context_switch_event__repr(struct pyrf_event *pevent)
- !!(pevent->event.header.misc & PERF_RECORD_MISC_SWITCH_OUT)) < 0) {
- ret = PyErr_NoMemory();
- } else {
-- ret = PyString_FromString(s);
-+ ret = _PyUnicode_FromString(s);
- free(s);
- }
- return ret;
-@@ -528,7 +556,7 @@ static int pyrf_cpu_map__init(struct pyrf_cpu_map *pcpus,
- static void pyrf_cpu_map__delete(struct pyrf_cpu_map *pcpus)
- {
- cpu_map__put(pcpus->cpus);
-- pcpus->ob_type->tp_free((PyObject*)pcpus);
-+ Py_TYPE(pcpus)->tp_free((PyObject*)pcpus);
- }
-
- static Py_ssize_t pyrf_cpu_map__length(PyObject *obj)
-@@ -597,7 +625,7 @@ static int pyrf_thread_map__init(struct pyrf_thread_map *pthreads,
- static void pyrf_thread_map__delete(struct pyrf_thread_map *pthreads)
- {
- thread_map__put(pthreads->threads);
-- pthreads->ob_type->tp_free((PyObject*)pthreads);
-+ Py_TYPE(pthreads)->tp_free((PyObject*)pthreads);
- }
-
- static Py_ssize_t pyrf_thread_map__length(PyObject *obj)
-@@ -759,7 +787,7 @@ static int pyrf_evsel__init(struct pyrf_evsel *pevsel,
- static void pyrf_evsel__delete(struct pyrf_evsel *pevsel)
- {
- perf_evsel__exit(&pevsel->evsel);
-- pevsel->ob_type->tp_free((PyObject*)pevsel);
-+ Py_TYPE(pevsel)->tp_free((PyObject*)pevsel);
- }
-
- static PyObject *pyrf_evsel__open(struct pyrf_evsel *pevsel,
-@@ -850,7 +878,7 @@ static int pyrf_evlist__init(struct pyrf_evlist *pevlist,
- static void pyrf_evlist__delete(struct pyrf_evlist *pevlist)
- {
- perf_evlist__exit(&pevlist->evlist);
-- pevlist->ob_type->tp_free((PyObject*)pevlist);
-+ Py_TYPE(pevlist)->tp_free((PyObject*)pevlist);
- }
-
- static PyObject *pyrf_evlist__mmap(struct pyrf_evlist *pevlist,
-@@ -902,12 +930,16 @@ static PyObject *pyrf_evlist__get_pollfd(struct pyrf_evlist *pevlist,
-
- for (i = 0; i < evlist->pollfd.nr; ++i) {
- PyObject *file;
-+#if PY_MAJOR_VERSION < 3
- FILE *fp = fdopen(evlist->pollfd.entries[i].fd, "r");
-
- if (fp == NULL)
- goto free_list;
-
- file = PyFile_FromFile(fp, "perf", "r", NULL);
-+#else
-+ file = PyFile_FromFd(evlist->pollfd.entries[i].fd, "perf", "r", -1, NULL, NULL, NULL, 1);
-+#endif
- if (file == NULL)
- goto free_list;
-
-@@ -1194,9 +1226,9 @@ static PyObject *pyrf__tracepoint(struct pyrf_evsel *pevsel,
-
- tp_format = trace_event__tp_format(sys, name);
- if (IS_ERR(tp_format))
-- return PyInt_FromLong(-1);
-+ return _PyLong_FromLong(-1);
-
-- return PyInt_FromLong(tp_format->id);
-+ return _PyLong_FromLong(tp_format->id);
- }
-
- static PyMethodDef perf__methods[] = {
-@@ -1209,11 +1241,31 @@ static PyMethodDef perf__methods[] = {
- { .ml_name = NULL, }
- };
-
-+#if PY_MAJOR_VERSION < 3
- PyMODINIT_FUNC initperf(void)
-+#else
-+PyMODINIT_FUNC PyInit_perf(void)
-+#endif
- {
- PyObject *obj;
- int i;
-- PyObject *dict, *module = Py_InitModule("perf", perf__methods);
-+ PyObject *dict;
-+#if PY_MAJOR_VERSION < 3
-+ PyObject *module = Py_InitModule("perf", perf__methods);
-+#else
-+ static struct PyModuleDef moduledef = {
-+ PyModuleDef_HEAD_INIT,
-+ "perf", /* m_name */
-+ "", /* m_doc */
-+ -1, /* m_size */
-+ perf__methods, /* m_methods */
-+ NULL, /* m_reload */
-+ NULL, /* m_traverse */
-+ NULL, /* m_clear */
-+ NULL, /* m_free */
-+ };
-+ PyObject *module = PyModule_Create(&moduledef);
-+#endif
-
- if (module == NULL ||
- pyrf_event__setup_types() < 0 ||
-@@ -1221,7 +1273,11 @@ PyMODINIT_FUNC initperf(void)
- pyrf_evsel__setup_types() < 0 ||
- pyrf_thread_map__setup_types() < 0 ||
- pyrf_cpu_map__setup_types() < 0)
-+#if PY_MAJOR_VERSION < 3
- return;
-+#else
-+ return module;
-+#endif
-
- /* The page_size is placed in util object. */
- page_size = sysconf(_SC_PAGE_SIZE);
-@@ -1270,7 +1326,7 @@ PyMODINIT_FUNC initperf(void)
- goto error;
-
- for (i = 0; perf__constants[i].name != NULL; i++) {
-- obj = PyInt_FromLong(perf__constants[i].value);
-+ obj = _PyLong_FromLong(perf__constants[i].value);
- if (obj == NULL)
- goto error;
- PyDict_SetItemString(dict, perf__constants[i].name, obj);
-@@ -1280,6 +1336,9 @@ PyMODINIT_FUNC initperf(void)
- error:
- if (PyErr_Occurred())
- PyErr_SetString(PyExc_ImportError, "perf: Init failed!");
-+#if PY_MAJOR_VERSION >= 3
-+ return module;
-+#endif
- }
-
- /*
-diff --git a/tools/perf/util/scripting-engines/trace-event-python.c b/tools/perf/util/scripting-engines/trace-event-python.c
-index f03fa7a835a1..8db28d4ff4b6 100644
---- a/tools/perf/util/scripting-engines/trace-event-python.c
-+++ b/tools/perf/util/scripting-engines/trace-event-python.c
-@@ -50,7 +50,37 @@
- #include "print_binary.h"
- #include "stat.h"
-
-+#if PY_MAJOR_VERSION < 3
-+#define _PyUnicode_FromString(arg) \
-+ PyString_FromString(arg)
-+#define _PyUnicode_FromStringAndSize(arg1, arg2) \
-+ PyString_FromStringAndSize((arg1), (arg2))
-+#define _PyBytes_FromStringAndSize(arg1, arg2) \
-+ PyString_FromStringAndSize((arg1), (arg2))
-+#define _PyLong_FromLong(arg) \
-+ PyInt_FromLong(arg)
-+#define _PyLong_AsLong(arg) \
-+ PyInt_AsLong(arg)
-+#define _PyCapsule_New(arg1, arg2, arg3) \
-+ PyCObject_FromVoidPtr((arg1), (arg2))
-+
- PyMODINIT_FUNC initperf_trace_context(void);
-+#else
-+#define _PyUnicode_FromString(arg) \
-+ PyUnicode_FromString(arg)
-+#define _PyUnicode_FromStringAndSize(arg1, arg2) \
-+ PyUnicode_FromStringAndSize((arg1), (arg2))
-+#define _PyBytes_FromStringAndSize(arg1, arg2) \
-+ PyBytes_FromStringAndSize((arg1), (arg2))
-+#define _PyLong_FromLong(arg) \
-+ PyLong_FromLong(arg)
-+#define _PyLong_AsLong(arg) \
-+ PyLong_AsLong(arg)
-+#define _PyCapsule_New(arg1, arg2, arg3) \
-+ PyCapsule_New((arg1), (arg2), (arg3))
-+
-+PyMODINIT_FUNC PyInit_perf_trace_context(void);
-+#endif
-
- #define TRACE_EVENT_TYPE_MAX \
- ((1 << (sizeof(unsigned short) * 8)) - 1)
-@@ -136,7 +166,7 @@ static int get_argument_count(PyObject *handler)
- PyObject *arg_count_obj = PyObject_GetAttrString(code_obj,
- "co_argcount");
- if (arg_count_obj) {
-- arg_count = (int) PyInt_AsLong(arg_count_obj);
-+ arg_count = (int) _PyLong_AsLong(arg_count_obj);
- Py_DECREF(arg_count_obj);
- }
- Py_DECREF(code_obj);
-@@ -183,10 +213,10 @@ static void define_value(enum print_arg_type field_type,
-
- value = eval_flag(field_value);
-
-- PyTuple_SetItem(t, n++, PyString_FromString(ev_name));
-- PyTuple_SetItem(t, n++, PyString_FromString(field_name));
-- PyTuple_SetItem(t, n++, PyInt_FromLong(value));
-- PyTuple_SetItem(t, n++, PyString_FromString(field_str));
-+ PyTuple_SetItem(t, n++, _PyUnicode_FromString(ev_name));
-+ PyTuple_SetItem(t, n++, _PyUnicode_FromString(field_name));
-+ PyTuple_SetItem(t, n++, _PyLong_FromLong(value));
-+ PyTuple_SetItem(t, n++, _PyUnicode_FromString(field_str));
-
- try_call_object(handler_name, t);
-
-@@ -224,10 +254,10 @@ static void define_field(enum print_arg_type field_type,
- if (!t)
- Py_FatalError("couldn't create Python tuple");
-
-- PyTuple_SetItem(t, n++, PyString_FromString(ev_name));
-- PyTuple_SetItem(t, n++, PyString_FromString(field_name));
-+ PyTuple_SetItem(t, n++, _PyUnicode_FromString(ev_name));
-+ PyTuple_SetItem(t, n++, _PyUnicode_FromString(field_name));
- if (field_type == PRINT_FLAGS)
-- PyTuple_SetItem(t, n++, PyString_FromString(delim));
-+ PyTuple_SetItem(t, n++, _PyUnicode_FromString(delim));
-
- try_call_object(handler_name, t);
-
-@@ -326,12 +356,12 @@ static PyObject *get_field_numeric_entry(struct event_format *event,
- if (field->flags & FIELD_IS_SIGNED) {
- if ((long long)val >= LONG_MIN &&
- (long long)val <= LONG_MAX)
-- obj = PyInt_FromLong(val);
-+ obj = _PyLong_FromLong(val);
- else
- obj = PyLong_FromLongLong(val);
- } else {
- if (val <= LONG_MAX)
-- obj = PyInt_FromLong(val);
-+ obj = _PyLong_FromLong(val);
- else
- obj = PyLong_FromUnsignedLongLong(val);
- }
-@@ -390,9 +420,9 @@ static PyObject *python_process_callchain(struct perf_sample *sample,
- pydict_set_item_string_decref(pysym, "end",
- PyLong_FromUnsignedLongLong(node->sym->end));
- pydict_set_item_string_decref(pysym, "binding",
-- PyInt_FromLong(node->sym->binding));
-+ _PyLong_FromLong(node->sym->binding));
- pydict_set_item_string_decref(pysym, "name",
-- PyString_FromStringAndSize(node->sym->name,
-+ _PyUnicode_FromStringAndSize(node->sym->name,
- node->sym->namelen));
- pydict_set_item_string_decref(pyelem, "sym", pysym);
- }
-@@ -407,7 +437,7 @@ static PyObject *python_process_callchain(struct perf_sample *sample,
- dsoname = map->dso->name;
- }
- pydict_set_item_string_decref(pyelem, "dso",
-- PyString_FromString(dsoname));
-+ _PyUnicode_FromString(dsoname));
- }
-
- callchain_cursor_advance(&callchain_cursor);
-@@ -484,16 +514,16 @@ static PyObject *get_perf_sample_dict(struct perf_sample *sample,
- if (!dict_sample)
- Py_FatalError("couldn't create Python dictionary");
-
-- pydict_set_item_string_decref(dict, "ev_name", PyString_FromString(perf_evsel__name(evsel)));
-- pydict_set_item_string_decref(dict, "attr", PyString_FromStringAndSize(
-+ pydict_set_item_string_decref(dict, "ev_name", _PyUnicode_FromString(perf_evsel__name(evsel)));
-+ pydict_set_item_string_decref(dict, "attr", _PyUnicode_FromStringAndSize(
- (const char *)&evsel->attr, sizeof(evsel->attr)));
-
- pydict_set_item_string_decref(dict_sample, "pid",
-- PyInt_FromLong(sample->pid));
-+ _PyLong_FromLong(sample->pid));
- pydict_set_item_string_decref(dict_sample, "tid",
-- PyInt_FromLong(sample->tid));
-+ _PyLong_FromLong(sample->tid));
- pydict_set_item_string_decref(dict_sample, "cpu",
-- PyInt_FromLong(sample->cpu));
-+ _PyLong_FromLong(sample->cpu));
- pydict_set_item_string_decref(dict_sample, "ip",
- PyLong_FromUnsignedLongLong(sample->ip));
- pydict_set_item_string_decref(dict_sample, "time",
-@@ -503,17 +533,17 @@ static PyObject *get_perf_sample_dict(struct perf_sample *sample,
- set_sample_read_in_dict(dict_sample, sample, evsel);
- pydict_set_item_string_decref(dict, "sample", dict_sample);
-
-- pydict_set_item_string_decref(dict, "raw_buf", PyString_FromStringAndSize(
-+ pydict_set_item_string_decref(dict, "raw_buf", _PyBytes_FromStringAndSize(
- (const char *)sample->raw_data, sample->raw_size));
- pydict_set_item_string_decref(dict, "comm",
-- PyString_FromString(thread__comm_str(al->thread)));
-+ _PyUnicode_FromString(thread__comm_str(al->thread)));
- if (al->map) {
- pydict_set_item_string_decref(dict, "dso",
-- PyString_FromString(al->map->dso->name));
-+ _PyUnicode_FromString(al->map->dso->name));
- }
- if (al->sym) {
- pydict_set_item_string_decref(dict, "symbol",
-- PyString_FromString(al->sym->name));
-+ _PyUnicode_FromString(al->sym->name));
- }
-
- pydict_set_item_string_decref(dict, "callchain", callchain);
-@@ -573,9 +603,9 @@ static void python_process_tracepoint(struct perf_sample *sample,
- scripting_context->event_data = data;
- scripting_context->pevent = evsel->tp_format->pevent;
-
-- context = PyCObject_FromVoidPtr(scripting_context, NULL);
-+ context = _PyCapsule_New(scripting_context, NULL, NULL);
-
-- PyTuple_SetItem(t, n++, PyString_FromString(handler_name));
-+ PyTuple_SetItem(t, n++, _PyUnicode_FromString(handler_name));
- PyTuple_SetItem(t, n++, context);
-
- /* ip unwinding */
-@@ -584,18 +614,18 @@ static void python_process_tracepoint(struct perf_sample *sample,
- Py_INCREF(callchain);
-
- if (!dict) {
-- PyTuple_SetItem(t, n++, PyInt_FromLong(cpu));
-- PyTuple_SetItem(t, n++, PyInt_FromLong(s));
-- PyTuple_SetItem(t, n++, PyInt_FromLong(ns));
-- PyTuple_SetItem(t, n++, PyInt_FromLong(pid));
-- PyTuple_SetItem(t, n++, PyString_FromString(comm));
-+ PyTuple_SetItem(t, n++, _PyLong_FromLong(cpu));
-+ PyTuple_SetItem(t, n++, _PyLong_FromLong(s));
-+ PyTuple_SetItem(t, n++, _PyLong_FromLong(ns));
-+ PyTuple_SetItem(t, n++, _PyLong_FromLong(pid));
-+ PyTuple_SetItem(t, n++, _PyUnicode_FromString(comm));
- PyTuple_SetItem(t, n++, callchain);
- } else {
-- pydict_set_item_string_decref(dict, "common_cpu", PyInt_FromLong(cpu));
-- pydict_set_item_string_decref(dict, "common_s", PyInt_FromLong(s));
-- pydict_set_item_string_decref(dict, "common_ns", PyInt_FromLong(ns));
-- pydict_set_item_string_decref(dict, "common_pid", PyInt_FromLong(pid));
-- pydict_set_item_string_decref(dict, "common_comm", PyString_FromString(comm));
-+ pydict_set_item_string_decref(dict, "common_cpu", _PyLong_FromLong(cpu));
-+ pydict_set_item_string_decref(dict, "common_s", _PyLong_FromLong(s));
-+ pydict_set_item_string_decref(dict, "common_ns", _PyLong_FromLong(ns));
-+ pydict_set_item_string_decref(dict, "common_pid", _PyLong_FromLong(pid));
-+ pydict_set_item_string_decref(dict, "common_comm", _PyUnicode_FromString(comm));
- pydict_set_item_string_decref(dict, "common_callchain", callchain);
- }
- for (field = event->format.fields; field; field = field->next) {
-@@ -614,7 +644,7 @@ static void python_process_tracepoint(struct perf_sample *sample,
- }
- if (field->flags & FIELD_IS_STRING &&
- is_printable_array(data + offset, len)) {
-- obj = PyString_FromString((char *) data + offset);
-+ obj = _PyUnicode_FromString((char *) data + offset);
- } else {
- obj = PyByteArray_FromStringAndSize((const char *) data + offset, len);
- field->flags &= ~FIELD_IS_STRING;
-@@ -664,7 +694,7 @@ static PyObject *tuple_new(unsigned int sz)
- static int tuple_set_u64(PyObject *t, unsigned int pos, u64 val)
- {
- #if BITS_PER_LONG == 64
-- return PyTuple_SetItem(t, pos, PyInt_FromLong(val));
-+ return PyTuple_SetItem(t, pos, _PyLong_FromLong(val));
- #endif
- #if BITS_PER_LONG == 32
- return PyTuple_SetItem(t, pos, PyLong_FromLongLong(val));
-@@ -673,12 +703,12 @@ static int tuple_set_u64(PyObject *t, unsigned int pos, u64 val)
-
- static int tuple_set_s32(PyObject *t, unsigned int pos, s32 val)
- {
-- return PyTuple_SetItem(t, pos, PyInt_FromLong(val));
-+ return PyTuple_SetItem(t, pos, _PyLong_FromLong(val));
- }
-
- static int tuple_set_string(PyObject *t, unsigned int pos, const char *s)
- {
-- return PyTuple_SetItem(t, pos, PyString_FromString(s));
-+ return PyTuple_SetItem(t, pos, _PyUnicode_FromString(s));
- }
-
- static int python_export_evsel(struct db_export *dbe, struct perf_evsel *evsel)
-@@ -1024,8 +1054,8 @@ process_stat(struct perf_evsel *counter, int cpu, int thread, u64 tstamp,
- return;
- }
-
-- PyTuple_SetItem(t, n++, PyInt_FromLong(cpu));
-- PyTuple_SetItem(t, n++, PyInt_FromLong(thread));
-+ PyTuple_SetItem(t, n++, _PyLong_FromLong(cpu));
-+ PyTuple_SetItem(t, n++, _PyLong_FromLong(thread));
-
- tuple_set_u64(t, n++, tstamp);
- tuple_set_u64(t, n++, count->val);
-@@ -1207,27 +1237,58 @@ static void set_table_handlers(struct tables *tables)
- SET_TABLE_HANDLER(call_return);
- }
-
-+#if PY_MAJOR_VERSION < 3
-+static void _free_command_line(const char **command_line, int num)
-+{
-+ free(command_line);
-+}
-+#else
-+static void _free_command_line(wchar_t **command_line, int num)
-+{
-+ int i;
-+ for (i = 0; i < num; i++)
-+ PyMem_RawFree(command_line[i]);
-+ free(command_line);
-+}
-+#endif
-+
-+
- /*
- * Start trace script
- */
- static int python_start_script(const char *script, int argc, const char **argv)
- {
- struct tables *tables = &tables_global;
-+#if PY_MAJOR_VERSION < 3
- const char **command_line;
-+#else
-+ wchar_t **command_line;
-+#endif
- char buf[PATH_MAX];
- int i, err = 0;
- FILE *fp;
-
-+#if PY_MAJOR_VERSION < 3
- command_line = malloc((argc + 1) * sizeof(const char *));
- command_line[0] = script;
- for (i = 1; i < argc + 1; i++)
- command_line[i] = argv[i - 1];
-+#else
-+ command_line = malloc((argc + 1) * sizeof(wchar_t *));
-+ command_line[0] = Py_DecodeLocale(script, NULL);
-+ for (i = 1; i < argc + 1; i++)
-+ command_line[i] = Py_DecodeLocale(argv[i - 1], NULL);
-+#endif
-
- Py_Initialize();
-
-+#if PY_MAJOR_VERSION < 3
- initperf_trace_context();
--
- PySys_SetArgv(argc + 1, (char **)command_line);
-+#else
-+ PyInit_perf_trace_context();
-+ PySys_SetArgv(argc + 1, command_line);
-+#endif
-
- fp = fopen(script, "r");
- if (!fp) {
-@@ -1257,12 +1318,12 @@ static int python_start_script(const char *script, int argc, const char **argv)
- goto error;
- }
-
-- free(command_line);
-+ _free_command_line(command_line, argc + 1);
-
- return err;
- error:
- Py_Finalize();
-- free(command_line);
-+ _free_command_line(command_line, argc + 1);
-
- return err;
- }
-diff --git a/tools/perf/util/setup.py b/tools/perf/util/setup.py
-index 23f1bf175179..a5f9e236cc71 100644
---- a/tools/perf/util/setup.py
-+++ b/tools/perf/util/setup.py
-@@ -1,4 +1,4 @@
--#!/usr/bin/python2
-+#!/usr/bin/python
-
- from os import getenv
-
-@@ -37,11 +37,11 @@ build_tmp = getenv('PYTHON_EXTBUILD_TMP')
- libtraceevent = getenv('LIBTRACEEVENT')
- libapikfs = getenv('LIBAPI')
-
--ext_sources = [f.strip() for f in file('util/python-ext-sources')
-+ext_sources = [f.strip() for f in open('util/python-ext-sources')
- if len(f.strip()) > 0 and f[0] != '#']
-
- # use full paths with source files
--ext_sources = map(lambda x: '%s/%s' % (src_perf, x) , ext_sources)
-+ext_sources = list(map(lambda x: '%s/%s' % (src_perf, x) , ext_sources))
-
- perf = Extension('perf',
- sources = ext_sources,
---
-2.17.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 6aee4284..00000000
--- a/recipes-kernel/linux/linux-intel_4.14.bb
+++ /dev/null
@@ -1,23 +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 \
- file://0001-perf-tools-Add-Python-3-support.patch \
- "
-
-DEPENDS += "elfutils-native openssl-native util-linux-native"
-
-LINUX_VERSION ?= "4.14.152"
-SRCREV_machine ?= "f500fab13d11290921fc16c0e8b08c671819ad43"
-SRCREV_meta ?= "c8f030fdbf6046dede4b7ce6c94b5b24221c250e"
-
-# 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 79727f91..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.80"
-SRCREV_machine ?= "6570cbed7b20741a3433c3192ed93ac0fea6c554"
-SRCREV_meta ?= "a7cb57afb9fb9787079c28a1028d797632105e56"
-
-# 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..3b917bfa
--- /dev/null
+++ b/recipes-kernel/linux/linux-intel_6.6.bb
@@ -0,0 +1,21 @@
+require linux-intel.inc
+
+SRC_URI:prepend = "git://github.com/intel/linux-intel-lts.git;protocol=https;name=machine;branch=${KBRANCH}; \
+ "
+KBRANCH = "6.6/linux"
+KMETA_BRANCH = "yocto-6.6"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+DEPENDS += "elfutils-native openssl-native util-linux-native"
+
+LINUX_VERSION_EXTENSION ??= "-intel-pk-${LINUX_KERNEL_TYPE}"
+
+LINUX_VERSION ?= "6.6.25"
+SRCREV_machine ?= "lts-v6.6.25-linux-240415T215440Z"
+SRCREV_meta ?= "c3d1322fb6ff68cdcf4d7a3c1140d81bfdc1320a"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc"
+
+UPSTREAM_CHECK_GITTAGREGEX = "^lts-(?P<pver>v6.6.(\d+)-linux-(\d+)T(\d+)Z)$"
diff --git a/recipes-kernel/linux/linux-intel_6.8.bb b/recipes-kernel/linux/linux-intel_6.8.bb
new file mode 100644
index 00000000..036879db
--- /dev/null
+++ b/recipes-kernel/linux/linux-intel_6.8.bb
@@ -0,0 +1,20 @@
+require linux-intel.inc
+
+SRC_URI:prepend = "git://github.com/intel/mainline-tracking.git;protocol=https;name=machine;nobranch=1; \
+ "
+KMETA_BRANCH = "master"
+
+LIC_FILES_CHKSUM = "file://COPYING;md5=6bc538ed5bd9a7fc9398086aedcd7e46"
+
+DEPENDS += "elfutils-native openssl-native util-linux-native"
+
+LINUX_VERSION_EXTENSION ??= "-mainline-tracking-${LINUX_KERNEL_TYPE}"
+
+LINUX_VERSION ?= "6.8"
+SRCREV_machine ?= "efbae83db36abbbbdb946d4f7bbdfda174107cd2"
+SRCREV_meta ?= "27907f391a4fc508da21358b13419c6e86926c34"
+
+# Functionality flags
+KERNEL_EXTRA_FEATURES ?= "features/netfilter/netfilter.scc features/security/security.scc"
+
+UPSTREAM_CHECK_GITTAGREGEX = "^mainline-tracking-v6.7-rc3-linux-(?P<pver>(\d+)T(\d+)Z)$"
diff --git a/recipes-kernel/linux/linux-yocto-dev.bbappend b/recipes-kernel/linux/linux-yocto-dev.bbappend
index 6173148c..deb19940 100644
--- a/recipes-kernel/linux/linux-yocto-dev.bbappend
+++ b/recipes-kernel/linux/linux-yocto-dev.bbappend
@@ -1,21 +1,21 @@
-FILESEXTRAPATHS_prepend_intel-x86-common := "${THISDIR}/${PN}:"
+FILESEXTRAPATHS:prepend:intel-x86-common := "${THISDIR}/${PN}:"
-COMPATIBLE_MACHINE_core2-32-intel-common = "${MACHINE}"
-KMACHINE_core2-32-intel-common = "intel-core2-32"
-KERNEL_FEATURES_append_core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
+COMPATIBLE_MACHINE:core2-32-intel-common = "${MACHINE}"
+KMACHINE:core2-32-intel-common = "intel-core2-32"
+KERNEL_FEATURES:append:core2-32-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
-COMPATIBLE_MACHINE_corei7-64-intel-common = "${MACHINE}"
-KMACHINE_corei7-64-intel-common = "intel-corei7-64"
-KERNEL_FEATURES_append_corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
+COMPATIBLE_MACHINE:corei7-64-intel-common = "${MACHINE}"
+KMACHINE:corei7-64-intel-common = "intel-corei7-64"
+KERNEL_FEATURES:append:corei7-64-intel-common = "${KERNEL_FEATURES_INTEL_COMMON}"
# NOTE: We do not set SRCREVs here as -dev is intended to be built with AUTOREV
# and setting them here breaks the default mechanism to use AUTOREV if the
# default SRCREV is set and linux-yocto-dev is the preferred provider.
# For Crystalforest and Romley
-KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " uio"
-KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " uio"
+KERNEL_MODULE_AUTOLOAD:append:core2-32-intel-common = " uio"
+KERNEL_MODULE_AUTOLOAD:append:corei7-64-intel-common = " uio"
# For FRI2, NUC
-KERNEL_MODULE_AUTOLOAD_append_core2-32-intel-common = " iwlwifi"
-KERNEL_MODULE_AUTOLOAD_append_corei7-64-intel-common = " iwlwifi"
+KERNEL_MODULE_AUTOLOAD:append:core2-32-intel-common = " iwlwifi"
+KERNEL_MODULE_AUTOLOAD:append:corei7-64-intel-common = " iwlwifi"
diff --git a/recipes-kernel/linux/linux-yocto-rt_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_23.4.3.bb
index 31e8da9b..6513d574 100644
--- a/recipes-multimedia/libva/intel-media-driver_19.2.1.bb
+++ b/recipes-multimedia/libva/intel-media-driver_23.4.3.bb
@@ -11,42 +11,51 @@ 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'
+COMPATIBLE_HOST = '(i.86|x86_64).*-linux'
-inherit distro_features_check
+inherit 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"
+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"
+COMPATIBLE_HOST:x86-x32 = "null"
UPSTREAM_CHECK_GITTAGREGEX = "^intel-media-(?P<pver>(?!600\..*)\d+(\.\d+)+)$"
inherit cmake pkgconfig
-MEDIA_DRIVER_ARCH_x86 = "32"
-MEDIA_DRIVER_ARCH_x86-64 = "64"
+MEDIA_DRIVER_ARCH:x86 = "32"
+MEDIA_DRIVER_ARCH:x86-64 = "64"
EXTRA_OECMAKE += " \
-DMEDIA_RUN_TEST_SUITE=OFF \
-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() {
+do_configure:prepend:toolchain-clang() {
sed -i -e '/-fno-tree-pre/d' ${S}/media_driver/cmake/linux/media_compile_flags_linux.cmake
}
-# See: https://github.com/intel/media-driver/issues/358
-FILES_${PN} += " \
+FILES:${PN} += " \
${libdir}/dri/ \
- ${libdir}/igfxcmrt64.so \
"
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 ef65f8fd..f00a4404 100644
--- a/recipes-multimedia/mediasdk/intel-mediasdk_19.2.1.bb
+++ b/recipes-multimedia/mediasdk/intel-mediasdk_23.2.2.bb
@@ -12,30 +12,52 @@ 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;lfs=0"
-SRCREV = "885c309f57a7a1cbc60edee6b0d014a36da94562"
+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 = "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.28.0.bb b/recipes-support/isa-l/isa-l_2.31.0.bb
index 98f0d311..d5d09002 100644
--- a/recipes-support/isa-l/isa-l_2.28.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 = "fae4c3a4994f894bf57adafa18ed310d145ab1b0"
-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 "