summaryrefslogtreecommitdiffstats
path: root/meta-xilinx-core
diff options
context:
space:
mode:
authorMark Hatle <mark.hatle@amd.com>2024-04-18 10:15:50 -0600
committerMark Hatle <mark.hatle@amd.com>2024-04-19 10:03:07 -0600
commit8db695adaffffa7f64acda36ec7780a629b09868 (patch)
tree98993dfb9f4dd1afda7d544c91afdfe9458f41d3 /meta-xilinx-core
parentdd8ea4e52a47320656028ce18117f58053d3aaeb (diff)
downloadmeta-xilinx-8db695adaffffa7f64acda36ec7780a629b09868.tar.gz
meta-xilinx-core: xrt: Rename and add older versions
Version/rename XRT for the current version. Zocl is tied to XRT, and to the kernel sources. So provide an older XRT/Zocl combination to allow for older configurations. Note, 2022.1 -> 2023.1 do not currently work. Zocl builds, but XRT fails due to issues with gcc 12 and beyond. Signed-off-by: Mark Hatle <mark.hatle@amd.com>
Diffstat (limited to 'meta-xilinx-core')
-rw-r--r--meta-xilinx-core/conf/layer.conf8
-rw-r--r--meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend (renamed from meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend)0
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb (renamed from meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb)2
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc6
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc7
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc7
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc (renamed from meta-xilinx-core/recipes-xrt/xrt/xrt.inc)1
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch (renamed from meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch)0
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb51
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb51
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb54
-rw-r--r--meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb (renamed from meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb)11
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch84
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb24
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb21
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb (renamed from meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb)2
-rw-r--r--meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb25
17 files changed, 343 insertions, 11 deletions
diff --git a/meta-xilinx-core/conf/layer.conf b/meta-xilinx-core/conf/layer.conf
index bb97d7a0..ccc5e253 100644
--- a/meta-xilinx-core/conf/layer.conf
+++ b/meta-xilinx-core/conf/layer.conf
@@ -98,6 +98,14 @@ PREFERRED_VERSION_kernel-module-vcu = "1.0.0-xilinx-${XILINX_RELEASE_VERSION}+gi
98# VDU kernel module 98# VDU kernel module
99PREFERRED_VERSION_kernel-module-vdu = "1.0.0-xilinx-${XILINX_RELEASE_VERSION}+git%" 99PREFERRED_VERSION_kernel-module-vdu = "1.0.0-xilinx-${XILINX_RELEASE_VERSION}+git%"
100 100
101# XRT/ZOCL
102XRT_ZOCL_VERSION[v2022.1] = "202210.2.13.479"
103XRT_ZOCL_VERSION[v2022.2] = "202220.2.14.0"
104XRT_ZOCL_VERSION[v2023.1] = "202310.2.15.0"
105XRT_ZOCL_VERSION[v2023.2] = "202320.2.16.0"
106PREFERRED_VERSION_xrt ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
107PREFERRED_VERSION_zocl ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}"
108
101# Add support to eSDK for gen-machine-conf if it exists 109# Add support to eSDK for gen-machine-conf if it exists
102PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" 110PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts"
103BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" 111BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH"
diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend
index 2b96f152..2b96f152 100644
--- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend
+++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb
index e0edbb7b..6cf10817 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb
+++ b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx Runtime(XRT) - minimal native build for xclbinutil" 1SUMMARY = "Xilinx Runtime(XRT) - minimal native build for xclbinutil"
2DESCRIPTION = "Native build of xclbinutil using XRT codebase" 2DESCRIPTION = "Native build of xclbinutil using XRT codebase"
3 3
4require xrt.inc 4require xrt-202320.2.16.0.inc
5 5
6FILESEXTRAPATHS:append := ":${THISDIR}/xrt" 6FILESEXTRAPATHS:append := ":${THISDIR}/xrt"
7 7
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc
new file mode 100644
index 00000000..38fbd162
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc
@@ -0,0 +1,6 @@
1REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
2BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
3SRC_URI = "${REPO};${BRANCHARG}"
4
5BRANCH= "2022.1"
6SRCREV= "5e92a513c6950e79638b1a879ddb882da34fc683"
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc
new file mode 100644
index 00000000..e4bb423c
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc
@@ -0,0 +1,7 @@
1REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
2BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
3SRC_URI = "${REPO};${BRANCHARG}"
4
5BRANCH= "2022.2"
6SRCREV= "43926231f7183688add2dccfd391b36a1f000bea"
7
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc
new file mode 100644
index 00000000..2f6a5c6a
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc
@@ -0,0 +1,7 @@
1REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https"
2BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}"
3SRC_URI = "${REPO};${BRANCHARG}"
4
5BRANCH= "2023.1"
6SRCREV= "64c933573e7e50a8aba939a74209590c2b739e8b"
7
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc
index 14b2b968..0ef2b1e5 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc
@@ -4,7 +4,6 @@ SRC_URI = "${REPO};${BRANCHARG};name=xrt"
4 4
5BRANCH= "2023.2" 5BRANCH= "2023.2"
6SRCREV_xrt = "2865a62b6a417dea523d2d5646154aa94a2cbc28" 6SRCREV_xrt = "2865a62b6a417dea523d2d5646154aa94a2cbc28"
7PV = "202320.2.16.0"
8 7
9SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https" 8SRC_URI += "git://github.com/Xilinx/dma_ip_drivers.git;branch=master;name=dma_ip_drivers;destsuffix=git/src/runtime_src/core/pcie/driver/linux/xocl/lib/libqdma;protocol=https"
10SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578" 9SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578"
diff --git a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch
index 67ca68c6..67ca68c6 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb
new file mode 100644
index 00000000..64702022
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb
@@ -0,0 +1,51 @@
1SUMMARY = "Xilinx Runtime(XRT) libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3
4require xrt-${PV}.inc
5
6LICENSE = "GPL-2.0-or-later & Apache-2.0"
7LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \
8 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \
9 file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
11 file://runtime_src/core/pcie/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 \
12 file://runtime_src/core/edge/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 "
13
14S = "${WORKDIR}/git/src"
15
16inherit cmake pkgconfig
17
18BBCLASSEXTEND = "native nativesdk"
19
20# util-linux is for libuuid-dev.
21DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson"
22RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})"
23
24EXTRA_OECMAKE += " \
25 -DCMAKE_BUILD_TYPE=Release \
26 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
27 "
28# Systems with AIE also require libmetal, this is implemented in the dynamic-layers
29# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend
30# Note: If meta-openamp is not available, AIE will not be enabled.
31
32EXTRA_OECMAKE:append:aarch64 = " -DXRT_LIBDFX=true"
33DEPENDS:append:aarch64 = " libdfx"
34
35FILES_SOLIBSDEV = ""
36FILES:${PN} += "\
37 ${libdir}/lib*.so \
38 ${libdir}/lib*.so.* \
39 ${libdir}/ps_kernels_lib \
40 /lib/*.so* "
41INSANE_SKIP:${PN} += "dev-so"
42
43pkg_postinst_ontarget:${PN}() {
44 #!/bin/sh
45 if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then
46 echo "INFO: Creating ICD entry for Xilinx Platform"
47 mkdir -p /etc/OpenCL/vendors
48 echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd
49 chmod -R 755 /etc/OpenCL
50 fi
51}
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb
new file mode 100644
index 00000000..5f6e0034
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb
@@ -0,0 +1,51 @@
1SUMMARY = "Xilinx Runtime(XRT) libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3
4require xrt-${PV}.inc
5
6LICENSE = "GPL-2.0-or-later & Apache-2.0"
7LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \
8 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \
9 file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
11 file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 "
12
13S = "${WORKDIR}/git/src"
14
15inherit cmake pkgconfig
16
17BBCLASSEXTEND = "native nativesdk"
18
19# util-linux is for libuuid-dev.
20DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson"
21RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})"
22
23EXTRA_OECMAKE += " \
24 -DCMAKE_BUILD_TYPE=Release \
25 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
26 "
27# Systems with AIE also require libmetal, this is implemented in the dynamic-layers
28# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend
29# Note: If meta-openamp is not available, AIE will not be enabled.
30
31EXTRA_OECMAKE:append:aarch64 = " -DXRT_LIBDFX=true"
32DEPENDS:append:aarch64 = " libdfx"
33
34FILES_SOLIBSDEV = ""
35FILES:${PN} += "\
36 ${libdir}/lib*.so \
37 ${libdir}/lib*.so.* \
38 ${libdir}/ps_kernels_lib \
39 /lib/*.so* \
40 ${datadir}"
41INSANE_SKIP:${PN} += "dev-so"
42
43pkg_postinst_ontarget:${PN}() {
44 #!/bin/sh
45 if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then
46 echo "INFO: Creating ICD entry for Xilinx Platform"
47 mkdir -p /etc/OpenCL/vendors
48 echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd
49 chmod -R 755 /etc/OpenCL
50 fi
51}
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb
new file mode 100644
index 00000000..7bb0d05a
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb
@@ -0,0 +1,54 @@
1SUMMARY = "Xilinx Runtime(XRT) libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3
4require xrt-${PV}.inc
5
6LICENSE = "GPL-2.0-or-later & Apache-2.0"
7LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \
8 file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \
9 file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
10 file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \
11 file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 "
12
13COMPATIBLE_MACHINE ?= "^$"
14COMPATIBLE_MACHINE:zynqmp = ".*"
15COMPATIBLE_MACHINE:versal = ".*"
16
17S = "${WORKDIR}/git/src"
18
19inherit cmake pkgconfig
20
21BBCLASSEXTEND = "native nativesdk"
22
23# util-linux is for libuuid-dev.
24DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson libdfx"
25RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})"
26
27EXTRA_OECMAKE += " \
28 -DCMAKE_BUILD_TYPE=Release \
29 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
30 -DXRT_LIBDFX=true \
31 "
32
33# Systems with AIE also require libmetal, this is implemented in the dynamic-layers
34# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend
35# Note: If meta-openamp is not available, AIE will not be enabled.
36
37FILES_SOLIBSDEV = ""
38FILES:${PN} += "\
39 ${libdir}/lib*.so \
40 ${libdir}/lib*.so.* \
41 ${libdir}/ps_kernels_lib \
42 /lib/*.so* \
43 ${datadir}"
44INSANE_SKIP:${PN} += "dev-so"
45
46pkg_postinst_ontarget:${PN}() {
47 #!/bin/sh
48 if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then
49 echo "INFO: Creating ICD entry for Xilinx Platform"
50 mkdir -p /etc/OpenCL/vendors
51 echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd
52 chmod -R 755 /etc/OpenCL
53 fi
54}
diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb
index ef3c7172..5824ae9c 100644
--- a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb
+++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb
@@ -1,7 +1,7 @@
1SUMMARY = "Xilinx Runtime(XRT) libraries" 1SUMMARY = "Xilinx Runtime(XRT) libraries"
2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" 2DESCRIPTION = "Xilinx Runtime User Space Libraries and headers"
3 3
4require xrt.inc 4require xrt-${PV}.inc
5 5
6SRC_URI += "file://xrt-cstdint.patch;striplevel=2" 6SRC_URI += "file://xrt-cstdint.patch;striplevel=2"
7 7
@@ -24,24 +24,19 @@ inherit cmake pkgconfig
24BBCLASSEXTEND = "native nativesdk" 24BBCLASSEXTEND = "native nativesdk"
25 25
26# util-linux is for libuuid-dev. 26# util-linux is for libuuid-dev.
27DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" 27DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson libdfx"
28RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" 28RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})"
29 29
30EXTRA_OECMAKE += " \ 30EXTRA_OECMAKE += " \
31 -DCMAKE_BUILD_TYPE=Release \ 31 -DCMAKE_BUILD_TYPE=Release \
32 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \ 32 -DCMAKE_EXPORT_COMPILE_COMANDS=ON \
33 -DXRT_LIBDFX=true \
33 " 34 "
34 35
35# Systems with AIE also require libmetal, this is implemented in the dynamic-layers 36# Systems with AIE also require libmetal, this is implemented in the dynamic-layers
36# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend 37# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend
37# Note: If meta-openamp is not available, AIE will not be enabled. 38# Note: If meta-openamp is not available, AIE will not be enabled.
38 39
39EXTRA_OECMAKE:append:versal = " -DXRT_LIBDFX=true"
40EXTRA_OECMAKE:append:zynqmp = " -DXRT_LIBDFX=true"
41DEPENDS:append:versal = " libdfx"
42DEPENDS:append:zynqmp = " libdfx"
43
44
45FILES_SOLIBSDEV = "" 40FILES_SOLIBSDEV = ""
46FILES:${PN} += "\ 41FILES:${PN} += "\
47 ${libdir}/lib*.so \ 42 ${libdir}/lib*.so \
diff --git a/meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch b/meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch
new file mode 100644
index 00000000..0f5fc088
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch
@@ -0,0 +1,84 @@
1From bc19f980cced50fc35f94905f2a99070871b9e93 Mon Sep 17 00:00:00 2001
2From: Saifuddin Kaijar <54270703+saifuddin-xilinx@users.noreply.github.com>
3Date: Mon, 29 Aug 2022 10:25:06 +0530
4Subject: [PATCH] Fixed ZOCL dtbo path len issue (#6966)
5
6---
7 src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h | 3 ++-
8 src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c | 7 ++++---
9 src/runtime_src/core/edge/include/zynq_ioctl.h | 1 +
10 src/runtime_src/core/edge/user/shim.cpp | 1 +
11 4 files changed, 8 insertions(+), 4 deletions(-)
12
13diff --git a/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h b/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h
14index c9c9b4f9e..0335551bc 100644
15--- a/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h
16+++ b/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h
17@@ -39,6 +39,7 @@ int zocl_xclbin_load_pdi(struct drm_zocl_dev *zdev, void *data,
18 struct drm_zocl_slot *slot);
19 int zocl_xclbin_load_pskernel(struct drm_zocl_dev *zdev, void *data);
20 bool zocl_xclbin_accel_adapter(int kds_mask);
21-int zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path);
22+int zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path,
23+ uint32_t len);
24
25 #endif /* _ZOCL_XCLBIN_H_ */
26diff --git a/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c b/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c
27index 7de733e38..fdedb70d5 100644
28--- a/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c
29+++ b/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c
30@@ -1475,7 +1475,8 @@ zocl_xclbin_read_axlf(struct drm_zocl_dev *zdev, struct drm_zocl_axlf *axlf_obj,
31 */
32 slot->slot_xclbin->zx_refcnt = 0;
33 if(ZOCL_PLATFORM_ARM64)
34- zocl_xclbin_set_dtbo_path(slot, axlf_obj->za_dtbo_path);
35+ zocl_xclbin_set_dtbo_path(slot, axlf_obj->za_dtbo_path,
36+ axlf_obj->za_dtbo_path_len);
37 zocl_xclbin_set_uuid(slot, &axlf_head.m_header.uuid);
38
39 /*
40@@ -1725,7 +1726,8 @@ zocl_xclbin_fini(struct drm_zocl_dev *zdev, struct drm_zocl_slot *slot)
41 * @return 0 on success Error code on failure.
42 */
43 int
44-zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path)
45+zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path,
46+ uint32_t len)
47 {
48 char *path = slot->slot_xclbin->zx_dtbo_path;
49
50@@ -1735,7 +1737,6 @@ zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path)
51 }
52
53 if(dtbo_path) {
54- uint32_t len = strlen(dtbo_path);
55 path = vmalloc(len + 1);
56 if (!path)
57 return -ENOMEM;
58diff --git a/src/runtime_src/core/edge/include/zynq_ioctl.h b/src/runtime_src/core/edge/include/zynq_ioctl.h
59index a45113550..ad9ec86ab 100644
60--- a/src/runtime_src/core/edge/include/zynq_ioctl.h
61+++ b/src/runtime_src/core/edge/include/zynq_ioctl.h
62@@ -429,6 +429,7 @@ struct drm_zocl_axlf {
63 char *za_kernels;
64 uint32_t za_slot_id;
65 char *za_dtbo_path;
66+ uint32_t za_dtbo_path_len;
67 uint8_t hw_gen;
68 struct drm_zocl_kds kds_cfg;
69 };
70diff --git a/src/runtime_src/core/edge/user/shim.cpp b/src/runtime_src/core/edge/user/shim.cpp
71index 11a8d86c9..058503187 100644
72--- a/src/runtime_src/core/edge/user/shim.cpp
73+++ b/src/runtime_src/core/edge/user/shim.cpp
74@@ -732,6 +732,7 @@ xclLoadAxlf(const axlf *buffer)
75 .za_kernels = NULL,
76 .za_slot_id = 0, // TODO Cleanup: Once uuid interface id available we need to remove this
77 .za_dtbo_path = const_cast<char *>(dtbo_path.c_str()),
78+ .za_dtbo_path_len = dtbo_path.length(),
79 .hw_gen = hw_gen,
80 };
81
82--
832.17.1
84
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb
new file mode 100644
index 00000000..7063178a
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Xilinx Runtime(XRT) driver module"
2DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule"
3
4
5require recipes-xrt/xrt/xrt-${PV}.inc
6
7LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
8LICENSE = "GPLv2 & Apache-2.0"
9
10# Temporary fix
11# Patch is applied as -p 4 to the src/runtime_src/core/edge directory
12SRC_URI += "file://0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch;striplevel=5;patchdir=./../../"
13
14S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl"
15
16inherit module
17
18pkg_postinst_ontarget:${PN}() {
19 #!/bin/sh
20 echo "Unloading old XRT Linux kernel modules"
21 ( rmmod zocl || true ) > /dev/null 2>&1
22 echo "Loading new XRT Linux kernel modules"
23 modprobe zocl
24}
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb
new file mode 100644
index 00000000..39e9f9fb
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb
@@ -0,0 +1,21 @@
1SUMMARY = "Xilinx Runtime(XRT) driver module"
2DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule"
3
4COMPATIBLE_MACHINE:microblaze = "none"
5
6require recipes-xrt/xrt/xrt-${PV}.inc
7
8LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
9LICENSE = "GPL-2.0-or-later & Apache-2.0"
10
11S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl"
12
13inherit module
14
15pkg_postinst_ontarget:${PN}() {
16 #!/bin/sh
17 echo "Unloading old XRT Linux kernel modules"
18 ( rmmod zocl || true ) > /dev/null 2>&1
19 echo "Loading new XRT Linux kernel modules"
20 modprobe zocl
21}
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb
index 6bd579f4..24f69aec 100644
--- a/meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Xilinx Runtime driver module provides memory management and compu
3 3
4COMPATIBLE_MACHINE:microblaze = "none" 4COMPATIBLE_MACHINE:microblaze = "none"
5 5
6require recipes-xrt/xrt/xrt.inc 6require recipes-xrt/xrt/xrt-${PV}.inc
7 7
8LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" 8LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
9LICENSE = "GPL-2.0-or-later & Apache-2.0" 9LICENSE = "GPL-2.0-or-later & Apache-2.0"
diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb
new file mode 100644
index 00000000..24f69aec
--- /dev/null
+++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb
@@ -0,0 +1,25 @@
1SUMMARY = "Xilinx Runtime(XRT) driver module"
2DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule"
3
4COMPATIBLE_MACHINE:microblaze = "none"
5
6require recipes-xrt/xrt/xrt-${PV}.inc
7
8LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8"
9LICENSE = "GPL-2.0-or-later & Apache-2.0"
10
11COMPATIBLE_MACHINE ?= "^$"
12COMPATIBLE_MACHINE:zynqmp = ".*"
13COMPATIBLE_MACHINE:versal = ".*"
14
15S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl"
16
17inherit module
18
19pkg_postinst_ontarget:${PN}() {
20 #!/bin/sh
21 echo "Unloading old XRT Linux kernel modules"
22 ( rmmod zocl || true ) > /dev/null 2>&1
23 echo "Loading new XRT Linux kernel modules"
24 modprobe zocl
25}