summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core
diff options
context:
space:
mode:
Diffstat (limited to 'meta-xilinx-core')
-rw-r--r--meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass6
-rw-r--r--meta-xilinx-core/conf/layer.conf9
-rw-r--r--meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch79
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb47
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc11
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb33
-rw-r--r--meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb8
-rw-r--r--meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb8
-rw-r--r--meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb2
-rw-r--r--meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb31
-rw-r--r--meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb78
-rw-r--r--meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb8
-rw-r--r--meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb23
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb21
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb21
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc17
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc17
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc4
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb4
-rw-r--r--meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb4
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend5
-rw-r--r--meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend5
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc33
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.1.bb8
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.2.bb6
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb2
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc8
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc8
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc2
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch40
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-net-tulip-Restrict-DMA-engine-to-memories.patch64
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch36
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0002-chardev-connect-socket-to-a-spawned-command.patch246
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0003-apic-fixup-fallthrough-to-PIC.patch47
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch (renamed from meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch)11
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0005-qemu-Do-not-include-file-if-not-exists.patch35
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch52
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0007-qemu-Determinism-fixes.patch34
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch38
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch49
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch43
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/CVE-2022-3165.patch59
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/arm-cpreg-fix.patch27
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/powerpc_rom.binbin0 -> 4096 bytes
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/qemu-7.0.0-glibc-2.36.patch46
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/run-ptest13
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc5
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc11
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb20
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb20
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb11
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb37
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb37
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb11
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc47
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb37
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb35
-rw-r--r--meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb11
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch2
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch21
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch29
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/weston.inc15
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/weston_12.%.bbappend (renamed from meta-xilinx-core/recipes-graphics/wayland/weston_10.0.2.bbappend)6
-rw-r--r--meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend3
-rw-r--r--meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb24
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch47
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb9
-rw-r--r--meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb9
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch55
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch52
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb39
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb39
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb51
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb50
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb2
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb46
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb46
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb2
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb40
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb40
-rw-r--r--meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb10
-rw-r--r--[-rwxr-xr-x]meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb0
-rw-r--r--[-rwxr-xr-x]meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb0
-rw-r--r--[-rwxr-xr-x]meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb0
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch117
91 files changed, 2241 insertions, 177 deletions
diff --git a/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass b/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass
index 1ed1cd77..b4de5ee1 100644
--- a/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass
+++ b/meta-xilinx-core/classes/image-types-xilinx-qemu.bbclass
@@ -7,9 +7,9 @@
7 7
8CONVERSIONTYPES:append = " qemu-sd qemu-sd-fatimg" 8CONVERSIONTYPES:append = " qemu-sd qemu-sd-fatimg"
9CONVERSION_CMD:qemu-sd () { 9CONVERSION_CMD:qemu-sd () {
10 cp ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type} ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd 10 cp ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type} ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd
11 # Get the wic.qemu-sd file size 11 # Get the wic.qemu-sd file size
12 file_size=`stat -c '%s' ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd` 12 file_size=`stat -c '%s' ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd`
13 powerof2=1 13 powerof2=1
14 file_size=${file_size%.*} 14 file_size=${file_size%.*}
15 # Get the next power of 2 value for the image size value 15 # Get the next power of 2 value for the image size value
@@ -17,7 +17,7 @@ CONVERSION_CMD:qemu-sd () {
17 powerof2=$(expr $powerof2 \* 2) 17 powerof2=$(expr $powerof2 \* 2)
18 done 18 done
19 # Resize the image using qemu-img 19 # Resize the image using qemu-img
20 qemu-img resize -f raw ${IMAGE_NAME}${IMAGE_NAME_SUFFIX}.${type}.qemu-sd ${powerof2} 20 qemu-img resize -f raw ${IMGDEPLOYDIR}/${IMAGE_NAME}.${type}.qemu-sd ${powerof2}
21} 21}
22 22
23BOOT_VOLUME_ID ?= "BOOT" 23BOOT_VOLUME_ID ?= "BOOT"
diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf
index 5441fd96..afbf71c3 100644
--- a/meta-xilinx-core/conf/layer.conf
+++ b/meta-xilinx-core/conf/layer.conf
@@ -25,7 +25,7 @@ xilinx-tools:${LAYERDIR}/dynamic-layers/meta-xilinx-tools/recipes-*/*/*.bbappend
25LAYERDEPENDS_xilinx = "core" 25LAYERDEPENDS_xilinx = "core"
26LAYERRECOMMENDS_xilinx = "openembedded-layer" 26LAYERRECOMMENDS_xilinx = "openembedded-layer"
27 27
28LAYERSERIES_COMPAT_xilinx = "langdale" 28LAYERSERIES_COMPAT_xilinx = "mickledore"
29 29
30SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \ 30SIGGEN_EXCLUDE_SAFE_RECIPE_DEPS += " \
31 *->xrt \ 31 *->xrt \
@@ -46,12 +46,15 @@ XILINX_RELEASE_VERSION ??= "v2023.2"
46 46
47BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION" 47BUILDCFG_VARS:append = " SOC_VARIANT XILINX_RELEASE_VERSION"
48 48
49XILINX_QEMU_VERSION[v2022.1] = "v7.1.0-xilinx-v2022.1%"
50XILINX_QEMU_VERSION[v2022.2] = "v7.1.0-xilinx-v2022.2%"
49XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%" 51XILINX_QEMU_VERSION[v2023.1] = "v7.1.0-xilinx-v2023.1%"
50XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%" 52XILINX_QEMU_VERSION[v2023.2] = "v7.1.0-xilinx-v2023.2%"
51PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 53PREFERRED_VERSION_qemu-xilinx ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
52PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 54PREFERRED_VERSION_qemu-xilinx-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
53PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 55PREFERRED_VERSION_qemu-xilinx-system-native ?= "${@d.getVarFlag('XILINX_QEMU_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
54PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%" 56PREFERRED_VERSION_qemu-devicetrees ?= "xilinx-${XILINX_RELEASE_VERSION}%"
57PREFERRED_PROVIDER_qemu ?= "qemu-xilinx"
55 58
56XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%" 59XILINX_ATF_VERSION[v2023.1] = "2.8-xilinx-v2023.1%"
57XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%" 60XILINX_ATF_VERSION[v2023.2] = "2.8-xilinx-v2023.2%"
@@ -63,7 +66,9 @@ XILINX_UBOOT_VERSION[v2023.2] = "v2023.01-xilinx-v2023.2%"
63PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 66PREFERRED_VERSION_u-boot-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
64PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 67PREFERRED_VERSION_u-boot-tools-xlnx ?= "${@d.getVarFlag('XILINX_UBOOT_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
65 68
66XILINX_LINUX_VERSION[v2023.1] = "6.1.5-xilinx-v2023.1%" 69XILINX_LINUX_VERSION[v2022.1] = "5.15.19-xilinx-v2022.1%"
70XILINX_LINUX_VERSION[v2022.2] = "5.15.36-xilinx-v2022.2%"
71XILINX_LINUX_VERSION[v2023.1] = "6.1.30-xilinx-v2023.1%"
67XILINX_LINUX_VERSION[v2023.2] = "6.1.30-xilinx-v2023.2%" 72XILINX_LINUX_VERSION[v2023.2] = "6.1.30-xilinx-v2023.2%"
68PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" 73PREFERRED_VERSION_linux-xlnx ?= "${@d.getVarFlag('XILINX_LINUX_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
69 74
diff --git a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch
index 5b4ffaaf..83e5b58a 100644
--- a/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch
+++ b/meta-xilinx-core/dynamic-layers/openembedded-layer/recipes-benchmark/glmark2/files/0002-native-state-fbdev-Add-support-for-glmark2-es2-fbdev.patch
@@ -19,11 +19,11 @@ Signed-off-by: Mark Hatle <mark.hatle@amd.com>
19 create mode 100644 src/native-state-fbdev.cpp 19 create mode 100644 src/native-state-fbdev.cpp
20 create mode 100644 src/native-state-fbdev.h 20 create mode 100644 src/native-state-fbdev.h
21 21
22diff --git a/src/gl-state-egl.cpp b/src/gl-state-egl.cpp 22Index: git/src/gl-state-egl.cpp
23index 5a6843c..14c7dac 100644 23===================================================================
24--- a/src/gl-state-egl.cpp 24--- git.orig/src/gl-state-egl.cpp
25+++ b/src/gl-state-egl.cpp 25+++ git/src/gl-state-egl.cpp
26@@ -510,6 +510,7 @@ GLStateEGL::gotValidDisplay() 26@@ -508,6 +508,7 @@ GLStateEGL::gotValidDisplay()
27 return false; 27 return false;
28 } 28 }
29 29
@@ -31,7 +31,7 @@ index 5a6843c..14c7dac 100644
31 char const * __restrict const supported_extensions = 31 char const * __restrict const supported_extensions =
32 egl_query_string(EGL_NO_DISPLAY, EGL_EXTENSIONS); 32 egl_query_string(EGL_NO_DISPLAY, EGL_EXTENSIONS);
33 33
34@@ -543,6 +544,9 @@ GLStateEGL::gotValidDisplay() 34@@ -541,6 +542,9 @@ GLStateEGL::gotValidDisplay()
35 Log::debug("Falling back to eglGetDisplay()\n"); 35 Log::debug("Falling back to eglGetDisplay()\n");
36 egl_display_ = egl_get_display(native_display_); 36 egl_display_ = egl_get_display(native_display_);
37 } 37 }
@@ -41,11 +41,11 @@ index 5a6843c..14c7dac 100644
41 41
42 if (!egl_display_) { 42 if (!egl_display_) {
43 Log::error("eglGetDisplay() failed with error: 0x%x\n", egl_get_error()); 43 Log::error("eglGetDisplay() failed with error: 0x%x\n", egl_get_error());
44diff --git a/src/main.cpp b/src/main.cpp 44Index: git/src/main.cpp
45index ce8b094..7c9f501 100644 45===================================================================
46--- a/src/main.cpp 46--- git.orig/src/main.cpp
47+++ b/src/main.cpp 47+++ git/src/main.cpp
48@@ -36,6 +36,8 @@ 48@@ -37,6 +37,8 @@
49 49
50 #if GLMARK2_USE_X11 50 #if GLMARK2_USE_X11
51 #include "native-state-x11.h" 51 #include "native-state-x11.h"
@@ -53,21 +53,20 @@ index ce8b094..7c9f501 100644
53+#include "native-state-fbdev.h" 53+#include "native-state-fbdev.h"
54 #elif GLMARK2_USE_DRM 54 #elif GLMARK2_USE_DRM
55 #include "native-state-drm.h" 55 #include "native-state-drm.h"
56 #elif GLMARK2_USE_MIR 56 #elif GLMARK2_USE_GBM
57@@ -172,6 +174,8 @@ main(int argc, char *argv[]) 57@@ -160,6 +162,8 @@ main(int argc, char *argv[])
58 // Create the canvas 58 {
59 #if GLMARK2_USE_X11 59 #if GLMARK2_USE_X11
60 NativeStateX11 native_state; 60 NativeStateX11 native_state;
61+#elif GLMARK2_USE_FBDEV 61+#elif GLMARK2_USE_FBDEV
62+ NativeStateFbdev native_state; 62+ NativeStateFbdev native_state;
63 #elif GLMARK2_USE_DRM 63 #elif GLMARK2_USE_DRM
64 NativeStateDRM native_state; 64 NativeStateDRM native_state;
65 #elif GLMARK2_USE_MIR 65 #elif GLMARK2_USE_GBM
66diff --git a/src/native-state-fbdev.cpp b/src/native-state-fbdev.cpp 66Index: git/src/native-state-fbdev.cpp
67new file mode 100644 67===================================================================
68index 0000000..0c82a25
69--- /dev/null 68--- /dev/null
70+++ b/src/native-state-fbdev.cpp 69+++ git/src/native-state-fbdev.cpp
71@@ -0,0 +1,172 @@ 70@@ -0,0 +1,172 @@
72+ 71+
73+/* 72+/*
@@ -241,11 +240,10 @@ index 0000000..0c82a25
241+ 240+
242+ return fd; 241+ return fd;
243+} 242+}
244diff --git a/src/native-state-fbdev.h b/src/native-state-fbdev.h 243Index: git/src/native-state-fbdev.h
245new file mode 100644 244===================================================================
246index 0000000..0162ee0
247--- /dev/null 245--- /dev/null
248+++ b/src/native-state-fbdev.h 246+++ git/src/native-state-fbdev.h
249@@ -0,0 +1,59 @@ 247@@ -0,0 +1,59 @@
250+/* 248+/*
251+ * Copyright © 2018 Xilinx Inc 249+ * Copyright © 2018 Xilinx Inc
@@ -306,11 +304,11 @@ index 0000000..0162ee0
306+}; 304+};
307+ 305+
308+#endif /* GLMARK2_NATIVE_STATE_FBDEV_H_ */ 306+#endif /* GLMARK2_NATIVE_STATE_FBDEV_H_ */
309diff --git a/src/wscript_build b/src/wscript_build 307Index: git/src/wscript_build
310index a01c8a8..c179342 100644 308===================================================================
311--- a/src/wscript_build 309--- git.orig/src/wscript_build
312+++ b/src/wscript_build 310+++ git/src/wscript_build
313@@ -90,6 +90,7 @@ flavor_sources = { 311@@ -88,6 +88,7 @@ flavor_sources = {
314 'win32-glesv2': common_flavor_sources + ['native-state-win32.cpp', 'gl-state-egl.cpp'], 312 'win32-glesv2': common_flavor_sources + ['native-state-win32.cpp', 'gl-state-egl.cpp'],
315 'x11-gl' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-glx.cpp'], 313 'x11-gl' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-glx.cpp'],
316 'x11-glesv2' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-egl.cpp'], 314 'x11-glesv2' : common_flavor_sources + ['native-state-x11.cpp', 'gl-state-egl.cpp'],
@@ -318,7 +316,7 @@ index a01c8a8..c179342 100644
318 } 316 }
319 flavor_uselibs = { 317 flavor_uselibs = {
320 'dispmanx-glesv2' : ['glad-egl-dispmanx', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2', 'dispmanx'], 318 'dispmanx-glesv2' : ['glad-egl-dispmanx', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2', 'dispmanx'],
321@@ -103,6 +104,7 @@ flavor_uselibs = { 319@@ -99,6 +100,7 @@ flavor_uselibs = {
322 'win32-glesv2': ['glad-egl-win32', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'], 320 'win32-glesv2': ['glad-egl-win32', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'],
323 'x11-gl' : ['x11', 'glad-gl', 'glad-glx', 'matrix-gl', 'common-gl'], 321 'x11-gl' : ['x11', 'glad-gl', 'glad-glx', 'matrix-gl', 'common-gl'],
324 'x11-glesv2' : ['x11', 'glad-egl-x11', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'], 322 'x11-glesv2' : ['x11', 'glad-egl-x11', 'glad-glesv2', 'matrix-glesv2', 'common-glesv2'],
@@ -326,7 +324,7 @@ index a01c8a8..c179342 100644
326 } 324 }
327 325
328 flavor_defines = { 326 flavor_defines = {
329@@ -117,6 +119,7 @@ flavor_defines = { 327@@ -111,6 +113,7 @@ flavor_defines = {
330 'win32-glesv2': ['GLMARK2_USE_WIN32', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'], 328 'win32-glesv2': ['GLMARK2_USE_WIN32', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'],
331 'x11-gl' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GL', 'GLMARK2_USE_GLX'], 329 'x11-gl' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GL', 'GLMARK2_USE_GLX'],
332 'x11-glesv2' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'], 330 'x11-glesv2' : ['GLMARK2_USE_X11', 'GLMARK2_USE_GLESv2', 'GLMARK2_USE_EGL'],
@@ -334,7 +332,7 @@ index a01c8a8..c179342 100644
334 } 332 }
335 flavor_libs = { 333 flavor_libs = {
336 'dispmanx-glesv2' : [], 334 'dispmanx-glesv2' : [],
337@@ -156,6 +159,7 @@ flavor_sources_gen = { 335@@ -144,6 +147,7 @@ flavor_sources_gen = {
338 'win32-glesv2' : [], 336 'win32-glesv2' : [],
339 'x11-gl' : [], 337 'x11-gl' : [],
340 'x11-glesv2' : [], 338 'x11-glesv2' : [],
@@ -342,7 +340,7 @@ index a01c8a8..c179342 100644
342 } 340 }
343 egl_platform_defines = { 341 egl_platform_defines = {
344 'dispmanx' : ['MESA_EGL_NO_X11_HEADERS'], 342 'dispmanx' : ['MESA_EGL_NO_X11_HEADERS'],
345@@ -164,6 +168,7 @@ egl_platform_defines = { 343@@ -151,6 +155,7 @@ egl_platform_defines = {
346 'wayland' : ['WL_EGL_PLATFORM'], 344 'wayland' : ['WL_EGL_PLATFORM'],
347 'win32' : [], 345 'win32' : [],
348 'x11' : [], 346 'x11' : [],
@@ -350,11 +348,11 @@ index a01c8a8..c179342 100644
350 } 348 }
351 349
352 includes = ['.', 'scene-ideas', 'scene-terrain'] + platform_includes 350 includes = ['.', 'scene-ideas', 'scene-terrain'] + platform_includes
353diff --git a/wscript b/wscript 351Index: git/wscript
354index cecc3d9..4ae50d8 100644 352===================================================================
355--- a/wscript 353--- git.orig/wscript
356+++ b/wscript 354+++ git/wscript
357@@ -19,6 +19,7 @@ FLAVORS = { 355@@ -17,6 +17,7 @@ FLAVORS = {
358 'win32-glesv2': 'glmark2-es2', 356 'win32-glesv2': 'glmark2-es2',
359 'x11-gl' : 'glmark2', 357 'x11-gl' : 'glmark2',
360 'x11-glesv2' : 'glmark2-es2', 358 'x11-glesv2' : 'glmark2-es2',
@@ -362,14 +360,11 @@ index cecc3d9..4ae50d8 100644
362 } 360 }
363 FLAVORS_STR = ", ".join(sorted(list(FLAVORS) + ['all-linux', 'all-win32'])) 361 FLAVORS_STR = ", ".join(sorted(list(FLAVORS) + ['all-linux', 'all-win32']))
364 362
365@@ -213,6 +214,7 @@ def configure_linux(ctx): 363@@ -210,6 +211,7 @@ def configure_linux(ctx):
364 ('libdrm','drm', None, list_contains(ctx.options.flavors, 'drm')),
366 ('gbm','gbm', None, list_contains(ctx.options.flavors, 'drm')), 365 ('gbm','gbm', None, list_contains(ctx.options.flavors, 'drm')),
367 ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'drm')), 366 ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'drm')),
368 ('mirclient','mirclient', '0.13', list_contains(ctx.options.flavors, 'mir')),
369+ ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'fbdev')), 367+ ('libudev', 'udev', None, list_contains(ctx.options.flavors, 'fbdev')),
370 ('wayland-client','wayland-client', None, list_contains(ctx.options.flavors, 'wayland')), 368 ('wayland-client','wayland-client', None, list_contains(ctx.options.flavors, 'wayland')),
371 ('wayland-cursor','wayland-cursor', None, list_contains(ctx.options.flavors, 'wayland')), 369 ('wayland-cursor','wayland-cursor', None, list_contains(ctx.options.flavors, 'wayland')),
372 ('wayland-egl','wayland-egl', None, list_contains(ctx.options.flavors, 'wayland'))] 370 ('wayland-egl','wayland-egl', None, list_contains(ctx.options.flavors, 'wayland'))]
373--
3742.17.1
375
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb
new file mode 100644
index 00000000..6a4fd880
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.3.bb
@@ -0,0 +1,47 @@
1SUMMARY = "Xilinx AI Engine runtime"
2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP"
3
4require aie-rt.inc
5
6SECTION = "libs"
7
8AIEDIR ?= "${S}/driver"
9S = "${WORKDIR}/git"
10I = "${AIEDIR}/include"
11
12COMPATIBLE_MACHINE = "^$"
13COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
14COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}"
15PV = "3.3"
16
17IOBACKENDS ?= "Linux"
18
19DEPENDS = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}"
20RDEPENDS:${PN} = "${@bb.utils.contains('IOBACKENDS', 'metal', 'libmetal', '', d)}"
21
22PROVIDES = "libxaiengine"
23RPROVIDES:${PN} = "libxaiengine"
24
25# The makefile isn't ready for parallel execution at the moment
26PARALLEL_MAKE = "-j 1"
27
28CFLAGS += "-Wall -Wextra -fno-thread-jumps -fno-tree-pre"
29CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'Linux', ' -D__AIELINUX__', '', d)}"
30CFLAGS += "${@bb.utils.contains('IOBACKENDS', 'metal', ' -D__AIEMETAL__', '', d)}"
31EXTRA_OEMAKE = "-C ${AIEDIR}/src -f Makefile.Linux CFLAGS='${CFLAGS}'"
32
33
34do_compile(){
35 oe_runmake
36}
37
38do_install(){
39 install -d ${D}${includedir}
40 install ${I}/*.h ${D}${includedir}/
41 install -d ${D}${includedir}/xaiengine
42 install ${I}/xaiengine/*.h ${D}${includedir}/xaiengine/
43 install -d ${D}${libdir}
44 cp -dr ${AIEDIR}/src/*.so* ${D}${libdir}
45}
46
47PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb
index e364462b..f86c5985 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/ai-engine-driver_3.4.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx AI Engine runtime" 1SUMMARY = "Xilinx AI Engine runtime"
2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP" 2DESCRIPTION = "This library provides APIs for the runtime support of the Xilinx AI Engine IP"
3 3
4require aie-rt.inc 4require aie-rt-2022.inc
5 5
6SECTION = "libs" 6SECTION = "libs"
7 7
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc
new file mode 100644
index 00000000..85121654
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aie-rt-2022.inc
@@ -0,0 +1,11 @@
1SECTION = "libs"
2
3REPO ?= "git://github.com/Xilinx/aie-rt.git;protocol=https"
4
5BRANCH ?= "xlnx_rel_v2022.2"
6SRCREV ?= "ae24c8ede049906323510693f37e6167a963fd0e"
7
8LICENSE = "BSD-3-Clause"
9LIC_FILES_CHKSUM ?= "file://license.txt;md5=b81abf1f508952331dd7d2ab36408f5b"
10
11SRC_URI = "${REPO};branch=${BRANCH}"
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb
new file mode 100644
index 00000000..641c39a9
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.4.bb
@@ -0,0 +1,33 @@
1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)"
2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP"
3
4require aie-rt.inc
5
6SECTION = "devel"
7
8XAIEFAL_DIR ?= "fal"
9S = "${WORKDIR}/git"
10
11COMPATIBLE_MACHINE = "^$"
12COMPATIBLE_MACHINE:versal-ai-core = "versal-ai-core"
13COMPATIBLE_MACHINE:versal-ai-edge = "${SOC_VARIANT_ARCH}"
14
15IOBACKENDS ?= "Linux"
16
17PROVIDES = "aiefal"
18ALLOW_EMPTY:${PN} = "1"
19
20inherit pkgconfig cmake
21
22DEPENDS = "libxaiengine"
23
24OECMAKE_SOURCEPATH = "${S}/${XAIEFAL_DIR}"
25
26EXTRA_OECMAKE = "-DWITH_TESTS=OFF "
27EXTRA_OECMAKE:append = "${@'-DWITH_EXAMPLES=ON' if d.getVar('WITH_EXAMPLES') == 'y' else '-DWITH_EXAMPLES=OFF'}"
28
29FILES:${PN}-demos = " \
30 ${bindir}/* \
31"
32
33PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}"
diff --git a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb
index 6ac86a1b..2c6c9cd1 100644
--- a/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb
+++ b/meta-xilinx-core/recipes-bsp/ai-engine/aiefal_1.5.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)" 1SUMMARY = "Xilinx AI Engine FAL(Functional Abstraction Layer)"
2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP" 2DESCRIPTION = "AIE FAL provides functional abstraction APIs for runtime support of Xilinx AI Engine IP"
3 3
4require aie-rt.inc 4require aie-rt-2022.inc
5 5
6SECTION = "devel" 6SECTION = "devel"
7 7
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb
new file mode 100644
index 00000000..f02bb879
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.1.bb
@@ -0,0 +1,8 @@
1ATF_VERSION = "2.6"
2SRCREV = "67ca59c67f542322554d78820bf9ddaa736d6a84"
3BRANCH = "xlnx_rebase_v2.6"
4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
5
6
7include arm-trusted-firmware.inc
8
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb
new file mode 100644
index 00000000..5ef2e6ac
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2022.2.bb
@@ -0,0 +1,8 @@
1ATF_VERSION = "2.6"
2SRCREV = "0897efd45ccad29a3dbab610578c70e3a52b2caa"
3BRANCH = "xlnx_rebase_v2.6"
4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
5
6
7include arm-trusted-firmware.inc
8
diff --git a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb
index 454fbe86..2bcbe7d4 100644
--- a/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb
+++ b/meta-xilinx-core/recipes-bsp/arm-trusted-firmware/arm-trusted-firmware_2023.1.bb
@@ -1,5 +1,5 @@
1ATF_VERSION = "2.8" 1ATF_VERSION = "2.8"
2SRCREV = "6fcc6b179dc14de0f6ba19a1829e597b60f7aee5" 2SRCREV = "c9b71dc96f3f18ca94cad590612aae3224c8c84d"
3BRANCH = "xlnx_rebase_v2.8" 3BRANCH = "xlnx_rebase_v2.8"
4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031" 4LIC_FILES_CHKSUM = "file://license.rst;md5=1dd070c98a281d18d9eefd938729b031"
5 5
diff --git a/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb
new file mode 100644
index 00000000..fdf28f41
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/bootgen/bootgen_1.0.bb
@@ -0,0 +1,31 @@
1SUMMARY = "Building and installing bootgen"
2DESCRIPTION = "Building and installing bootgen, a Xilinx tool that lets you stitch binary files together and generate device boot images"
3
4LICENSE = "Apache-2.0"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=d526b6d0807bf263b97da1da876f39b1"
6
7S = "${WORKDIR}/git"
8
9DEPENDS += "openssl"
10RDEPENDS:${PN} += "openssl"
11
12REPO ?= "git://github.com/Xilinx/bootgen.git;protocol=https"
13BRANCH ?= "xlnx_rel_v2022.2"
14SRCREV = "cf4ba93b99644dc4429ef633471a639e1382f0e7"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19EXTRA_OEMAKE += 'CROSS_COMPILER="${CXX}" -C ${S}'
20CXXFLAGS:append = " -std=c++0x"
21
22TARGET_CC_ARCH += "${LDFLAGS}"
23
24do_install() {
25 install -d ${D}${bindir}
26 install -Dm 0755 ${S}/bootgen ${D}${bindir}
27}
28
29FILES:${PN} = "${bindir}/bootgen"
30
31BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb
new file mode 100644
index 00000000..b4de4fe6
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/dfx-mgr/dfx-mgr_1.0.bb
@@ -0,0 +1,78 @@
1SUMMARY = "Xilinx dfx-mgr libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and Binaries"
3
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=d67bcef754e935bf77b6d7051bd62b5e"
6
7REPO ?= "git://github.com/Xilinx/dfx-mgr.git;protocol=https"
8BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
9SRC_URI = "${REPO};${BRANCHARG}"
10
11BRANCH = "xlnx_rel_v2022.2"
12SRCREV = "bc06691eb35d7f0acb7c2508b6d050d77b0264a0"
13SOMAJOR = "1"
14SOMINOR = "0"
15SOVERSION = "${SOMAJOR}.${SOMINOR}"
16
17COMPATIBLE_MACHINE = "^$"
18COMPATIBLE_MACHINE:zynqmp = "zynqmp"
19COMPATIBLE_MACHINE:versal = "versal"
20
21S = "${WORKDIR}/git"
22
23inherit cmake update-rc.d systemd
24
25DEPENDS += " libwebsockets inotify-tools libdfx zocl libdrm"
26RDEPENDS:${PN} += " fru-print"
27EXTRA_OECMAKE += " \
28 -DCMAKE_SYSROOT:PATH=${RECIPE_SYSROOT} \
29 "
30
31# Workaround for: the comparison will always evaluate as 'true' for the address of 'defaul_accel_name' will never be NULL [-Werror=address]
32CFLAGS += "-Wno-address"
33
34# Workaround for: '__builtin_strncpy' specified bound depends on the length of the source argument [-Werror=stringop-truncation]
35CFLAGS += "-Wno-stringop-truncation"
36
37INITSCRIPT_NAME = "dfx-mgr.sh"
38INITSCRIPT_PARAMS = "start 99 S ."
39
40SYSTEMD_PACKAGES="${PN}"
41SYSTEMD_SERVICE:${PN}="dfx-mgr.service"
42SYSTEMD_AUTO_ENABLE:${PN}="enable"
43
44
45do_install(){
46 install -d ${D}${bindir}
47 install -d ${D}${libdir}
48 install -d ${D}${includedir}
49 install -d ${D}${base_libdir}/firmware/xilinx
50 install -d ${D}${sysconfdir}/dfx-mgrd
51
52 cp ${B}/example/sys/linux/dfx-mgrd-static ${D}${bindir}/dfx-mgrd
53 cp ${B}/example/sys/linux/dfx-mgr-client-static ${D}${bindir}/dfx-mgr-client
54 chrpath -d ${D}${bindir}/dfx-mgrd
55 chrpath -d ${D}${bindir}/dfx-mgr-client
56 install -m 0644 ${S}/src/dfxmgr_client.h ${D}${includedir}
57
58 oe_soinstall ${B}/src/libdfx-mgr.so.${SOVERSION} ${D}${libdir}
59
60 install -m 0755 ${S}/src/daemon.conf ${D}${sysconfdir}/dfx-mgrd/
61
62 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
63 install -d ${D}${sysconfdir}/init.d/
64 install -m 0755 ${S}/src/dfx-mgr.sh ${D}${sysconfdir}/init.d/
65 fi
66
67 install -m 0755 ${S}/src/dfx-mgr.sh ${D}${bindir}
68 install -m 0755 ${S}/src/scripts/xlnx-firmware-detect ${D}${bindir}
69
70 install -d ${D}${systemd_system_unitdir}
71 install -m 0644 ${S}/src/dfx-mgr.service ${D}${systemd_system_unitdir}
72}
73
74PACKAGES =+ "libdfx-mgr"
75
76FILES:${PN} += "${base_libdir}/firmware/xilinx"
77FILES:${PN} += "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','${sysconfdir}/init.d/dfx-mgr.sh', '', d)} ${systemd_system_unitdir}"
78FILES:libdfx-mgr = "${libdir}/libdfx-mgr.so.${SOVERSION} ${libdir}/libdfx-mgr.so.${SOMAJOR}"
diff --git a/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb b/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb
index af786e7e..2114eafd 100644
--- a/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb
+++ b/meta-xilinx-core/recipes-bsp/initramdisk/initramdisk-xilinx.bb
@@ -18,18 +18,18 @@ do_install[vardepsexclude] += "DEPLOY_DIR_IMAGE"
18do_install[depends] += "${INITRAMFS_IMAGE}:do_image_complete" 18do_install[depends] += "${INITRAMFS_IMAGE}:do_image_complete"
19do_install[cleandirs] = "${D}" 19do_install[cleandirs] = "${D}"
20do_install() { 20do_install() {
21 if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot ]; then 21 if [ -e ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot ]; then
22 install -d ${D}/boot/ 22 install -d ${D}/boot/
23 install -m 0644 ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot ${D}/boot/. 23 install -m 0644 ${DEPLOY_DIR_IMAGE}/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot ${D}/boot/.
24 else 24 else
25 bbfatal "Unable to find expected initramfs: ${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot" 25 bbfatal "Unable to find expected initramfs: ${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot"
26 fi 26 fi
27} 27}
28 28
29PACKAGES = "${PACKAGE_BEFORE_PN} ${PN}" 29PACKAGES = "${PACKAGE_BEFORE_PN} ${PN}"
30 30
31RPROVIDES:${PN} = "initramdisk" 31RPROVIDES:${PN} = "initramdisk"
32FILES:${PN} = "/boot/${INITRAMFS_IMAGE}-${MACHINE}.cpio.gz.u-boot" 32FILES:${PN} = "/boot/${INITRAMFS_IMAGE}-${MACHINE}.rootfs.cpio.gz.u-boot"
33 33
34python() { 34python() {
35 if not d.getVar('INITRAMFS_IMAGE'): 35 if not d.getVar('INITRAMFS_IMAGE'):
diff --git a/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb
new file mode 100644
index 00000000..2c180561
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/libdfx/libdfx_1.0.bb
@@ -0,0 +1,23 @@
1SUMMARY = "Xilinx libdfx library"
2DESCRIPTION = "Xilinx libdfx Library and headers"
3
4LICENSE = "MIT & GPL-2.0-or-later"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=94aba86aec117f003b958a52f019f1a7"
6
7BRANCH ?= "xlnx_rel_v2022.2"
8REPO ?= "git://github.com/Xilinx/libdfx.git;protocol=https"
9BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
10SRC_URI = "${REPO};${BRANCHARG}"
11SRCREV = "f2b7bbca9d6936141024becfb92266600eeefc2b"
12
13COMPATIBLE_MACHINE = "^$"
14COMPATIBLE_MACHINE:zynqmp = "zynqmp"
15COMPATIBLE_MACHINE:versal = "versal"
16
17S = "${WORKDIR}/git"
18
19inherit cmake
20
21# Due to an update where the soname/version was defined, we need to use an RREPLACES
22# so updates will work properly.
23RREPLACES:${PN} = "libdfx"
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb
new file mode 100644
index 00000000..eaf8d4ce
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.1.bb
@@ -0,0 +1,21 @@
1require u-boot-tools-xlnx.inc
2require u-boot-xlnx-2022.1.inc
3
4# MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct
5# bmp_logo.h
6SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"'
7
8# Default do_compile fails with:
9# | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates.
10# The regular workaround of calling 'git diff' seems to be problematic.
11do_compile () {
12 oe_runmake -C ${S} tools-only_defconfig O=${B}
13
14 # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
15 # generating it requires bin2header tool, which for target build
16 # is built with target tools and thus cannot be executed on host.
17 sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config
18
19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
20}
21
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb
new file mode 100644
index 00000000..44636872
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-tools-xlnx_2022.2.bb
@@ -0,0 +1,21 @@
1require u-boot-tools-xlnx.inc
2require u-boot-xlnx-2022.2.inc
3
4# MUST clear CONFIG_VIDEO to avoid a compilation failure trying to construct
5# bmp_logo.h
6SED_CONFIG_EFI:append = ' -e "s/CONFIG_VIDEO=.*/# CONFIG_VIDEO is not set/"'
7
8# Default do_compile fails with:
9# | error: object directory ../downloads/git2/github.com.Xilinx.u-boot-xlnx.git/objects does not exist; check .git/objects/info/alternates.
10# The regular workaround of calling 'git diff' seems to be problematic.
11do_compile () {
12 oe_runmake -C ${S} tools-only_defconfig O=${B}
13
14 # Disable CONFIG_CMD_LICENSE, license.h is not used by tools and
15 # generating it requires bin2header tool, which for target build
16 # is built with target tools and thus cannot be executed on host.
17 sed -i -e "s/CONFIG_CMD_LICENSE=.*/# CONFIG_CMD_LICENSE is not set/" ${SED_CONFIG_EFI} ${B}/.config
18
19 oe_runmake -C ${S} cross_tools NO_SDL=1 O=${B}
20}
21
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc
new file mode 100644
index 00000000..a0c0b50d
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.1.inc
@@ -0,0 +1,17 @@
1UBOOT_VERSION = "v2021.01"
2
3UBRANCH ?= "xlnx_rebase_v2022.01_2022.1_update"
4
5SRCREV = "91ad7924e7f59584d597353e1bb86794341e0a7e"
6
7LICENSE = "GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
9
10# u-boot-xlnx has support for these
11HAS_PLATFORM_INIT ?= " \
12 xilinx_zynqmp_virt_config \
13 xilinx_zynq_virt_defconfig \
14 xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \
15 "
16
17DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc
new file mode 100644
index 00000000..6415861d
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2022.2.inc
@@ -0,0 +1,17 @@
1UBOOT_VERSION = "v2021.01"
2
3UBRANCH ?= "xlnx_rebase_v2022.01"
4
5SRCREV = "b31476685debf5512ed0d4e8000fa5167a22f530"
6
7LICENSE = "GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
9
10# u-boot-xlnx has support for these
11HAS_PLATFORM_INIT ?= " \
12 xilinx_zynqmp_virt_config \
13 xilinx_zynq_virt_defconfig \
14 xilinx_versal_vc_p_a2197_revA_x_prc_01_revA \
15 "
16
17DEPENDS += "bc-native dtc-native python3-setuptools-native gnutls-native"
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc
index fd51561a..72f43f71 100644
--- a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx-2023.1.inc
@@ -1,8 +1,8 @@
1UBOOT_VERSION = "v2023.01" 1UBOOT_VERSION = "v2023.01"
2 2
3UBRANCH = "xlnx_rebase_v2023.01" 3UBRANCH = "xlnx_rebase_v2023.01_update"
4 4
5SRCREV = "8624651f9ae49d326e29d9ec9a80a881a769640a" 5SRCREV = "1689570b68dd3827e527a520805aa0bb7f58ee09"
6 6
7LICENSE = "GPL-2.0-or-later" 7LICENSE = "GPL-2.0-or-later"
8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897" 8LIC_FILES_CHKSUM = "file://README;beginline=1;endline=4;md5=744e7e3bb0c94b4b9f6b3db3bf893897"
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb
new file mode 100644
index 00000000..c1c45e56
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.1.bb
@@ -0,0 +1,4 @@
1
2require u-boot-xlnx.inc
3require u-boot-spl-zynq-init.inc
4require u-boot-xlnx-2022.1.inc
diff --git a/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb
new file mode 100644
index 00000000..b10f321b
--- /dev/null
+++ b/meta-xilinx-core/recipes-bsp/u-boot/u-boot-xlnx_2022.2.bb
@@ -0,0 +1,4 @@
1
2require u-boot-xlnx.inc
3require u-boot-spl-zynq-init.inc
4require u-boot-xlnx-2022.2.inc
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend
new file mode 100644
index 00000000..fd3a3c11
--- /dev/null
+++ b/meta-xilinx-core/recipes-core/images/core-image-ptest-all.bbappend
@@ -0,0 +1,5 @@
1# Minimum board memory required for each type
2QB_MEM:microblaze = "-m 2G"
3QB_MEM:zynq = "-m 1G"
4QB_MEM:zynqmp = "-m 4G"
5QB_MEM:versal = "-m 16G"
diff --git a/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend
new file mode 100644
index 00000000..fd3a3c11
--- /dev/null
+++ b/meta-xilinx-core/recipes-core/images/core-image-ptest.bbappend
@@ -0,0 +1,5 @@
1# Minimum board memory required for each type
2QB_MEM:microblaze = "-m 2G"
3QB_MEM:zynq = "-m 1G"
4QB_MEM:zynqmp = "-m 4G"
5QB_MEM:versal = "-m 16G"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc
index 7e88713c..c18a5326 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-alt.inc
@@ -17,4 +17,37 @@ python () {
17 if (d.getVar('BPN') != 'qemu'): 17 if (d.getVar('BPN') != 'qemu'):
18 for pkg in d.getVar('PACKAGES').split(): 18 for pkg in d.getVar('PACKAGES').split():
19 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu')) 19 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
20
21 for pkg in d.getVar('PACKAGES_DYNAMIC').split():
22 d.appendVar('PACKAGES_DYNAMIC', ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
20} 23}
24
25# From Poky qemu.inc
26# Modified to add compatibility RPROVIDES
27python split_qemu_packages () {
28 archdir = d.expand('${bindir}/')
29 syspackages = do_split_packages(d, archdir, r'^qemu-system-(.*)$', '${PN}-system-%s', 'QEMU full system emulation binaries(%s)' , prepend=True)
30 if syspackages:
31 d.setVar('RDEPENDS:' + d.getVar('PN') + '-system-all', ' '.join(syspackages))
32
33 if (d.getVar('BPN') != 'qemu'):
34 for pkg in syspackages:
35 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
36
37 userpackages = do_split_packages(d, archdir, r'^qemu-((?!system|edid|ga|img|io|nbd|pr-helper|storage-daemon).*)$', '${PN}-user-%s', 'QEMU full user emulation binaries(%s)' , prepend=True)
38 if userpackages:
39 d.setVar('RDEPENDS:' + d.getVar('PN') + '-user-all', ' '.join(userpackages))
40
41 if (d.getVar('BPN') != 'qemu'):
42 for pkg in userpackages:
43 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
44
45 mipspackage = d.getVar('PN') + "-user-mips"
46 if mipspackage in ' '.join(userpackages):
47 d.appendVar('RDEPENDS:' + mipspackage, ' ' + d.getVar("MLPREFIX") + 'bash')
48
49 if (d.getVar('BPN') != 'qemu'):
50 for pkg in mipspackage:
51 d.appendVar('RPROVIDES:%s' % pkg, ' ' + pkg.replace(d.getVar('PN'), 'qemu'))
52}
53
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.1.bb
new file mode 100644
index 00000000..7c734cd6
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.1.bb
@@ -0,0 +1,8 @@
1
2require qemu-devicetrees.inc
3
4BRANCH ?= "xlnx_rel_v2022.1"
5SRCREV ?= "0499324af1178057c3730b0989c8fb5c5bbc4cf8"
6
7FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
8SRC_URI:append = " file://0001-Makefile-Use-python3-instead-of-python.patch"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.2.bb
new file mode 100644
index 00000000..6675ba3e
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2022.2.bb
@@ -0,0 +1,6 @@
1
2require qemu-devicetrees.inc
3
4BRANCH ?= "xlnx_rel_v2022.2"
5SRCREV ?= "cf5d357e16c13ac447861f908e83951ffb7b4301"
6
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb
index 91e787bd..dc1feda4 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-devicetrees_2023.1.bb
@@ -2,5 +2,5 @@
2require qemu-devicetrees.inc 2require qemu-devicetrees.inc
3 3
4BRANCH ?= "xlnx_rel_v2023.1" 4BRANCH ?= "xlnx_rel_v2023.1"
5SRCREV ?= "1c45adcde1fc06432c01be250bf668c6477d8459" 5SRCREV ?= "56538937584f527fb408347c3b430142e74723e8"
6 6
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc
new file mode 100644
index 00000000..bb8fac70
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.1.inc
@@ -0,0 +1,8 @@
1# Note this isn't really the 2022.1 or 2022.2 version of qemu-xilinx
2# Instead it's the current master version, as qemu 6.1.0 doesn't
3# work reliabily anymore.
4
5XILINX_QEMU_VERSION = "v7.1.0"
6BRANCH = "master"
7SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376"
8
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc
new file mode 100644
index 00000000..bb8fac70
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2022.2.inc
@@ -0,0 +1,8 @@
1# Note this isn't really the 2022.1 or 2022.2 version of qemu-xilinx
2# Instead it's the current master version, as qemu 6.1.0 doesn't
3# work reliabily anymore.
4
5XILINX_QEMU_VERSION = "v7.1.0"
6BRANCH = "master"
7SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376"
8
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc
index 06ac05a1..362a7dbe 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-2023.1.inc
@@ -1,3 +1,5 @@
1XILINX_QEMU_VERSION = "v7.1.0" 1XILINX_QEMU_VERSION = "v7.1.0"
2BRANCH = "xlnx_rel_v2023.1" 2BRANCH = "xlnx_rel_v2023.1"
3SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376" 3SRCREV = "21adc9f99e813fb24fb65421259b5b0614938376"
4
5PACKAGECONFIG[debuginfo] = ""
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch
deleted file mode 100644
index bdb77ec7..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/cross.patch
+++ /dev/null
@@ -1,40 +0,0 @@
1From f51ece86f84c877f255746cba22a6745f37d2b7f Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Tue, 5 Jan 2021 23:00:14 +0000
4Subject: [PATCH] qemu: Upgrade 5.1.0->5.2.0
5
6We need to be able to trigger configure's cross code but we don't want
7to set cross_prefix as it does other things we don't want. Patch things
8so we can do what we need in the target config case.
9
10Upstream-Status: Inappropriate [may be rewritten in a way upstream may accept?]
11Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
12---
13 configure | 4 ----
14 1 file changed, 4 deletions(-)
15
16diff --git a/configure b/configure
17index 9a79a004d..563b7827f 100755
18--- a/configure
19+++ b/configure
20@@ -5128,7 +5128,6 @@ if test "$skip_meson" = no; then
21 fi
22 echo "strip = [$(meson_quote $strip)]" >> $cross
23 echo "windres = [$(meson_quote $windres)]" >> $cross
24- if test "$cross_compile" = "yes"; then
25 cross_arg="--cross-file config-meson.cross"
26 echo "[host_machine]" >> $cross
27 if test "$mingw32" = "yes" ; then
28@@ -5160,9 +5159,6 @@ if test "$skip_meson" = no; then
29 else
30 echo "endian = 'little'" >> $cross
31 fi
32- else
33- cross_arg="--native-file config-meson.cross"
34- fi
35 mv $cross config-meson.cross
36
37 rm -rf meson-private meson-info meson-logs
38--
392.17.1
40
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-net-tulip-Restrict-DMA-engine-to-memories.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-net-tulip-Restrict-DMA-engine-to-memories.patch
new file mode 100644
index 00000000..6c85a77b
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-net-tulip-Restrict-DMA-engine-to-memories.patch
@@ -0,0 +1,64 @@
1CVE: CVE-2022-2962
2Upstream-Status: Backport
3Signed-off-by: Ross Burton <ross.burton@arm.com>
4
5From 5c5c50b0a73d78ffe18336c9996fef5eae9bbbb0 Mon Sep 17 00:00:00 2001
6From: Zheyu Ma <zheyuma97@gmail.com>
7Date: Sun, 21 Aug 2022 20:43:43 +0800
8Subject: [PATCH] net: tulip: Restrict DMA engine to memories
9
10The DMA engine is started by I/O access and then itself accesses the
11I/O registers, triggering a reentrancy bug.
12
13The following log can reveal it:
14==5637==ERROR: AddressSanitizer: stack-overflow
15 #0 0x5595435f6078 in tulip_xmit_list_update qemu/hw/net/tulip.c:673
16 #1 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13
17 #2 0x559544637f86 in memory_region_write_accessor qemu/softmmu/memory.c:492:5
18 #3 0x5595446379fa in access_with_adjusted_size qemu/softmmu/memory.c:554:18
19 #4 0x5595446372fa in memory_region_dispatch_write qemu/softmmu/memory.c
20 #5 0x55954468b74c in flatview_write_continue qemu/softmmu/physmem.c:2825:23
21 #6 0x559544683662 in flatview_write qemu/softmmu/physmem.c:2867:12
22 #7 0x5595446833f3 in address_space_write qemu/softmmu/physmem.c:2963:18
23 #8 0x5595435fb082 in dma_memory_rw_relaxed qemu/include/sysemu/dma.h:87:12
24 #9 0x5595435fb082 in dma_memory_rw qemu/include/sysemu/dma.h:130:12
25 #10 0x5595435fb082 in dma_memory_write qemu/include/sysemu/dma.h:171:12
26 #11 0x5595435fb082 in stl_le_dma qemu/include/sysemu/dma.h:272:1
27 #12 0x5595435fb082 in stl_le_pci_dma qemu/include/hw/pci/pci.h:910:1
28 #13 0x5595435fb082 in tulip_desc_write qemu/hw/net/tulip.c:101:9
29 #14 0x5595435f7e3d in tulip_xmit_list_update qemu/hw/net/tulip.c:706:9
30 #15 0x5595435f204a in tulip_write qemu/hw/net/tulip.c:805:13
31
32Fix this bug by restricting the DMA engine to memories regions.
33
34Signed-off-by: Zheyu Ma <zheyuma97@gmail.com>
35Signed-off-by: Jason Wang <jasowang@redhat.com>
36---
37 hw/net/tulip.c | 4 ++--
38 1 file changed, 2 insertions(+), 2 deletions(-)
39
40diff --git a/hw/net/tulip.c b/hw/net/tulip.c
41index 097e905bec..b9e42c322a 100644
42--- a/hw/net/tulip.c
43+++ b/hw/net/tulip.c
44@@ -70,7 +70,7 @@ static const VMStateDescription vmstate_pci_tulip = {
45 static void tulip_desc_read(TULIPState *s, hwaddr p,
46 struct tulip_descriptor *desc)
47 {
48- const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED;
49+ const MemTxAttrs attrs = { .memory = true };
50
51 if (s->csr[0] & CSR0_DBO) {
52 ldl_be_pci_dma(&s->dev, p, &desc->status, attrs);
53@@ -88,7 +88,7 @@ static void tulip_desc_read(TULIPState *s, hwaddr p,
54 static void tulip_desc_write(TULIPState *s, hwaddr p,
55 struct tulip_descriptor *desc)
56 {
57- const MemTxAttrs attrs = MEMTXATTRS_UNSPECIFIED;
58+ const MemTxAttrs attrs = { .memory = true };
59
60 if (s->csr[0] & CSR0_DBO) {
61 stl_be_pci_dma(&s->dev, p, desc->status, attrs);
62--
632.34.1
64
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch
new file mode 100644
index 00000000..6fb160e6
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0001-qemu-Add-addition-environment-space-to-boot-loader-q.patch
@@ -0,0 +1,36 @@
1From de64af82950a6908f9407dfc92b83c17e2af3eab Mon Sep 17 00:00:00 2001
2From: Jason Wessel <jason.wessel@windriver.com>
3Date: Fri, 28 Mar 2014 17:42:43 +0800
4Subject: [PATCH 01/12] qemu: Add addition environment space to boot loader
5 qemu-system-mips
6
7Upstream-Status: Inappropriate - OE uses deep paths
8
9If you create a project with very long directory names like 128 characters
10deep and use NFS, the kernel arguments will be truncated. The kernel will
11accept longer strings such as 1024 bytes, but the qemu boot loader defaulted
12to only 256 bytes. This patch expands the limit.
13
14Signed-off-by: Jason Wessel <jason.wessel@windriver.com>
15Signed-off-by: Roy Li <rongqing.li@windriver.com>
16
17---
18 hw/mips/malta.c | 2 +-
19 1 file changed, 1 insertion(+), 1 deletion(-)
20
21diff --git a/hw/mips/malta.c b/hw/mips/malta.c
22index 628851172..12d37f35d 100644
23--- a/hw/mips/malta.c
24+++ b/hw/mips/malta.c
25@@ -61,7 +61,7 @@
26 #define ENVP_PADDR 0x2000
27 #define ENVP_VADDR cpu_mips_phys_to_kseg0(NULL, ENVP_PADDR)
28 #define ENVP_NB_ENTRIES 16
29-#define ENVP_ENTRY_SIZE 256
30+#define ENVP_ENTRY_SIZE 1024
31
32 /* Hardware addresses */
33 #define FLASH_ADDRESS 0x1e000000ULL
34--
352.30.2
36
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0002-chardev-connect-socket-to-a-spawned-command.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0002-chardev-connect-socket-to-a-spawned-command.patch
new file mode 100644
index 00000000..63a99c96
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0002-chardev-connect-socket-to-a-spawned-command.patch
@@ -0,0 +1,246 @@
1From 14cd62607c9de232edf0a9b8503bd02783e03411 Mon Sep 17 00:00:00 2001
2From: Alistair Francis <alistair.francis@xilinx.com>
3Date: Thu, 21 Dec 2017 11:35:16 -0800
4Subject: [PATCH 02/12] chardev: connect socket to a spawned command
5
6The command is started in a shell (sh -c) with stdin connect to QEMU
7via a Unix domain stream socket. QEMU then exchanges data via its own
8end of the socket, just like it normally does.
9
10"-chardev socket" supports some ways of connecting via protocols like
11telnet, but that is only a subset of the functionality supported by
12tools socat. To use socat instead, for example to connect via a socks
13proxy, use:
14
15 -chardev 'socket,id=socat,cmd=exec socat FD:0 SOCKS4A:socks-proxy.localdomain:example.com:9999,,socksuser=nobody' \
16 -device usb-serial,chardev=socat
17
18Beware that commas in the command must be escaped as double commas.
19
20Or interactively in the console:
21 (qemu) chardev-add socket,id=cat,cmd=cat
22 (qemu) device_add usb-serial,chardev=cat
23 ^ac
24 # cat >/dev/ttyUSB0
25 hello
26 hello
27
28Another usage is starting swtpm from inside QEMU. swtpm will
29automatically shut down once it looses the connection to the parent
30QEMU, so there is no risk of lingering processes:
31
32 -chardev 'socket,id=chrtpm0,cmd=exec swtpm socket --terminate --ctrl type=unixio,,clientfd=0 --tpmstate dir=... --log file=swtpm.log' \
33 -tpmdev emulator,id=tpm0,chardev=chrtpm0 \
34 -device tpm-tis,tpmdev=tpm0
35
36The patch was discussed upstream, but QEMU developers believe that the
37code calling QEMU should be responsible for managing additional
38processes. In OE-core, that would imply enhancing runqemu and
39oeqa. This patch is a simpler solution.
40
41Because it is not going upstream, the patch was written so that it is
42as simple as possible.
43
44Upstream-Status: Inappropriate [embedded specific]
45
46Signed-off-by: Patrick Ohly <patrick.ohly@intel.com>
47
48---
49 chardev/char-socket.c | 100 ++++++++++++++++++++++++++++++++++++++++++
50 chardev/char.c | 3 ++
51 qapi/char.json | 5 +++
52 3 files changed, 108 insertions(+)
53
54diff --git a/chardev/char-socket.c b/chardev/char-socket.c
55index fab2d791d..c79641f24 100644
56--- a/chardev/char-socket.c
57+++ b/chardev/char-socket.c
58@@ -1315,6 +1315,67 @@ static bool qmp_chardev_validate_socket(ChardevSocket *sock,
59 return true;
60 }
61
62+#ifndef _WIN32
63+static void chardev_open_socket_cmd(Chardev *chr,
64+ const char *cmd,
65+ Error **errp)
66+{
67+ int fds[2] = { -1, -1 };
68+ QIOChannelSocket *sioc = NULL;
69+ pid_t pid = -1;
70+ const char *argv[] = { "/bin/sh", "-c", cmd, NULL };
71+
72+ /*
73+ * We need a Unix domain socket for commands like swtpm and a single
74+ * connection, therefore we cannot use qio_channel_command_new_spawn()
75+ * without patching it first. Duplicating the functionality is easier.
76+ */
77+ if (socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC, 0, fds)) {
78+ error_setg_errno(errp, errno, "Error creating socketpair(AF_UNIX, SOCK_STREAM|SOCK_CLOEXEC)");
79+ goto error;
80+ }
81+
82+ pid = qemu_fork(errp);
83+ if (pid < 0) {
84+ goto error;
85+ }
86+
87+ if (!pid) {
88+ /* child */
89+ dup2(fds[1], STDIN_FILENO);
90+ execv(argv[0], (char * const *)argv);
91+ _exit(1);
92+ }
93+
94+ /*
95+ * Hand over our end of the socket pair to the qio channel.
96+ *
97+ * We don't reap the child because it is expected to keep
98+ * running. We also don't support the "reconnect" option for the
99+ * same reason.
100+ */
101+ sioc = qio_channel_socket_new_fd(fds[0], errp);
102+ if (!sioc) {
103+ goto error;
104+ }
105+ fds[0] = -1;
106+
107+ g_free(chr->filename);
108+ chr->filename = g_strdup_printf("cmd:%s", cmd);
109+ tcp_chr_new_client(chr, sioc);
110+
111+ error:
112+ if (fds[0] >= 0) {
113+ close(fds[0]);
114+ }
115+ if (fds[1] >= 0) {
116+ close(fds[1]);
117+ }
118+ if (sioc) {
119+ object_unref(OBJECT(sioc));
120+ }
121+}
122+#endif
123
124 static void qmp_chardev_open_socket(Chardev *chr,
125 ChardevBackend *backend,
126@@ -1323,6 +1384,9 @@ static void qmp_chardev_open_socket(Chardev *chr,
127 {
128 SocketChardev *s = SOCKET_CHARDEV(chr);
129 ChardevSocket *sock = backend->u.socket.data;
130+#ifndef _WIN32
131+ const char *cmd = sock->cmd;
132+#endif
133 bool do_nodelay = sock->has_nodelay ? sock->nodelay : false;
134 bool is_listen = sock->has_server ? sock->server : true;
135 bool is_telnet = sock->has_telnet ? sock->telnet : false;
136@@ -1393,6 +1457,14 @@ static void qmp_chardev_open_socket(Chardev *chr,
137
138 update_disconnected_filename(s);
139
140+#ifndef _WIN32
141+ if (cmd) {
142+ chardev_open_socket_cmd(chr, cmd, errp);
143+
144+ /* everything ready (or failed permanently) before we return */
145+ *be_opened = true;
146+ } else
147+#endif
148 if (s->is_listen) {
149 if (qmp_chardev_open_socket_server(chr, is_telnet || is_tn3270,
150 is_waitconnect, errp) < 0) {
151@@ -1412,6 +1484,9 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
152 const char *host = qemu_opt_get(opts, "host");
153 const char *port = qemu_opt_get(opts, "port");
154 const char *fd = qemu_opt_get(opts, "fd");
155+#ifndef _WIN32
156+ const char *cmd = qemu_opt_get(opts, "cmd");
157+#endif
158 #ifdef CONFIG_LINUX
159 bool tight = qemu_opt_get_bool(opts, "tight", true);
160 bool abstract = qemu_opt_get_bool(opts, "abstract", false);
161@@ -1419,6 +1494,20 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
162 SocketAddressLegacy *addr;
163 ChardevSocket *sock;
164
165+#ifndef _WIN32
166+ if (cmd) {
167+ /*
168+ * Here we have to ensure that no options are set which are incompatible with
169+ * spawning a command, otherwise unmodified code that doesn't know about
170+ * command spawning (like socket_reconnect_timeout()) might get called.
171+ */
172+ if (path || sock->server || sock->has_telnet || sock->has_tn3270 || sock->reconnect || host || port || sock->tls_creds) {
173+ error_setg(errp, "chardev: socket: cmd does not support any additional options");
174+ return;
175+ }
176+ } else
177+#endif
178+
179 if ((!!path + !!fd + !!host) > 1) {
180 error_setg(errp,
181 "None or one of 'path', 'fd' or 'host' option required.");
182@@ -1469,13 +1558,24 @@ static void qemu_chr_parse_socket(QemuOpts *opts, ChardevBackend *backend,
183 sock->tls_creds = g_strdup(qemu_opt_get(opts, "tls-creds"));
184 sock->has_tls_authz = qemu_opt_get(opts, "tls-authz");
185 sock->tls_authz = g_strdup(qemu_opt_get(opts, "tls-authz"));
186+#ifndef _WIN32
187+ sock->cmd = g_strdup(cmd);
188+#endif
189
190 addr = g_new0(SocketAddressLegacy, 1);
191+#ifndef _WIN32
192+ if (path || cmd) {
193+#else
194 if (path) {
195+#endif
196 UnixSocketAddress *q_unix;
197 addr->type = SOCKET_ADDRESS_TYPE_UNIX;
198 q_unix = addr->u.q_unix.data = g_new0(UnixSocketAddress, 1);
199+#ifndef _WIN32
200+ q_unix->path = cmd ? g_strdup_printf("cmd:%s", cmd) : g_strdup(path);
201+#else
202 q_unix->path = g_strdup(path);
203+#endif
204 #ifdef CONFIG_LINUX
205 q_unix->has_tight = true;
206 q_unix->tight = tight;
207diff --git a/chardev/char.c b/chardev/char.c
208index 0169d8dde..ce9a21f41 100644
209--- a/chardev/char.c
210+++ b/chardev/char.c
211@@ -835,6 +835,9 @@ QemuOptsList qemu_chardev_opts = {
212 },{
213 .name = "path",
214 .type = QEMU_OPT_STRING,
215+ },{
216+ .name = "cmd",
217+ .type = QEMU_OPT_STRING,
218 },{
219 .name = "host",
220 .type = QEMU_OPT_STRING,
221diff --git a/qapi/char.json b/qapi/char.json
222index 7b4215157..37feabdac 100644
223--- a/qapi/char.json
224+++ b/qapi/char.json
225@@ -250,6 +250,10 @@
226 #
227 # @addr: socket address to listen on (server=true)
228 # or connect to (server=false)
229+# @cmd: command to run via "sh -c" with stdin as one end of
230+# a AF_UNIX SOCK_DSTREAM socket pair. The other end
231+# is used by the chardev. Either an addr or a cmd can
232+# be specified, but not both.
233 # @tls-creds: the ID of the TLS credentials object (since 2.6)
234 # @tls-authz: the ID of the QAuthZ authorization object against which
235 # the client's x509 distinguished name will be validated. This
236@@ -276,6 +280,7 @@
237 ##
238 { 'struct': 'ChardevSocket',
239 'data': { 'addr': 'SocketAddressLegacy',
240+ '*cmd': 'str',
241 '*tls-creds': 'str',
242 '*tls-authz' : 'str',
243 '*server': 'bool',
244--
2452.30.2
246
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0003-apic-fixup-fallthrough-to-PIC.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0003-apic-fixup-fallthrough-to-PIC.patch
new file mode 100644
index 00000000..f350ffce
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0003-apic-fixup-fallthrough-to-PIC.patch
@@ -0,0 +1,47 @@
1From dc2a8ccd440ee3741b61606eafed3f7e092f4312 Mon Sep 17 00:00:00 2001
2From: Mark Asselstine <mark.asselstine@windriver.com>
3Date: Tue, 26 Feb 2013 11:43:28 -0500
4Subject: [PATCH 03/12] apic: fixup fallthrough to PIC
5
6Commit 0e21e12bb311c4c1095d0269dc2ef81196ccb60a [Don't route PIC
7interrupts through the local APIC if the local APIC config says so.]
8missed a check to ensure the local APIC is enabled. Since if the local
9APIC is disabled it doesn't matter what the local APIC config says.
10
11If this check isn't done and the guest has disabled the local APIC the
12guest will receive a general protection fault, similar to what is seen
13here:
14
15https://lists.gnu.org/archive/html/qemu-devel/2012-12/msg02304.html
16
17The GPF is caused by an attempt to service interrupt 0xffffffff. This
18comes about since cpu_get_pic_interrupt() calls apic_accept_pic_intr()
19(with the local APIC disabled apic_get_interrupt() returns -1).
20apic_accept_pic_intr() returns 0 and thus the interrupt number which
21is returned from cpu_get_pic_interrupt(), and which is attempted to be
22serviced, is -1.
23
24Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com>
25Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2013-04/msg00878.html]
26Signed-off-by: He Zhe <zhe.he@windriver.com>
27
28---
29 hw/intc/apic.c | 2 +-
30 1 file changed, 1 insertion(+), 1 deletion(-)
31
32diff --git a/hw/intc/apic.c b/hw/intc/apic.c
33index 3df11c34d..9506c88ce 100644
34--- a/hw/intc/apic.c
35+++ b/hw/intc/apic.c
36@@ -605,7 +605,7 @@ int apic_accept_pic_intr(DeviceState *dev)
37 APICCommonState *s = APIC(dev);
38 uint32_t lvt0;
39
40- if (!s)
41+ if (!s || !(s->spurious_vec & APIC_SV_ENABLE))
42 return -1;
43
44 lvt0 = s->lvt[APIC_LVT_LINT0];
45--
462.30.2
47
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch
index 4298964d..6faebd4e 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-6.1.0/0010-configure-Add-pkg-config-handling-for-libgcrypt.patch
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0004-configure-Add-pkg-config-handling-for-libgcrypt.patch
@@ -1,7 +1,7 @@
1From b51e6dd833172954c718bd600d846540eeb07220 Mon Sep 17 00:00:00 2001 1From d8265abdce5dc2bf74b3fccdf2b7257b4f3894f0 Mon Sep 17 00:00:00 2001
2From: He Zhe <zhe.he@windriver.com> 2From: He Zhe <zhe.he@windriver.com>
3Date: Wed, 28 Aug 2019 19:56:28 +0800 3Date: Wed, 28 Aug 2019 19:56:28 +0800
4Subject: [PATCH] configure: Add pkg-config handling for libgcrypt 4Subject: [PATCH 04/12] configure: Add pkg-config handling for libgcrypt
5 5
6libgcrypt may also be controlled by pkg-config, this patch adds pkg-config 6libgcrypt may also be controlled by pkg-config, this patch adds pkg-config
7handling for libgcrypt. 7handling for libgcrypt.
@@ -15,10 +15,10 @@ Signed-off-by: He Zhe <zhe.he@windriver.com>
15 1 file changed, 1 insertion(+), 1 deletion(-) 15 1 file changed, 1 insertion(+), 1 deletion(-)
16 16
17diff --git a/meson.build b/meson.build 17diff --git a/meson.build b/meson.build
18index b3e7ec0e9..4cbe715b7 100644 18index 861de93c4..d45ff2d7c 100644
19--- a/meson.build 19--- a/meson.build
20+++ b/meson.build 20+++ b/meson.build
21@@ -874,7 +874,7 @@ endif 21@@ -1063,7 +1063,7 @@ endif
22 if not gnutls_crypto.found() 22 if not gnutls_crypto.found()
23 if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled() 23 if (not get_option('gcrypt').auto() or have_system) and not get_option('nettle').enabled()
24 gcrypt = dependency('libgcrypt', version: '>=1.8', 24 gcrypt = dependency('libgcrypt', version: '>=1.8',
@@ -27,3 +27,6 @@ index b3e7ec0e9..4cbe715b7 100644
27 required: get_option('gcrypt'), 27 required: get_option('gcrypt'),
28 kwargs: static_kwargs) 28 kwargs: static_kwargs)
29 # Debian has removed -lgpg-error from libgcrypt-config 29 # Debian has removed -lgpg-error from libgcrypt-config
30--
312.30.2
32
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0005-qemu-Do-not-include-file-if-not-exists.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0005-qemu-Do-not-include-file-if-not-exists.patch
new file mode 100644
index 00000000..3f3c39f9
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0005-qemu-Do-not-include-file-if-not-exists.patch
@@ -0,0 +1,35 @@
1From f39e7bfc5ed07b5ecaeb705c4eae4855ca120d47 Mon Sep 17 00:00:00 2001
2From: Oleksiy Obitotskyy <oobitots@cisco.com>
3Date: Wed, 25 Mar 2020 21:21:35 +0200
4Subject: [PATCH 05/12] qemu: Do not include file if not exists
5
6Script configure checks for if_alg.h and check failed but
7if_alg.h still included.
8
9Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2020-03/msg07188.html]
10Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
11
12[update patch context]
13Signed-off-by: Sakib Sajal <sakib.sajal@windriver.com>
14
15---
16 linux-user/syscall.c | 2 ++
17 1 file changed, 2 insertions(+)
18
19diff --git a/linux-user/syscall.c b/linux-user/syscall.c
20index f65045efe..340e0c6f0 100644
21--- a/linux-user/syscall.c
22+++ b/linux-user/syscall.c
23@@ -113,7 +113,9 @@
24 #include <linux/blkpg.h>
25 #include <netpacket/packet.h>
26 #include <linux/netlink.h>
27+#if defined(CONFIG_AF_ALG)
28 #include <linux/if_alg.h>
29+#endif
30 #include <linux/rtc.h>
31 #include <sound/asound.h>
32 #ifdef HAVE_BTRFS_H
33--
342.30.2
35
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch
new file mode 100644
index 00000000..75c03693
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0006-qemu-Add-some-user-space-mmap-tweaks-to-address-musl.patch
@@ -0,0 +1,52 @@
1From 375cae3dd6151ef33cae8f243f6a2c2da6c0c356 Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Fri, 8 Jan 2021 17:27:06 +0000
4Subject: [PATCH 06/12] qemu: Add some user space mmap tweaks to address musl
5 32 bit
6
7When using qemu-i386 to build qemux86 webkitgtk on musl, it sits in an
8infinite loop of mremap calls of ever decreasing/increasing addresses.
9
10I suspect something in the musl memory allocation code loops indefinitely
11if it only sees ENOMEM and only exits when it hits EFAULT.
12
13According to the docs, trying to mremap outside the address space
14can/should return EFAULT and changing this allows the build to succeed.
15
16A better return value for the other cases of invalid addresses is EINVAL
17rather than ENOMEM so adjust the other part of the test to this.
18
19Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2021-01/msg01355.html]
20Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org
21
22---
23 linux-user/mmap.c | 10 +++++++---
24 1 file changed, 7 insertions(+), 3 deletions(-)
25
26diff --git a/linux-user/mmap.c b/linux-user/mmap.c
27index c125031b9..e651834a5 100644
28--- a/linux-user/mmap.c
29+++ b/linux-user/mmap.c
30@@ -749,12 +749,16 @@ abi_long target_mremap(abi_ulong old_addr, abi_ulong old_size,
31 int prot;
32 void *host_addr;
33
34- if (!guest_range_valid_untagged(old_addr, old_size) ||
35- ((flags & MREMAP_FIXED) &&
36+ if (!guest_range_valid_untagged(old_addr, old_size)) {
37+ errno = EFAULT;
38+ return -1;
39+ }
40+
41+ if (((flags & MREMAP_FIXED) &&
42 !guest_range_valid_untagged(new_addr, new_size)) ||
43 ((flags & MREMAP_MAYMOVE) == 0 &&
44 !guest_range_valid_untagged(old_addr, new_size))) {
45- errno = ENOMEM;
46+ errno = EINVAL;
47 return -1;
48 }
49
50--
512.30.2
52
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0007-qemu-Determinism-fixes.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0007-qemu-Determinism-fixes.patch
new file mode 100644
index 00000000..0d7dae36
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0007-qemu-Determinism-fixes.patch
@@ -0,0 +1,34 @@
1From 50bab5c2605b609ea7ea154f57a9be96d656725a Mon Sep 17 00:00:00 2001
2From: Richard Purdie <richard.purdie@linuxfoundation.org>
3Date: Mon, 1 Mar 2021 13:00:47 +0000
4Subject: [PATCH 07/12] qemu: Determinism fixes
5
6When sources are included within debug information, a couple of areas of the
7qemu build are not reproducible due to either full buildpaths or timestamps.
8
9Replace the full paths with relative ones. I couldn't figure out how to get
10meson to pass relative paths but we can fix that in the script.
11
12Upstream-Status: Pending [some version of all/part of this may be accepted]
13RP 2021/3/1
14
15---
16 scripts/decodetree.py | 2 +-
17 1 file changed, 1 insertion(+), 1 deletion(-)
18
19diff --git a/scripts/decodetree.py b/scripts/decodetree.py
20index a03dc6b5e..4ea24c1f3 100644
21--- a/scripts/decodetree.py
22+++ b/scripts/decodetree.py
23@@ -1328,7 +1328,7 @@ def main():
24 toppat = ExcMultiPattern(0)
25
26 for filename in args:
27- input_file = filename
28+ input_file = os.path.relpath(filename)
29 f = open(filename, 'rt', encoding='utf-8')
30 parse_file(f, toppat)
31 f.close()
32--
332.30.2
34
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch
new file mode 100644
index 00000000..43d3c7cf
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0008-tests-meson.build-use-relative-path-to-refer-to-file.patch
@@ -0,0 +1,38 @@
1From 2bf9388b801d4389e2d57e95a7897bfc1c42786e Mon Sep 17 00:00:00 2001
2From: Changqing Li <changqing.li@windriver.com>
3Date: Thu, 14 Jan 2021 06:33:04 +0000
4Subject: [PATCH 08/12] tests/meson.build: use relative path to refer to files
5
6Fix error like:
7Fatal error: can't create tests/ptimer-test.p/..._qemu-5.2.0_hw_core_ptimer.c.o: File name too long
8
9when build path is too long, use meson.source_root() will make this
10filename too long. Fixed by using relative path to refer to files
11
12Upstream-Status: Submitted [send to qemu-devel]
13
14Signed-off-by: Changqing Li <changqing.li@windriver.com>
15
16---
17 tests/unit/meson.build | 4 ++--
18 1 file changed, 2 insertions(+), 2 deletions(-)
19
20diff --git a/tests/unit/meson.build b/tests/unit/meson.build
21index 96b295263..e4c3246dc 100644
22--- a/tests/unit/meson.build
23+++ b/tests/unit/meson.build
24@@ -44,9 +44,9 @@ tests = {
25 'test-keyval': [testqapi],
26 'test-logging': [],
27 'test-uuid': [],
28- 'ptimer-test': ['ptimer-test-stubs.c', meson.project_source_root() / 'hw/core/ptimer.c'],
29+ 'ptimer-test': ['ptimer-test-stubs.c', '../../hw/core/ptimer.c'],
30 'test-qapi-util': [],
31- 'test-smp-parse': [qom, meson.project_source_root() / 'hw/core/machine-smp.c'],
32+ 'test-smp-parse': [qom, '../../hw/core/machine-smp.c'],
33 }
34
35 if have_system or have_tools
36--
372.30.2
38
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch
new file mode 100644
index 00000000..23d0a698
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0009-Define-MAP_SYNC-and-MAP_SHARED_VALIDATE-on-needed-li.patch
@@ -0,0 +1,49 @@
1From ebf4bb2f51da83af0c61480414cfa156f7308b34 Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Mon, 21 Mar 2022 10:09:38 -0700
4Subject: [PATCH 09/12] Define MAP_SYNC and MAP_SHARED_VALIDATE on needed linux
5 systems
6
7linux only wires MAP_SYNC and MAP_SHARED_VALIDATE for architectures
8which include asm-generic/mman.h and mips/powerpc are not including this
9file in linux/mman.h, therefore these should be defined for such
10architectures on Linux as well. This fixes build on mips/musl/linux
11
12Upstream-Status: Submitted [https://lists.nongnu.org/archive/html/qemu-devel/2022-03/msg05298.html]
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14Cc: Zhang Yi <yi.z.zhang@linux.intel.com>
15Cc: Michael S. Tsirkin <mst@redhat.com>
16
17---
18 util/mmap-alloc.c | 10 +++++++---
19 1 file changed, 7 insertions(+), 3 deletions(-)
20
21diff --git a/util/mmap-alloc.c b/util/mmap-alloc.c
22index 893d86435..86d3cda24 100644
23--- a/util/mmap-alloc.c
24+++ b/util/mmap-alloc.c
25@@ -10,14 +10,18 @@
26 * later. See the COPYING file in the top-level directory.
27 */
28
29+#include "qemu/osdep.h"
30 #ifdef CONFIG_LINUX
31 #include <linux/mman.h>
32-#else /* !CONFIG_LINUX */
33+#endif /* CONFIG_LINUX */
34+
35+#ifndef MAP_SYNC
36 #define MAP_SYNC 0x0
37+#endif /* MAP_SYNC */
38+#ifndef MAP_SHARED_VALIDATE
39 #define MAP_SHARED_VALIDATE 0x0
40-#endif /* CONFIG_LINUX */
41+#endif /* MAP_SHARED_VALIDATE */
42
43-#include "qemu/osdep.h"
44 #include "qemu/mmap-alloc.h"
45 #include "qemu/host-utils.h"
46 #include "qemu/cutils.h"
47--
482.30.2
49
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch
new file mode 100644
index 00000000..810c74fa
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/0010-hw-pvrdma-Protect-against-buggy-or-malicious-guest-d.patch
@@ -0,0 +1,43 @@
1CVE: CVE-2022-1050
2Upstream-Status: Submitted [https://lore.kernel.org/qemu-devel/20220403095234.2210-1-yuval.shaia.ml@gmail.com/]
3Signed-off-by: Ross Burton <ross.burton@arm.com>
4
5From dbdef95c272e8f3ec037c3db4197c66002e30995 Mon Sep 17 00:00:00 2001
6From: Yuval Shaia <yuval.shaia.ml@gmail.com>
7Date: Sun, 3 Apr 2022 12:52:34 +0300
8Subject: [PATCH] hw/pvrdma: Protect against buggy or malicious guest driver
9
10Guest driver might execute HW commands when shared buffers are not yet
11allocated.
12This could happen on purpose (malicious guest) or because of some other
13guest/host address mapping error.
14We need to protect againts such case.
15
16Fixes: CVE-2022-1050
17
18Reported-by: Raven <wxhusst@gmail.com>
19Signed-off-by: Yuval Shaia <yuval.shaia.ml@gmail.com>
20---
21 hw/rdma/vmw/pvrdma_cmd.c | 6 ++++++
22 1 file changed, 6 insertions(+)
23
24diff --git a/hw/rdma/vmw/pvrdma_cmd.c b/hw/rdma/vmw/pvrdma_cmd.c
25index da7ddfa548..89db963c46 100644
26--- a/hw/rdma/vmw/pvrdma_cmd.c
27+++ b/hw/rdma/vmw/pvrdma_cmd.c
28@@ -796,6 +796,12 @@ int pvrdma_exec_cmd(PVRDMADev *dev)
29
30 dsr_info = &dev->dsr_info;
31
32+ if (!dsr_info->dsr) {
33+ /* Buggy or malicious guest driver */
34+ rdma_error_report("Exec command without dsr, req or rsp buffers");
35+ goto out;
36+ }
37+
38 if (dsr_info->req->hdr.cmd >= sizeof(cmd_handlers) /
39 sizeof(struct cmd_handler)) {
40 rdma_error_report("Unsupported command");
41--
422.34.1
43
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/CVE-2022-3165.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/CVE-2022-3165.patch
new file mode 100644
index 00000000..3b4a6694
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/CVE-2022-3165.patch
@@ -0,0 +1,59 @@
1CVE: CVE-2022-3165
2Upstream-Status: Backport
3Signed-off-by: Ross Burton <ross.burton@arm.com>
4
5From d307040b18bfcb1393b910f1bae753d5c12a4dc7 Mon Sep 17 00:00:00 2001
6From: Mauro Matteo Cascella <mcascell@redhat.com>
7Date: Sun, 25 Sep 2022 22:45:11 +0200
8Subject: [PATCH] ui/vnc-clipboard: fix integer underflow in
9 vnc_client_cut_text_ext
10
11Extended ClientCutText messages start with a 4-byte header. If len < 4,
12an integer underflow occurs in vnc_client_cut_text_ext. The result is
13used to decompress data in a while loop in inflate_buffer, leading to
14CPU consumption and denial of service. Prevent this by checking dlen in
15protocol_client_msg.
16
17Fixes: CVE-2022-3165
18Fixes: 0bf41cab93e5 ("ui/vnc: clipboard support")
19Reported-by: TangPeng <tangpeng@qianxin.com>
20Signed-off-by: Mauro Matteo Cascella <mcascell@redhat.com>
21Message-Id: <20220925204511.1103214-1-mcascell@redhat.com>
22Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
23---
24 ui/vnc.c | 11 ++++++++---
25 1 file changed, 8 insertions(+), 3 deletions(-)
26
27diff --git a/ui/vnc.c b/ui/vnc.c
28index 6a05d06147..acb3629cd8 100644
29--- a/ui/vnc.c
30+++ b/ui/vnc.c
31@@ -2442,8 +2442,8 @@ static int protocol_client_msg(VncState *vs, uint8_t *data, size_t len)
32 if (len == 1) {
33 return 8;
34 }
35+ uint32_t dlen = abs(read_s32(data, 4));
36 if (len == 8) {
37- uint32_t dlen = abs(read_s32(data, 4));
38 if (dlen > (1 << 20)) {
39 error_report("vnc: client_cut_text msg payload has %u bytes"
40 " which exceeds our limit of 1MB.", dlen);
41@@ -2456,8 +2456,13 @@ static int protocol_client_msg(VncState *vs, uint8_t *data, size_t len)
42 }
43
44 if (read_s32(data, 4) < 0) {
45- vnc_client_cut_text_ext(vs, abs(read_s32(data, 4)),
46- read_u32(data, 8), data + 12);
47+ if (dlen < 4) {
48+ error_report("vnc: malformed payload (header less than 4 bytes)"
49+ " in extended clipboard pseudo-encoding.");
50+ vnc_client_error(vs);
51+ break;
52+ }
53+ vnc_client_cut_text_ext(vs, dlen, read_u32(data, 8), data + 12);
54 break;
55 }
56 vnc_client_cut_text(vs, read_u32(data, 4), data + 8);
57--
58GitLab
59
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/arm-cpreg-fix.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/arm-cpreg-fix.patch
new file mode 100644
index 00000000..071691f8
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/arm-cpreg-fix.patch
@@ -0,0 +1,27 @@
1target/arm: mark SP_EL1 with ARM_CP_EL3_NO_EL2_KEEP
2
3SP_EL1 must be kept when EL3 is present but EL2 is not. Therefore mark
4it with ARM_CP_EL3_NO_EL2_KEEP.
5
6Fixes: 696ba3771894 ("target/arm: Handle cpreg registration for missing EL")
7Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
8
9Upstream-Status: Submitted [https://lists.gnu.org/archive/html/qemu-devel/2022-09/msg04515.html]
10
11---
12 target/arm/helper.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15Index: qemu-7.1.0/target/arm/helper.c
16===================================================================
17--- qemu-7.1.0.orig/target/arm/helper.c
18+++ qemu-7.1.0/target/arm/helper.c
19@@ -4971,7 +4971,7 @@ static const ARMCPRegInfo v8_cp_reginfo[
20 .fieldoffset = offsetof(CPUARMState, sp_el[0]) },
21 { .name = "SP_EL1", .state = ARM_CP_STATE_AA64,
22 .opc0 = 3, .opc1 = 4, .crn = 4, .crm = 1, .opc2 = 0,
23- .access = PL2_RW, .type = ARM_CP_ALIAS,
24+ .access = PL2_RW, .type = ARM_CP_ALIAS | ARM_CP_EL3_NO_EL2_KEEP,
25 .fieldoffset = offsetof(CPUARMState, sp_el[1]) },
26 { .name = "SPSel", .state = ARM_CP_STATE_AA64,
27 .opc0 = 3, .opc1 = 0, .crn = 4, .crm = 2, .opc2 = 0,
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/powerpc_rom.bin b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/powerpc_rom.bin
new file mode 100644
index 00000000..c4044296
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/powerpc_rom.bin
Binary files differ
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/qemu-7.0.0-glibc-2.36.patch b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/qemu-7.0.0-glibc-2.36.patch
new file mode 100644
index 00000000..abad1cfe
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/qemu-7.0.0-glibc-2.36.patch
@@ -0,0 +1,46 @@
1Avoid conflicts between sys/mount.h and linux/mount.h that are seen
2with glibc 2.36
3
4Source: https://github.com/archlinux/svntogit-packages/blob/packages/qemu/trunk/qemu-7.0.0-glibc-2.36.patch
5
6Upstream-Status: Pending
7Signed-off-by: Khem Raj <raj.khem@gmail.com>
8--- a/linux-user/syscall.c
9+++ b/linux-user/syscall.c
10@@ -95,7 +95,25 @@
11 #include <linux/soundcard.h>
12 #include <linux/kd.h>
13 #include <linux/mtio.h>
14+
15+#ifdef HAVE_SYS_MOUNT_FSCONFIG
16+/*
17+ * glibc >= 2.36 linux/mount.h conflicts with sys/mount.h,
18+ * which in turn prevents use of linux/fs.h. So we have to
19+ * define the constants ourselves for now.
20+ */
21+#define FS_IOC_GETFLAGS _IOR('f', 1, long)
22+#define FS_IOC_SETFLAGS _IOW('f', 2, long)
23+#define FS_IOC_GETVERSION _IOR('v', 1, long)
24+#define FS_IOC_SETVERSION _IOW('v', 2, long)
25+#define FS_IOC_FIEMAP _IOWR('f', 11, struct fiemap)
26+#define FS_IOC32_GETFLAGS _IOR('f', 1, int)
27+#define FS_IOC32_SETFLAGS _IOW('f', 2, int)
28+#define FS_IOC32_GETVERSION _IOR('v', 1, int)
29+#define FS_IOC32_SETVERSION _IOW('v', 2, int)
30+#else
31 #include <linux/fs.h>
32+#endif
33 #include <linux/fd.h>
34 #if defined(CONFIG_FIEMAP)
35 #include <linux/fiemap.h>
36--- a/meson.build
37+++ b/meson.build
38@@ -1686,6 +1686,8 @@ config_host_data.set('HAVE_OPTRESET',
39 cc.has_header_symbol('getopt.h', 'optreset'))
40 config_host_data.set('HAVE_IPPROTO_MPTCP',
41 cc.has_header_symbol('netinet/in.h', 'IPPROTO_MPTCP'))
42+config_host_data.set('HAVE_SYS_MOUNT_FSCONFIG',
43+ cc.has_header_symbol('sys/mount.h', 'FSCONFIG_SET_FLAG'))
44
45 # has_member
46 config_host_data.set('HAVE_SIGEV_NOTIFY_THREAD_ID',
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/run-ptest b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/run-ptest
new file mode 100644
index 00000000..f9a4e8fb
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.0/run-ptest
@@ -0,0 +1,13 @@
1#!/bin/sh
2#
3#This script is used to run qemu test suites
4#
5
6ptestdir=$(dirname "$(readlink -f "$0")")
7export SRC_PATH=$ptestdir
8
9cd $ptestdir/tests
10tests=$(find . -name "test-*" ! -name "*.p")
11for f in $tests; do
12 $f | sed '/^ok/ s/ok/PASS:/g'
13done
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc
index b65a1682..bf7ad610 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-7.1.inc
@@ -36,6 +36,8 @@ SRC_URI += "\
36 file://0001-net-tulip-Restrict-DMA-engine-to-memories.patch \ 36 file://0001-net-tulip-Restrict-DMA-engine-to-memories.patch \
37 file://arm-cpreg-fix.patch \ 37 file://arm-cpreg-fix.patch \
38 file://CVE-2022-3165.patch \ 38 file://CVE-2022-3165.patch \
39 file://qemu-guest-agent.init \
40 file://qemu-guest-agent.udev \
39 " 41 "
40 42
41S = "${WORKDIR}/git" 43S = "${WORKDIR}/git"
@@ -47,4 +49,7 @@ PACKAGECONFIG ??= " \
47" 49"
48PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm gcrypt pie slirp" 50PACKAGECONFIG:class-nativesdk ??= "fdt sdl kvm gcrypt pie slirp"
49 51
52# Disable this
53PACKAGECONFIG[debuginfo] = ""
54
50DISABLE_STATIC:pn-${PN} = "" 55DISABLE_STATIC:pn-${PN} = ""
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc
deleted file mode 100644
index b22ab432..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native.inc
+++ /dev/null
@@ -1,11 +0,0 @@
1require recipes-devtools/qemu/qemu-native.inc
2require qemu-xilinx.inc
3
4DEPENDS = "glib-2.0-native zlib-native ninja-native meson-native"
5
6SRC_URI:remove = "file://0012-fix-libcap-header-issue-on-some-distro.patch"
7SRC_URI:remove = "file://0013-cpus.c-Add-error-messages-when-qemi_cpu_kick_thread-.patch"
8
9do_install:append(){
10 rm -rf ${D}${datadir}/icons
11}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb
new file mode 100644
index 00000000..d3e1920a
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.1.bb
@@ -0,0 +1,20 @@
1require qemu-xilinx-2022.1.inc
2require qemu-xilinx-native-7.1.inc
3require qemu-native-alt.inc
4
5BPN = "qemu-xilinx"
6
7# Latest poky has changed the defaults, restore them to something compatible
8# with this QEMU. When we update to QEMU 8.x this won't be necessary.
9EXTRA_OECONF:remove = "--disable-download"
10EXTRA_OECONF:remove = "--disable-docs"
11
12EXTRA_OECONF:append = "\
13 --with-git=/bin/false \
14 --with-git-submodules=ignore \
15 --meson=meson \
16"
17
18EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
19
20PACKAGECONFIG ??= "pie"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb
new file mode 100644
index 00000000..586c0a7a
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2022.2.bb
@@ -0,0 +1,20 @@
1require qemu-xilinx-2022.2.inc
2require qemu-xilinx-native-7.1.inc
3require qemu-native-alt.inc
4
5BPN = "qemu-xilinx"
6
7# Latest poky has changed the defaults, restore them to something compatible
8# with this QEMU. When we update to QEMU 8.x this won't be necessary.
9EXTRA_OECONF:remove = "--disable-download"
10EXTRA_OECONF:remove = "--disable-docs"
11
12EXTRA_OECONF:append = "\
13 --with-git=/bin/false \
14 --with-git-submodules=ignore \
15 --meson=meson \
16"
17
18EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
19
20PACKAGECONFIG ??= "pie"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb
index 06711fd9..796c4700 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-native_2023.1.bb
@@ -4,6 +4,17 @@ require qemu-native-alt.inc
4 4
5BPN = "qemu-xilinx" 5BPN = "qemu-xilinx"
6 6
7# Latest poky has changed the defaults, restore them to something compatible
8# with this QEMU. When we update to QEMU 8.x this won't be necessary.
9EXTRA_OECONF:remove = "--disable-download"
10EXTRA_OECONF:remove = "--disable-docs"
11
12EXTRA_OECONF:append = "\
13 --with-git=/bin/false \
14 --with-git-submodules=ignore \
15 --meson=meson \
16"
17
7EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent" 18EXTRA_OECONF:append = " --target-list=${@get_qemu_usermode_target_list(d)} --disable-tools --disable-blobs --disable-guest-agent"
8 19
9PACKAGECONFIG ??= "pie" 20PACKAGECONFIG ??= "pie"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb
new file mode 100644
index 00000000..6b98c6a9
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.1.bb
@@ -0,0 +1,37 @@
1require qemu-system-native-alt.inc
2require qemu-xilinx-2022.1.inc
3require qemu-xilinx-native-7.1.inc
4
5PROVIDES = "qemu-system-native"
6
7# Latest poky has changed the defaults, restore them to something compatible
8# with this QEMU. When we update to QEMU 8.x this won't be necessary.
9EXTRA_OECONF:remove = "--disable-download"
10EXTRA_OECONF:remove = "--disable-docs"
11
12EXTRA_OECONF:append = "\
13 --with-git=/bin/false \
14 --with-git-submodules=ignore \
15 --meson=meson \
16"
17
18EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
19
20PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp"
21
22PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
23
24DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native"
25DEPENDS += "qemu-xilinx-multiarch-helper-native"
26
27do_install:append() {
28 # The following is also installed by qemu-native
29 rm -f ${D}${datadir}/qemu/trace-events-all
30 rm -rf ${D}${datadir}/qemu/keymaps
31 rm -rf ${D}${datadir}/icons
32 rm -rf ${D}${includedir}/qemu-plugin.h
33
34 # Install qmp.py to be used with testimage
35 install -d ${D}${libdir}/qemu-python/qmp/
36 install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/
37}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb
new file mode 100644
index 00000000..fd4ddd40
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2022.2.bb
@@ -0,0 +1,37 @@
1require qemu-system-native-alt.inc
2require qemu-xilinx-2022.2.inc
3require qemu-xilinx-native-7.1.inc
4
5PROVIDES = "qemu-system-native"
6
7# Latest poky has changed the defaults, restore them to something compatible
8# with this QEMU. When we update to QEMU 8.x this won't be necessary.
9EXTRA_OECONF:remove = "--disable-download"
10EXTRA_OECONF:remove = "--disable-docs"
11
12EXTRA_OECONF:append = "\
13 --with-git=/bin/false \
14 --with-git-submodules=ignore \
15 --meson=meson \
16"
17
18EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
19
20PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp"
21
22PACKAGECONFIG:remove = "${@'kvm' if not os.path.exists('/usr/include/linux/kvm.h') else ''}"
23
24DEPENDS += "pixman-native qemu-xilinx-native bison-native ninja-native meson-native"
25DEPENDS += "qemu-xilinx-multiarch-helper-native"
26
27do_install:append() {
28 # The following is also installed by qemu-native
29 rm -f ${D}${datadir}/qemu/trace-events-all
30 rm -rf ${D}${datadir}/qemu/keymaps
31 rm -rf ${D}${datadir}/icons
32 rm -rf ${D}${includedir}/qemu-plugin.h
33
34 # Install qmp.py to be used with testimage
35 install -d ${D}${libdir}/qemu-python/qmp/
36 install -D ${S}/python/qemu/qmp/* ${D}${libdir}/qemu-python/qmp/
37}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb
index 1e738530..09a7a5f5 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx-system-native_2023.1.bb
@@ -4,6 +4,17 @@ require qemu-xilinx-native-7.1.inc
4 4
5PROVIDES = "qemu-system-native" 5PROVIDES = "qemu-system-native"
6 6
7# Latest poky has changed the defaults, restore them to something compatible
8# with this QEMU. When we update to QEMU 8.x this won't be necessary.
9EXTRA_OECONF:remove = "--disable-download"
10EXTRA_OECONF:remove = "--disable-docs"
11
12EXTRA_OECONF:append = "\
13 --with-git=/bin/false \
14 --with-git-submodules=ignore \
15 --meson=meson \
16"
17
7EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}" 18EXTRA_OECONF:append = " --target-list=${@get_qemu_system_target_list(d)}"
8 19
9PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp" 20PACKAGECONFIG ??= "fdt alsa kvm gcrypt pie slirp"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc
deleted file mode 100644
index 788a3fe0..00000000
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx.inc
+++ /dev/null
@@ -1,47 +0,0 @@
1SUMMARY = "Xilinx's fork of a fast open source processor emulator"
2HOMEPAGE = "https://github.com/xilinx/qemu/"
3
4# x86_64 is needed to build nativesdks
5QEMU_TARGETS = "aarch64 arm microblaze microblazeel x86_64"
6
7LIC_FILES_CHKSUM = " \
8 file://COPYING;md5=441c28d2cf86e15a37fa47e15a72fbac \
9 file://COPYING.LIB;endline=24;md5=8c5efda6cf1e1b03dcfd0e6c0d271c7f \
10 "
11DEPENDS = "glib-2.0 zlib pixman bison-native ninja-native meson-native"
12
13FILESEXTRAPATHS:prepend := "${THISDIR}/qemu-xilinx-6.1.0:"
14
15PV = "${XILINX_QEMU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
16REPO ?= "gitsm://github.com/Xilinx/qemu.git;protocol=https"
17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = "${REPO};${BRANCHARG}"
20
21SRC_URI:append = " file://0010-configure-Add-pkg-config-handling-for-libgcrypt.patch"
22
23S = "${WORKDIR}/git"
24
25# Disable KVM completely
26PACKAGECONFIG:remove = "kvm"
27PACKAGECONFIG:append = " fdt sdl gcrypt pie slirp"
28
29
30# Remove when version is in sync with core oe-core
31PACKAGECONFIG:remove:class-nativesdk= "pulsedio"
32PACKAGECONFIG:remove:class-native = "pulsedio"
33PACKAGECONFIG[alsa] = "--audio-drv-list=alsa,,alsa-lib"
34PACKAGECONFIG[pulsedio] = "--audio-drv-list=pa,,pulseaudio"
35PACKAGECONFIG[selinux] = ""
36PACKAGECONFIG[slirp] = "--enable-slirp=git,--disable-slirp,,"
37PACKAGECONFIG[jack] = ""
38
39DISABLE_STATIC:pn-${PN} = ""
40
41do_install:append() {
42 # Prevent QA warnings about installed ${localstatedir}/run
43 if [ -d ${D}${localstatedir}/run ]; then rmdir ${D}${localstatedir}/run; fi
44}
45
46FILES:${PN} += "${datadir}/qemu/"
47FILES:${PN}:append:class-nativesdk:mingw32 = " ${SDKPATHNATIVE}"
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb
new file mode 100644
index 00000000..e3ed8a2f
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.1.bb
@@ -0,0 +1,37 @@
1require qemu-xilinx-2022.1.inc
2require recipes-devtools/qemu/qemu.inc
3require qemu-xilinx-7.1.inc
4require qemu-alt.inc
5
6# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
7DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
8MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
9MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
10PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
11PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
12
13BBCLASSEXTEND = "nativesdk"
14
15RDEPENDS:${PN}:class-target += "bash"
16
17PROVIDES:class-nativesdk = "nativesdk-qemu"
18RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu"
19
20# Latest poky has changed the defaults, restore them to something compatible
21# with this QEMU. When we update to QEMU 8.x this won't be necessary.
22EXTRA_OECONF:remove = "--disable-download"
23EXTRA_OECONF:remove = "--disable-docs"
24
25EXTRA_OECONF:append = "\
26 --with-git=/bin/false \
27 --with-git-submodules=ignore \
28 --meson=meson \
29"
30
31EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
32EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
33EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
34
35do_install:append:class-nativesdk() {
36 ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
37}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb
new file mode 100644
index 00000000..44be50c2
--- /dev/null
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2022.2.bb
@@ -0,0 +1,35 @@
1require qemu-xilinx-2022.2.inc
2require recipes-devtools/qemu/qemu.inc
3require qemu-xilinx-7.1.inc
4require qemu-alt.inc
5
6# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
7DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
8MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
9PACKAGE_ARCH:class-target = "${@bb.utils.contains_any('DEPENDS', 'libepoxy virglrenderer', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
10
11BBCLASSEXTEND = "nativesdk"
12
13RDEPENDS:${PN}:class-target += "bash"
14
15PROVIDES:class-nativesdk = "nativesdk-qemu"
16RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu"
17
18# Latest poky has changed the defaults, restore them to something compatible
19# with this QEMU. When we update to QEMU 8.x this won't be necessary.
20EXTRA_OECONF:remove = "--disable-download"
21EXTRA_OECONF:remove = "--disable-docs"
22
23EXTRA_OECONF:append = "\
24 --with-git=/bin/false \
25 --with-git-submodules=ignore \
26 --meson=meson \
27"
28
29EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
30EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
31EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
32
33do_install:append:class-nativesdk() {
34 ${@bb.utils.contains('PACKAGECONFIG', 'gtk+', 'make_qemu_wrapper', '', d)}
35}
diff --git a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb
index 3b12d161..fd7d3b4e 100644
--- a/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb
+++ b/meta-xilinx-core/recipes-devtools/qemu/qemu-xilinx_2023.1.bb
@@ -17,6 +17,17 @@ RDEPENDS:${PN}:class-target += "bash"
17PROVIDES:class-nativesdk = "nativesdk-qemu" 17PROVIDES:class-nativesdk = "nativesdk-qemu"
18RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu" 18RPROVIDES:${PN}:class-nativesdk = "nativesdk-qemu"
19 19
20# Latest poky has changed the defaults, restore them to something compatible
21# with this QEMU. When we update to QEMU 8.x this won't be necessary.
22EXTRA_OECONF:remove = "--disable-download"
23EXTRA_OECONF:remove = "--disable-docs"
24
25EXTRA_OECONF:append = "\
26 --with-git=/bin/false \
27 --with-git-submodules=ignore \
28 --meson=meson \
29"
30
20EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}" 31EXTRA_OECONF:append:class-target = " --target-list=${@get_qemu_target_list(d)}"
21EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}" 32EXTRA_OECONF:append:class-nativesdk = " --target-list=${@get_qemu_target_list(d)}"
22EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}" 33EXTRA_OECONF:append:class-target:mipsarcho32 = "${@bb.utils.contains('BBEXTENDCURR', 'multilib', ' --disable-capstone', '', d)}"
diff --git a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch b/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
index 97f51f03..08252db0 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
+++ b/meta-xilinx-core/recipes-graphics/mesa/files/0001-DRI_Add_xlnx_dri.patch
@@ -2,6 +2,8 @@ DRI: Add xlnx dri
2 2
3Add the Xilinx dri target 3Add the Xilinx dri target
4 4
5Upstream-Status: Pending
6
5Signed-off-by: Mark Hatle <mark.hatle@amd.com> 7Signed-off-by: Mark Hatle <mark.hatle@amd.com>
6 8
7diff -ur mesa-22.2.0.orig/src/gallium/targets/dri/meson.build mesa-22.2.0/src/gallium/targets/dri/meson.build 9diff -ur mesa-22.2.0.orig/src/gallium/targets/dri/meson.build mesa-22.2.0/src/gallium/targets/dri/meson.build
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
index fc2108e1..fdb30564 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
+++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0001-src-egl-eglinfo-Align-EXT_platform_device-extension-.patch
@@ -8,7 +8,7 @@ Although the macro definitions are consistent, using the macros name
8defined under khronos makes it backward compatible with older eglext.h 8defined under khronos makes it backward compatible with older eglext.h
9 9
10Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> 10Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
11upstream-status: Inappropriate [Xilinx specific] 11Upstream-Status: Inappropriate [Xilinx specific]
12Signed-off-by: Mark Hatle <mark.hatle@amd.com> 12Signed-off-by: Mark Hatle <mark.hatle@amd.com>
13--- 13---
14 src/egl/opengl/eglinfo.c | 6 +++--- 14 src/egl/opengl/eglinfo.c | 6 +++---
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
index 4453b63e..7212ef27 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
+++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/0002-src-egl-eglinfo-Use-EGL_PLATFORM_DEVICE_EXT-only-if-.patch
@@ -8,7 +8,7 @@ Compiling against the other EGL provider like mali fails, as they dont
8support this macro as one of thier supported platforms 8support this macro as one of thier supported platforms
9 9
10Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> 10Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
11upstream-status: Inappropritate [Xilinx specific] 11Upstream-Status: Inappropriate [Xilinx specific]
12Signed-off-by: Mark Hatle <mark.hatle@amd.com> 12Signed-off-by: Mark Hatle <mark.hatle@amd.com>
13--- 13---
14 src/egl/opengl/eglinfo.c | 4 ++++ 14 src/egl/opengl/eglinfo.c | 4 ++++
diff --git a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
index 19248bb3..6cfecb38 100644
--- a/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
+++ b/meta-xilinx-core/recipes-graphics/mesa/mesa-demos/libmali-egl-workaround.patch
@@ -1,3 +1,5 @@
1Upstream-Status: Inappropriate [libmali specific]
2
1Index: mesa-demos-8.5.0/src/egl/opengl/eglinfo.c 3Index: mesa-demos-8.5.0/src/egl/opengl/eglinfo.c
2=================================================================== 4===================================================================
3--- mesa-demos-8.5.0.orig/src/egl/opengl/eglinfo.c 5--- mesa-demos-8.5.0.orig/src/egl/opengl/eglinfo.c
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
index 33d33b0f..2713de2d 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
+++ b/meta-xilinx-core/recipes-graphics/wayland/files/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
@@ -7,23 +7,24 @@ Xilinx DP gfx layer does not support XRGB8888. Hence, remove the same
7as opaque substitute. 7as opaque substitute.
8 8
9Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com> 9Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
10Upstream-Status : Inappropriate [Xilinx specific] 10Upstream-Status: Inappropriate [Xilinx specific]
11
12Reworked the patch for the newer weston
13
14Signed-off-by: Mark Hatle <mark.hatle@amd.com>
11--- 15---
12 libweston/pixel-formats.c | 1 - 16 libweston/pixel-formats.c | 1 -
13 1 file changed, 1 deletion(-) 17 1 file changed, 1 deletion(-)
14 18
15diff --git a/libweston/pixel-formats.c b/libweston/pixel-formats.c 19Index: weston-11.0.1/libweston/pixel-formats.c
16index 79dc709..ec2d3b7 100644 20===================================================================
17--- a/libweston/pixel-formats.c 21--- weston-11.0.1.orig/libweston/pixel-formats.c
18+++ b/libweston/pixel-formats.c 22+++ weston-11.0.1/libweston/pixel-formats.c
19@@ -193,7 +193,6 @@ static const struct pixel_format_info pixel_format_table[] = { 23@@ -247,7 +247,6 @@ static const struct pixel_format_info pi
20 { 24 {
21 DRM_FORMAT(ARGB8888), 25 DRM_FORMAT(ARGB8888),
22 BITS_RGBA_FIXED(8, 8, 8, 8), 26 BITS_RGBA_FIXED(8, 8, 8, 8),
23- .opaque_substitute = DRM_FORMAT_XRGB8888, 27- .opaque_substitute = DRM_FORMAT_XRGB8888,
24 .depth = 32, 28 .addfb_legacy_depth = 32,
25 .bpp = 32, 29 .bpp = 32,
26 GL_FORMAT(GL_BGRA_EXT), 30 GL_FORMAT(GL_BGRA_EXT),
27--
282.17.1
29
diff --git a/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch b/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
new file mode 100644
index 00000000..6b5f53b0
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/wayland/files/9.0.0/0001-libweston-Remove-substitute-format-for-ARGB8888.patch
@@ -0,0 +1,29 @@
1From 3fbb596e53524e78703b76c4fdc33cd6ac62f777 Mon Sep 17 00:00:00 2001
2From: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
3Date: Fri, 11 Dec 2020 16:21:38 -0800
4Subject: [PATCH] libweston: Remove substitute format for ARGB8888
5
6Xilinx DP gfx layer does not support XRGB8888. Hence, remove the same
7as opaque substitute.
8
9Signed-off-by: Madhurkiran Harikrishnan <madhurkiran.harikrishnan@xilinx.com>
10Upstream-Status: Inappropriate [Xilinx specific]
11---
12 libweston/pixel-formats.c | 1 -
13 1 file changed, 1 deletion(-)
14
15diff --git a/libweston/pixel-formats.c b/libweston/pixel-formats.c
16index 79dc709..ec2d3b7 100644
17--- a/libweston/pixel-formats.c
18+++ b/libweston/pixel-formats.c
19@@ -193,7 +193,6 @@ static const struct pixel_format_info pixel_format_table[] = {
20 {
21 DRM_FORMAT(ARGB8888),
22 BITS_RGBA_FIXED(8, 8, 8, 8),
23- .opaque_substitute = DRM_FORMAT_XRGB8888,
24 .depth = 32,
25 .bpp = 32,
26 GL_FORMAT(GL_BGRA_EXT),
27--
282.17.1
29
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston.inc b/meta-xilinx-core/recipes-graphics/wayland/weston.inc
new file mode 100644
index 00000000..fadc9486
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/wayland/weston.inc
@@ -0,0 +1,15 @@
1SRC_URI:append:zynqmp = " file://0001-libweston-Remove-substitute-format-for-ARGB8888.patch"
2
3# Due to the SRC_URI zynqmp specific change, this needs to be SOC_FAMILY_ARCH specific
4SOC_FAMILY_ARCH ??= "${TUNE_PKGARCH}"
5DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
6DEFAULT_PACKAGE_ARCH:zynqmp = "${SOC_FAMILY_ARCH}"
7PACKAGE_ARCH = "${DEFAULT_PACKAGE_ARCH}"
8
9
10# Links to libmali-xlnx, so it becomes MACHINE_ARCH specific
11DEFAULT_PACKAGE_ARCH := "${PACKAGE_ARCH}"
12MALI_PACKAGE_ARCH[vardepsexclude] = "MACHINE_ARCH"
13MALI_PACKAGE_ARCH = "${@'${MACHINE_ARCH}' if d.getVar('PREFERRED_PROVIDER_virtual/libgles1') == 'libmali-xlnx' else '${DEFAULT_PACKAGE_ARCH}'}"
14PACKAGE_ARCH[vardepsexclude] = "MALI_PACKAGE_ARCH"
15PACKAGE_ARCH = "${@bb.utils.contains_any('DEPENDS', 'virtual/libgles1 virtual/libgles2 virtual/egl virtual/libgbm', '${MALI_PACKAGE_ARCH}', '${DEFAULT_PACKAGE_ARCH}', d)}"
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_10.0.2.bbappend b/meta-xilinx-core/recipes-graphics/wayland/weston_12.%.bbappend
index 18396c5e..3ee9cafa 100644
--- a/meta-xilinx-core/recipes-graphics/wayland/weston_10.0.2.bbappend
+++ b/meta-xilinx-core/recipes-graphics/wayland/weston_12.%.bbappend
@@ -1,8 +1,12 @@
1FILESEXTRAPATHS:prepend:zynqmp := "${THISDIR}/files:"
2
3require weston.inc
4
1ZYNQMP_WARN_DEFAULT = "0" 5ZYNQMP_WARN_DEFAULT = "0"
2ZYNQMP_WARN_DEFAULT:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '0', d)}" 6ZYNQMP_WARN_DEFAULT:zynqmp = "${@bb.utils.contains('DISTRO_FEATURES', 'libmali', '1', '0', d)}"
3ZYNQMP_WARN = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', '${ZYNQMP_WARN_DEFAULT}', '0', d)}" 7ZYNQMP_WARN = "${@bb.utils.contains('MACHINE_FEATURES', 'mali400', '${ZYNQMP_WARN_DEFAULT}', '0', d)}"
4 8
5python() { 9python() {
6 if d.getVar('ZYNQMP_WARN') == "1": 10 if d.getVar('ZYNQMP_WARN') == "1":
7 raise bb.parse.SkipRecipe("Weston 10.0.0.2 requires GLES 3 interfaces which are not available when libmali enabled. Use Weston 9.0.0.0 instead.") 11 raise bb.parse.SkipRecipe("Weston %s requires GLES 3 interfaces which are not available when libmali enabled. Use Weston 9.0.0.0 instead." % (d.getVar('PV')))
8} 12}
diff --git a/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend b/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend
new file mode 100644
index 00000000..80512ac3
--- /dev/null
+++ b/meta-xilinx-core/recipes-graphics/wayland/weston_9.0.0.bbappend
@@ -0,0 +1,3 @@
1FILESEXTRAPATHS:prepend:zynqmp := "${THISDIR}/files/9.0.0:${THISDIR}/files:"
2
3require weston.inc
diff --git a/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb
new file mode 100644
index 00000000..dda6ec31
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/dp/kernel-module-dp_2022.2.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Xilinx DisplayPort Linux Kernel module"
2DESCRIPTION = "Out-of-tree DisplayPort(DP) kernel modules provider for aarch64 devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XLNX_DP_VERSION = "5.10.0"
8PV = "${XLNX_DP_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2022.2"
13REPO ?= "git://github.com/xilinx/dp-modules.git;protocol=https"
14SRCREV ?= "c57b2ce95ee6c86f35caecbc7007644ff8f6d337"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb
new file mode 100644
index 00000000..c1f66013
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/hdmi/kernel-module-hdmi_2022.2.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Xilinx HDMI Linux Kernel module"
2DESCRIPTION = "Out-of-tree HDMI kernel modules provider for MPSoC EG/EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=b34277fe156508fd5a650609dc36d1fe"
6
7XLNX_HDMI_VERSION = "5.15.19"
8PV = "${XLNX_HDMI_VERSION}+xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12BRANCH ?= "xlnx_rel_v2022.2"
13REPO ?= "git://github.com/Xilinx/hdmi-modules.git;protocol=https"
14SRCREV = "25b6fe7a26a975be15c002b48cfd4c291486491e"
15
16BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
17SRC_URI = "${REPO};${BRANCHARG}"
18
19inherit module
20
21EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
22COMPATIBLE_MACHINE = "^$"
23COMPATIBLE_MACHINE:zynqmp = "zynqmp"
24COMPATIBLE_MACHINE:versal = "versal"
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch
new file mode 100644
index 00000000..5a4d203d
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx/mb-no-tree-loop-distribute-patterns.patch
@@ -0,0 +1,47 @@
1Disable tree-loop-distribute-patterns CFLAG
2
3Issue: CR-1086247
4
5GCC 10.2.0 added -ftree-loop-distribute-patterns by default with -O2. This
6is causing a condition where the kernel will no longer boot.
7
8This is a temporary workaround until we can identify the true cause of
9the boot failure.
10
11Symtoms:
12
13earlycon: uartlite_a0 at MMIO 0x40600000 (options '115200n8')
14printk: bootconsole [uartlite_a0] enabled
15cma: Reserved 16 MiB at 0xaec00000
16Linux version 5.10.0-xilinx-v2020.2 (oe-user@oe-host) (microblazeel-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.0.20200730) #1 Mon Mar 1 12:58:36 UTC 2021
17setup_memory: max_mapnr: 0x40000
18setup_memory: min_low_pfn: 0x80000
19setup_memory: max_low_pfn: 0xb0000
20setup_memory: max_pfn: 0xc0000
21Zone ranges:
22 DMA [mem 0x0000000080000000-0x00000000afffffff]
23 Normal empty
24 HighMem [mem 0x00000000b0000000-0x00000000bfffffff]
25Movable zone start for each node
26Early memory node ranges
27 node 0: [mem 0x0000000080000000-0x00000000bfffffff]
28Initmem setup node 0 [mem 0x0000000080000000-0x00000000bfffffff]
29<hang>
30
31Signed-off-by: Mark Hatle <mark.hatle@xilinx.com>
32
33diff --git a/arch/microblaze/Makefile b/arch/microblaze/Makefile
34index bb980891816d..e368c35ad21c 100644
35--- a/arch/microblaze/Makefile
36+++ b/arch/microblaze/Makefile
37@@ -48,6 +48,10 @@ CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))
38 # r31 holds current when in kernel mode
39 KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-y) $(CPUFLAGS-1) $(CPUFLAGS-2)
40
41+# GCC 10.x now has -ftree-loop-distribute-patterns by default in -O2
42+# This causes a boot failure, so disable it
43+KBUILD_CFLAGS += -fno-tree-loop-distribute-patterns
44+
45 head-y := arch/microblaze/kernel/head.o
46 libs-y += arch/microblaze/lib/
47 core-y += arch/microblaze/kernel/
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb
new file mode 100644
index 00000000..41c1ffe2
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.1.bb
@@ -0,0 +1,9 @@
1LINUX_VERSION = "5.15.19"
2KBRANCH="xlnx_rebase_v5.15_LTS_2022.1_update"
3SRCREV = "75872fda9ad270b611ee6ae2433492da1e22b688"
4
5KCONF_AUDIT_LEVEL="0"
6
7include linux-xlnx.inc
8
9FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb
new file mode 100644
index 00000000..260224b8
--- /dev/null
+++ b/meta-xilinx-core/recipes-kernel/linux/linux-xlnx_2022.2.bb
@@ -0,0 +1,9 @@
1LINUX_VERSION = "5.15.36"
2KBRANCH="xlnx_rebase_v5.15_LTS"
3SRCREV = "19984dd147fa7fbb7cb14b17400263ad0925c189"
4
5KCONF_AUDIT_LEVEL="0"
6
7include linux-xlnx.inc
8
9FILESEXTRAPATHS:prepend := "${THISDIR}/${PN}:"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch
new file mode 100644
index 00000000..defe14dc
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Current-gcc-requires-cstdint-for-C-types.patch
@@ -0,0 +1,55 @@
1From 2316632e8f3eefc21bc4f9cb97be4603b4c14719 Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Thu, 28 Sep 2023 12:24:04 -0600
4Subject: [PATCH] Current gcc requires cstdint for C types
5
6Add #include <cstdint> to resolve the issues similar to the following:
7
8 module/module_structs.h:259:3: note: 'uint16_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
9 module/module_structs.h:260:3: error: 'uint16_t' does not name a type
10
11Signed-off-by: Mark Hatle <mark.hatle@amd.com>
12---
13 exe_omx/encoder/EncCmdMngr.h | 1 +
14 module/module_structs.h | 1 +
15 utility/processor_fifo.h | 1 +
16 3 files changed, 3 insertions(+)
17
18diff --git a/exe_omx/encoder/EncCmdMngr.h b/exe_omx/encoder/EncCmdMngr.h
19index 6dacd68..cd3d0a6 100644
20--- a/exe_omx/encoder/EncCmdMngr.h
21+++ b/exe_omx/encoder/EncCmdMngr.h
22@@ -7,6 +7,7 @@
23 #include <iostream>
24 #include <string>
25 #include <vector>
26+#include <cstdint>
27
28 #include "ICommandsSender.h"
29
30diff --git a/module/module_structs.h b/module/module_structs.h
31index 7151b86..37ff8ac 100644
32--- a/module/module_structs.h
33+++ b/module/module_structs.h
34@@ -6,6 +6,7 @@
35 #include "module_enums.h"
36 #include <string>
37 #include <vector>
38+#include <cstdint>
39
40 template<typename T>
41 struct InputOutput
42diff --git a/utility/processor_fifo.h b/utility/processor_fifo.h
43index 1c62ba4..3c9cd86 100644
44--- a/utility/processor_fifo.h
45+++ b/utility/processor_fifo.h
46@@ -6,6 +6,7 @@
47 #include <utility/locked_queue.h>
48 #include <thread>
49 #include <functional>
50+#include <string>
51
52 #if defined __linux__
53 #include <sys/prctl.h>
54--
552.34.1
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch
new file mode 100644
index 00000000..788edd03
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/files/0001-Support-updated-gcc-add-cstdint-where-necessary.patch
@@ -0,0 +1,52 @@
1From b58c0a7dd0eeb16b2251edfad3b4763ce5653ea2 Mon Sep 17 00:00:00 2001
2From: Mark Hatle <mark.hatle@amd.com>
3Date: Thu, 28 Sep 2023 12:04:34 -0600
4Subject: [PATCH] Support updated gcc, add cstdint where necessary
5
6With the latest gcc, cstdint is now needs to be explicitly included, otherwise
7errors similar to the following will occur:
8
9 include/lib_app/Parser.h:413:36: error: 'uint32_t' has not been declared
10 413 | static void resetFlag(T* bitfield, uint32_t uFlag)
11 | ^~~~~~~~
12 include/lib_app/Parser.h: In function 'void resetFlag(T*, int)':
13 include/lib_app/Parser.h:415:20: error: 'uint32_t' was not declared in this scope
14 415 | *bitfield = (T)((uint32_t)*bitfield & ~uFlag);
15 | ^~~~~~~~
16 include/lib_app/Parser.h:18:1: note: 'uint32_t' is defined in header '<cstdint>'; did you forget to '#include <cstdint>'?
17 17 | #include <iomanip>
18 +++ |+#include <cstdint>
19 18 |
20
21Signed-off-by: Mark Hatle <mark.hatle@amd.com>
22---
23 exe_encoder/EncCmdMngr.h | 1 +
24 include/lib_app/Parser.h | 1 +
25 2 files changed, 2 insertions(+)
26
27diff --git a/exe_encoder/EncCmdMngr.h b/exe_encoder/EncCmdMngr.h
28index 6dacd68..cd3d0a6 100644
29--- a/exe_encoder/EncCmdMngr.h
30+++ b/exe_encoder/EncCmdMngr.h
31@@ -7,6 +7,7 @@
32 #include <iostream>
33 #include <string>
34 #include <vector>
35+#include <cstdint>
36
37 #include "ICommandsSender.h"
38
39diff --git a/include/lib_app/Parser.h b/include/lib_app/Parser.h
40index efb7f94..66d5164 100644
41--- a/include/lib_app/Parser.h
42+++ b/include/lib_app/Parser.h
43@@ -15,6 +15,7 @@
44 #include <sstream>
45 #include <vector>
46 #include <iomanip>
47+#include <cstdint>
48
49 std::deque<Token> toReversePolish(std::deque<Token>& tokens);
50 std::string parseString(std::deque<Token>& tokens);
51--
522.34.1
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb
new file mode 100644
index 00000000..7ef1d5fd
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.1.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Linux kernel module for Video Code Unit"
2DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XILINX_VCU_VERSION = "1.0.0"
8PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
13
14BRANCH = "xlnx_rel_v2022.1"
15REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https"
16SRCREV = "9d2657550eccebccce08cacfcdd369367b9f6be4"
17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = " \
20 ${REPO};${BRANCHARG} \
21 file://99-vcu-enc-dec.rules \
22 "
23
24inherit module features_check
25
26REQUIRED_MACHINE_FEATURES = "vcu"
27
28EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
29
30RDEPENDS:${PN} = "vcu-firmware"
31
32KERNEL_MODULE_AUTOLOAD += "dmaproxy"
33
34do_install:append() {
35 install -d ${D}${sysconfdir}/udev/rules.d
36 install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/
37}
38
39FILES:${PN} = "${sysconfdir}/udev/rules.d/*"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb
new file mode 100644
index 00000000..b1c96d3c
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/kernel-module-vcu_2022.2.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Linux kernel module for Video Code Unit"
2DESCRIPTION = "Out-of-tree VCU decoder, encoder and common kernel modules provider for MPSoC EV devices"
3SECTION = "kernel/modules"
4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://LICENSE.md;md5=eb723b61539feef013de476e68b5c50a"
6
7XILINX_VCU_VERSION = "1.0.0"
8PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
9
10S = "${WORKDIR}/git"
11
12FILESEXTRAPATHS:prepend := "${THISDIR}/files:"
13
14BRANCH = "xlnx_rel_v2022.2"
15REPO = "git://github.com/Xilinx/vcu-modules.git;protocol=https"
16SRCREV = "b131e220285e06658b6ab27f9e19b1c592a55f3a"
17
18BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
19SRC_URI = " \
20 ${REPO};${BRANCHARG} \
21 file://99-vcu-enc-dec.rules \
22 "
23
24inherit module features_check
25
26REQUIRED_MACHINE_FEATURES = "vcu"
27
28EXTRA_OEMAKE += "O=${STAGING_KERNEL_BUILDDIR}"
29
30RDEPENDS:${PN} = "vcu-firmware"
31
32KERNEL_MODULE_AUTOLOAD += "dmaproxy"
33
34do_install:append() {
35 install -d ${D}${sysconfdir}/udev/rules.d
36 install -m 0644 ${WORKDIR}/99-vcu-enc-dec.rules ${D}${sysconfdir}/udev/rules.d/
37}
38
39FILES:${PN} = "${sysconfdir}/udev/rules.d/*"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb
new file mode 100644
index 00000000..47c521c4
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.1.bb
@@ -0,0 +1,51 @@
1SUMMARY = "OpenMAX Integration layer for VCU"
2DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2022.1"
10REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https"
11SRCREV = "b3308c608be7ed9250b9c6732f6e0a02b1a2e985"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24DEPENDS = "libvcu-xlnx"
25RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx"
26
27EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
28
29EXTRA_OEMAKE = " \
30 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
31 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
32 "
33
34do_install() {
35 install -d ${D}${libdir}
36 install -d ${D}${includedir}/vcu-omx-il
37
38 install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il
39
40 install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder
41 install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder
42
43 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
44 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
45 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/
46}
47
48# These libraries shouldn't get installed in world builds unless something
49# explicitly depends upon them.
50
51EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb
new file mode 100644
index 00000000..c5b956bc
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2022.2.bb
@@ -0,0 +1,50 @@
1SUMMARY = "OpenMAX Integration layer for VCU"
2DESCRIPTION = "OMX IL Libraries,test applications and headers for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2022.2"
10REPO ?= "git://github.com/Xilinx/vcu-omx-il.git;protocol=https"
11SRCREV = "6752f5da88a8783f689ae762065295b89902d6d4"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18COMPATIBLE_MACHINE = "^$"
19COMPATIBLE_MACHINE:zynqmp = "zynqmp"
20
21PACKAGE_ARCH = "${MACHINE_ARCH}"
22
23DEPENDS = "libvcu-xlnx"
24RDEPENDS:${PN} = "kernel-module-vcu libvcu-xlnx"
25
26EXTERNAL_INCLUDE="${STAGING_INCDIR}/vcu-ctrl-sw/include"
27
28EXTRA_OEMAKE = " \
29 CC='${CC}' CXX='${CXX} ${CXXFLAGS}' \
30 EXTERNAL_INCLUDE='${EXTERNAL_INCLUDE}' \
31 "
32
33do_install() {
34 install -d ${D}${libdir}
35 install -d ${D}${includedir}/vcu-omx-il
36
37 install -m 0644 ${S}/omx_header/*.h ${D}${includedir}/vcu-omx-il
38
39 install -Dm 0755 ${S}/bin/omx_decoder ${D}/${bindir}/omx_decoder
40 install -Dm 0755 ${S}/bin/omx_encoder ${D}/${bindir}/omx_encoder
41
42 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.core ${D}/${libdir}/
43 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_decoder ${D}/${libdir}/
44 oe_libinstall -C ${S}/bin/ -so libOMX.allegro.video_encoder ${D}/${libdir}/
45}
46
47# These libraries shouldn't get installed in world builds unless something
48# explicitly depends upon them.
49
50EXCLUDE_FROM_WORLD = "1"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb
index 3c258008..75a05fed 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libomxil-xlnx_2023.1.bb
@@ -13,6 +13,8 @@ SRCREV = "4773b372b72b88ccbabc122b023f042fb22a019e"
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}" 14SRC_URI = "${REPO};${BRANCHARG}"
15 15
16SRC_URI += "file://0001-Current-gcc-requires-cstdint-for-C-types.patch"
17
16S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
17 19
18inherit features_check 20inherit features_check
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb
new file mode 100644
index 00000000..71e6e572
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.1.bb
@@ -0,0 +1,46 @@
1SUMMARY = "Control Software for VCU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2022.1"
10REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https"
11SRCREV = "5bf158af204b181f00ac009c8745557642ecfe5f"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24RDEPENDS:${PN} = "kernel-module-vcu"
25
26EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
27
28do_install() {
29 install -d ${D}${libdir}
30 install -d ${D}${includedir}/vcu-ctrl-sw/include
31
32 install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder
33 install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder
34
35 oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include
36 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
37 oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/
38}
39
40# These libraries shouldn't get installed in world builds unless something
41# explicitly depends upon them.
42
43EXCLUDE_FROM_WORLD = "1"
44
45# Disable buildpaths QA check warnings.
46INSANE_SKIP:${PN} += "buildpaths"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb
new file mode 100644
index 00000000..130d79bc
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2022.2.bb
@@ -0,0 +1,46 @@
1SUMMARY = "Control Software for VCU"
2DESCRIPTION = "Control software libraries, test applications and headers provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=03a7aef7e6f6a76a59fd9b8ba450b493"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9BRANCH ?= "xlnx_rel_v2022.2"
10REPO ?= "git://github.com/Xilinx/vcu-ctrl-sw.git;protocol=https"
11SRCREV = "3c59dede1923a159a8db736ce0b4ab55633a2114"
12
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}"
15
16S = "${WORKDIR}/git"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24RDEPENDS:${PN} = "kernel-module-vcu"
25
26EXTRA_OEMAKE = "CC='${CC}' CXX='${CXX} ${CXXFLAGS}'"
27
28do_install() {
29 install -d ${D}${libdir}
30 install -d ${D}${includedir}/vcu-ctrl-sw/include
31
32 install -Dm 0755 ${S}/bin/ctrlsw_encoder ${D}/${bindir}/ctrlsw_encoder
33 install -Dm 0755 ${S}/bin/ctrlsw_decoder ${D}/${bindir}/ctrlsw_decoder
34
35 oe_runmake install_headers INSTALL_HDR_PATH=${D}${includedir}/vcu-ctrl-sw/include
36 oe_libinstall -C ${S}/bin/ -so liballegro_decode ${D}/${libdir}/
37 oe_libinstall -C ${S}/bin/ -so liballegro_encode ${D}/${libdir}/
38}
39
40# These libraries shouldn't get installed in world builds unless something
41# explicitly depends upon them.
42
43EXCLUDE_FROM_WORLD = "1"
44
45# Disable buildpaths QA check warnings.
46INSANE_SKIP:${PN} += "buildpaths"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb
index 7dc97d72..53a03f45 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/libvcu-xlnx_2023.1.bb
@@ -13,6 +13,8 @@ SRCREV = "83aabb84c26667f7d6aee632654c63e504838061"
13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" 13BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
14SRC_URI = "${REPO};${BRANCHARG}" 14SRC_URI = "${REPO};${BRANCHARG}"
15 15
16SRC_URI += "file://0001-Support-updated-gcc-add-cstdint-where-necessary.patch"
17
16S = "${WORKDIR}/git" 18S = "${WORKDIR}/git"
17 19
18inherit features_check 20inherit features_check
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb
new file mode 100644
index 00000000..c5c2b045
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.1.bb
@@ -0,0 +1,40 @@
1SUMMARY = "Firmware for VCU"
2DESCRIPTION = "Firmware binaries provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9S = "${WORKDIR}/git"
10
11BRANCH ?= "xlnx_rel_v2022.1"
12REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https"
13SRCREV = "569f980527fd58f43baf16bd0b294bf8c7cdf963"
14
15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
16SRC_URI = "${REPO};${BRANCHARG}"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24do_install() {
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw
27 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw
28 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw
29}
30
31# Inhibit warnings about files being stripped
32INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
33INHIBIT_PACKAGE_STRIP = "1"
34FILES:${PN} = "/lib/firmware/*"
35
36# These libraries shouldn't get installed in world builds unless something
37# explicitly depends upon them.
38EXCLUDE_FROM_WORLD = "1"
39
40INSANE_SKIP:${PN} = "ldflags"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb
new file mode 100644
index 00000000..594a94c3
--- /dev/null
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2022.2.bb
@@ -0,0 +1,40 @@
1SUMMARY = "Firmware for VCU"
2DESCRIPTION = "Firmware binaries provider for VCU"
3LICENSE = "Proprietary"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=63b45903a9a50120df488435f03cf498"
5
6XILINX_VCU_VERSION = "1.0.0"
7PV = "${XILINX_VCU_VERSION}-xilinx-v${@bb.parse.vars_from_file(d.getVar('FILE', False),d)[1] or ''}+git${SRCPV}"
8
9S = "${WORKDIR}/git"
10
11BRANCH ?= "xlnx_rel_v2022.2"
12REPO ?= "git://github.com/Xilinx/vcu-firmware.git;protocol=https"
13SRCREV = "3980c778d71fa51a15e89bf70fd8fb28d5cb12e0"
14
15BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
16SRC_URI = "${REPO};${BRANCHARG}"
17
18inherit features_check
19
20REQUIRED_MACHINE_FEATURES = "vcu"
21
22PACKAGE_ARCH = "${MACHINE_ARCH}"
23
24do_install() {
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw
27 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw
28 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw
29}
30
31# Inhibit warnings about files being stripped
32INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
33INHIBIT_PACKAGE_STRIP = "1"
34FILES:${PN} = "/lib/firmware/*"
35
36# These libraries shouldn't get installed in world builds unless something
37# explicitly depends upon them.
38EXCLUDE_FROM_WORLD = "1"
39
40INSANE_SKIP:${PN} = "ldflags"
diff --git a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb
index 50e7926d..a90d307f 100644
--- a/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vcu/vcu-firmware_2023.1.bb
@@ -20,16 +20,16 @@ inherit features_check
20REQUIRED_MACHINE_FEATURES = "vcu" 20REQUIRED_MACHINE_FEATURES = "vcu"
21 21
22do_install() { 22do_install() {
23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}/lib/firmware/al5d_b.fw 23 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d_b.fw ${D}${nonarch_base_libdir}/firmware/al5d_b.fw
24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}/lib/firmware/al5d.fw 24 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5d.fw ${D}${nonarch_base_libdir}/firmware/al5d.fw
25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}/lib/firmware/al5e_b.fw 25 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e_b.fw ${D}${nonarch_base_libdir}/firmware/al5e_b.fw
26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}/lib/firmware/al5e.fw 26 install -Dm 0644 ${S}/${XILINX_VCU_VERSION}/lib/firmware/al5e.fw ${D}${nonarch_base_libdir}/firmware/al5e.fw
27} 27}
28 28
29# Inhibit warnings about files being stripped 29# Inhibit warnings about files being stripped
30INHIBIT_PACKAGE_DEBUG_SPLIT = "1" 30INHIBIT_PACKAGE_DEBUG_SPLIT = "1"
31INHIBIT_PACKAGE_STRIP = "1" 31INHIBIT_PACKAGE_STRIP = "1"
32FILES:${PN} = "/lib/firmware/*" 32FILES:${PN} = "${nonarch_base_libdir}/firmware/*"
33 33
34# These libraries shouldn't get installed in world builds unless something 34# These libraries shouldn't get installed in world builds unless something
35# explicitly depends upon them. 35# explicitly depends upon them.
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb
index 9b835490..9b835490 100755..100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/kernel-module-vdu_2023.1.bb
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb
index 602dc2fc..602dc2fc 100755..100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-ctrlsw_2023.1.bb
diff --git a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb
index b4fc482e..b4fc482e 100755..100644
--- a/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb
+++ b/meta-xilinx-core/recipes-multimedia/vdu/libvdu-omxil_2023.1.bb
diff --git a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch b/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch
new file mode 100644
index 00000000..67ca68c6
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch
@@ -0,0 +1,117 @@
1Add cstdint as necessary
2
3In GCC 13.1 usage of uint64 and similar will result in an error without
4 #include <cstdint>
5
6Signed-off-by: Mark Hatle <mark.hatle@amd.com>
7
8diff --git a/src/runtime_src/core/common/time.h b/src/runtime_src/core/common/time.h
9index a4a96b11d..585d38756 100644
10--- a/src/runtime_src/core/common/time.h
11+++ b/src/runtime_src/core/common/time.h
12@@ -19,6 +19,7 @@
13
14 #include "core/common/config.h"
15 #include <string>
16+#include <cstdint>
17
18 namespace xrt_core {
19
20diff --git a/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h b/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
21index 196304765..36ce35e80
22--- a/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
23+++ b/src/runtime_src/core/edge/user/aie/common_layer/adf_api_config.h
24@@ -18,6 +18,7 @@
25
26 #include <string>
27 #include <vector>
28+#include <cstdint>
29
30 namespace adf
31 {
32diff --git a/src/runtime_src/core/edge/user/zynq_dev.h b/src/runtime_src/core/edge/user/zynq_dev.h
33index 6fe36c615..2abd7473b 100644
34--- a/src/runtime_src/core/edge/user/zynq_dev.h
35+++ b/src/runtime_src/core/edge/user/zynq_dev.h
36@@ -19,6 +19,7 @@
37 #include <fstream>
38 #include <string>
39 #include <vector>
40+#include <cstdint>
41
42 class zynq_device {
43 public:
44diff --git a/src/runtime_src/tools/xclbinutil/CBOR.h b/src/runtime_src/tools/xclbinutil/CBOR.h
45index 368459f59..acbf6ebae 100644
46--- a/src/runtime_src/tools/xclbinutil/CBOR.h
47+++ b/src/runtime_src/tools/xclbinutil/CBOR.h
48@@ -22,6 +22,7 @@
49 // #includes here - please keep these to a bare minimum!
50 #include <string>
51 #include <sstream>
52+#include <cstdint>
53
54 // ------------ F O R W A R D - D E C L A R A T I O N S ----------------------
55 // Forward declarations - use these instead whenever possible...
56diff --git a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h
57index 361015962..1c3bca18d 100644
58--- a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h
59+++ b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h
60@@ -19,6 +19,7 @@
61
62 // ----------------------- I N C L U D E S -----------------------------------
63 #include <sstream>
64+#include <cstdint>
65 #include <string>
66
67 // ----------- C L A S S : D T C S t r i n g s B l o c k -------------------
68diff --git a/src/runtime_src/tools/xclbinutil/XclBinSignature.h b/src/runtime_src/tools/xclbinutil/XclBinSignature.h
69index b19ab56a4..f1b72d4d2 100644
70--- a/src/runtime_src/tools/xclbinutil/XclBinSignature.h
71+++ b/src/runtime_src/tools/xclbinutil/XclBinSignature.h
72@@ -18,6 +18,7 @@
73 #define __XclBinSignature_h_
74
75 #include <string>
76+#include <cstdint>
77
78 // ----------------------- I N C L U D E S -----------------------------------
79
80diff --git a/src/runtime_src/xdp/profile/database/events/vtf_event.h b/src/runtime_src/xdp/profile/database/events/vtf_event.h
81index f8d0121db..b5f36554c 100644
82--- a/src/runtime_src/xdp/profile/database/events/vtf_event.h
83+++ b/src/runtime_src/xdp/profile/database/events/vtf_event.h
84@@ -19,6 +19,7 @@
85 #define VTF_EVENT_DOT_H
86
87 #include <fstream>
88+#include <cstdint>
89
90 #include "xdp/config.h"
91
92diff --git a/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h b/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h
93index 98c57de2e..6077bd247 100644
94--- a/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h
95+++ b/src/runtime_src/xdp/profile/device/aie_trace/aie_trace_logger.h
96@@ -17,7 +17,8 @@
97 #ifndef XDP_PROFILE_AIE_TRACE_LOGGER_H
98 #define XDP_PROFILE_AIE_TRACE_LOGGER_H
99
100-#include<iostream>
101+#include <iostream>
102+#include <cstdint>
103
104 namespace xdp {
105
106diff --git a/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h b/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h
107index a88597464..f392ec0e6 100644
108--- a/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h
109+++ b/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h
110@@ -19,6 +19,7 @@
111
112 #include <fstream>
113 #include <string>
114+#include <cstdint>
115
116 #include "xdp/config.h"
117