diff options
author | Mark Hatle <mark.hatle@amd.com> | 2024-04-18 10:15:50 -0600 |
---|---|---|
committer | Mark Hatle <mark.hatle@amd.com> | 2024-04-19 10:03:07 -0600 |
commit | 8db695adaffffa7f64acda36ec7780a629b09868 (patch) | |
tree | 98993dfb9f4dd1afda7d544c91afdfe9458f41d3 /meta-xilinx-core | |
parent | dd8ea4e52a47320656028ce18117f58053d3aaeb (diff) | |
download | meta-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')
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 |
99 | PREFERRED_VERSION_kernel-module-vdu = "1.0.0-xilinx-${XILINX_RELEASE_VERSION}+git%" | 99 | PREFERRED_VERSION_kernel-module-vdu = "1.0.0-xilinx-${XILINX_RELEASE_VERSION}+git%" |
100 | 100 | ||
101 | # XRT/ZOCL | ||
102 | XRT_ZOCL_VERSION[v2022.1] = "202210.2.13.479" | ||
103 | XRT_ZOCL_VERSION[v2022.2] = "202220.2.14.0" | ||
104 | XRT_ZOCL_VERSION[v2023.1] = "202310.2.15.0" | ||
105 | XRT_ZOCL_VERSION[v2023.2] = "202320.2.16.0" | ||
106 | PREFERRED_VERSION_xrt ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" | ||
107 | PREFERRED_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 |
102 | PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" | 110 | PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" |
103 | BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" | 111 | BB_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 @@ | |||
1 | SUMMARY = "Xilinx Runtime(XRT) - minimal native build for xclbinutil" | 1 | SUMMARY = "Xilinx Runtime(XRT) - minimal native build for xclbinutil" |
2 | DESCRIPTION = "Native build of xclbinutil using XRT codebase" | 2 | DESCRIPTION = "Native build of xclbinutil using XRT codebase" |
3 | 3 | ||
4 | require xrt.inc | 4 | require xrt-202320.2.16.0.inc |
5 | 5 | ||
6 | FILESEXTRAPATHS:append := ":${THISDIR}/xrt" | 6 | FILESEXTRAPATHS: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 @@ | |||
1 | REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" | ||
2 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
3 | SRC_URI = "${REPO};${BRANCHARG}" | ||
4 | |||
5 | BRANCH= "2022.1" | ||
6 | SRCREV= "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 @@ | |||
1 | REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" | ||
2 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
3 | SRC_URI = "${REPO};${BRANCHARG}" | ||
4 | |||
5 | BRANCH= "2022.2" | ||
6 | SRCREV= "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 @@ | |||
1 | REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" | ||
2 | BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" | ||
3 | SRC_URI = "${REPO};${BRANCHARG}" | ||
4 | |||
5 | BRANCH= "2023.1" | ||
6 | SRCREV= "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 | ||
5 | BRANCH= "2023.2" | 5 | BRANCH= "2023.2" |
6 | SRCREV_xrt = "2865a62b6a417dea523d2d5646154aa94a2cbc28" | 6 | SRCREV_xrt = "2865a62b6a417dea523d2d5646154aa94a2cbc28" |
7 | PV = "202320.2.16.0" | ||
8 | 7 | ||
9 | SRC_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" | 8 | SRC_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" |
10 | SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578" | 9 | SRCREV_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 @@ | |||
1 | SUMMARY = "Xilinx Runtime(XRT) libraries" | ||
2 | DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" | ||
3 | |||
4 | require xrt-${PV}.inc | ||
5 | |||
6 | LICENSE = "GPL-2.0-or-later & Apache-2.0" | ||
7 | LIC_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 | |||
14 | S = "${WORKDIR}/git/src" | ||
15 | |||
16 | inherit cmake pkgconfig | ||
17 | |||
18 | BBCLASSEXTEND = "native nativesdk" | ||
19 | |||
20 | # util-linux is for libuuid-dev. | ||
21 | DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" | ||
22 | RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" | ||
23 | |||
24 | EXTRA_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 | |||
32 | EXTRA_OECMAKE:append:aarch64 = " -DXRT_LIBDFX=true" | ||
33 | DEPENDS:append:aarch64 = " libdfx" | ||
34 | |||
35 | FILES_SOLIBSDEV = "" | ||
36 | FILES:${PN} += "\ | ||
37 | ${libdir}/lib*.so \ | ||
38 | ${libdir}/lib*.so.* \ | ||
39 | ${libdir}/ps_kernels_lib \ | ||
40 | /lib/*.so* " | ||
41 | INSANE_SKIP:${PN} += "dev-so" | ||
42 | |||
43 | pkg_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 @@ | |||
1 | SUMMARY = "Xilinx Runtime(XRT) libraries" | ||
2 | DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" | ||
3 | |||
4 | require xrt-${PV}.inc | ||
5 | |||
6 | LICENSE = "GPL-2.0-or-later & Apache-2.0" | ||
7 | LIC_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 | |||
13 | S = "${WORKDIR}/git/src" | ||
14 | |||
15 | inherit cmake pkgconfig | ||
16 | |||
17 | BBCLASSEXTEND = "native nativesdk" | ||
18 | |||
19 | # util-linux is for libuuid-dev. | ||
20 | DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" | ||
21 | RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" | ||
22 | |||
23 | EXTRA_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 | |||
31 | EXTRA_OECMAKE:append:aarch64 = " -DXRT_LIBDFX=true" | ||
32 | DEPENDS:append:aarch64 = " libdfx" | ||
33 | |||
34 | FILES_SOLIBSDEV = "" | ||
35 | FILES:${PN} += "\ | ||
36 | ${libdir}/lib*.so \ | ||
37 | ${libdir}/lib*.so.* \ | ||
38 | ${libdir}/ps_kernels_lib \ | ||
39 | /lib/*.so* \ | ||
40 | ${datadir}" | ||
41 | INSANE_SKIP:${PN} += "dev-so" | ||
42 | |||
43 | pkg_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 @@ | |||
1 | SUMMARY = "Xilinx Runtime(XRT) libraries" | ||
2 | DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" | ||
3 | |||
4 | require xrt-${PV}.inc | ||
5 | |||
6 | LICENSE = "GPL-2.0-or-later & Apache-2.0" | ||
7 | LIC_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 | |||
13 | COMPATIBLE_MACHINE ?= "^$" | ||
14 | COMPATIBLE_MACHINE:zynqmp = ".*" | ||
15 | COMPATIBLE_MACHINE:versal = ".*" | ||
16 | |||
17 | S = "${WORKDIR}/git/src" | ||
18 | |||
19 | inherit cmake pkgconfig | ||
20 | |||
21 | BBCLASSEXTEND = "native nativesdk" | ||
22 | |||
23 | # util-linux is for libuuid-dev. | ||
24 | DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson libdfx" | ||
25 | RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" | ||
26 | |||
27 | EXTRA_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 | |||
37 | FILES_SOLIBSDEV = "" | ||
38 | FILES:${PN} += "\ | ||
39 | ${libdir}/lib*.so \ | ||
40 | ${libdir}/lib*.so.* \ | ||
41 | ${libdir}/ps_kernels_lib \ | ||
42 | /lib/*.so* \ | ||
43 | ${datadir}" | ||
44 | INSANE_SKIP:${PN} += "dev-so" | ||
45 | |||
46 | pkg_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 @@ | |||
1 | SUMMARY = "Xilinx Runtime(XRT) libraries" | 1 | SUMMARY = "Xilinx Runtime(XRT) libraries" |
2 | DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" | 2 | DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" |
3 | 3 | ||
4 | require xrt.inc | 4 | require xrt-${PV}.inc |
5 | 5 | ||
6 | SRC_URI += "file://xrt-cstdint.patch;striplevel=2" | 6 | SRC_URI += "file://xrt-cstdint.patch;striplevel=2" |
7 | 7 | ||
@@ -24,24 +24,19 @@ inherit cmake pkgconfig | |||
24 | BBCLASSEXTEND = "native nativesdk" | 24 | BBCLASSEXTEND = "native nativesdk" |
25 | 25 | ||
26 | # util-linux is for libuuid-dev. | 26 | # util-linux is for libuuid-dev. |
27 | DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" | 27 | DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson libdfx" |
28 | RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" | 28 | RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" |
29 | 29 | ||
30 | EXTRA_OECMAKE += " \ | 30 | EXTRA_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 | ||
39 | EXTRA_OECMAKE:append:versal = " -DXRT_LIBDFX=true" | ||
40 | EXTRA_OECMAKE:append:zynqmp = " -DXRT_LIBDFX=true" | ||
41 | DEPENDS:append:versal = " libdfx" | ||
42 | DEPENDS:append:zynqmp = " libdfx" | ||
43 | |||
44 | |||
45 | FILES_SOLIBSDEV = "" | 40 | FILES_SOLIBSDEV = "" |
46 | FILES:${PN} += "\ | 41 | FILES:${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 @@ | |||
1 | From bc19f980cced50fc35f94905f2a99070871b9e93 Mon Sep 17 00:00:00 2001 | ||
2 | From: Saifuddin Kaijar <54270703+saifuddin-xilinx@users.noreply.github.com> | ||
3 | Date: Mon, 29 Aug 2022 10:25:06 +0530 | ||
4 | Subject: [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 | |||
13 | diff --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 | ||
14 | index 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_ */ | ||
26 | diff --git a/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c b/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c | ||
27 | index 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; | ||
58 | diff --git a/src/runtime_src/core/edge/include/zynq_ioctl.h b/src/runtime_src/core/edge/include/zynq_ioctl.h | ||
59 | index 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 | }; | ||
70 | diff --git a/src/runtime_src/core/edge/user/shim.cpp b/src/runtime_src/core/edge/user/shim.cpp | ||
71 | index 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 | -- | ||
83 | 2.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 @@ | |||
1 | SUMMARY = "Xilinx Runtime(XRT) driver module" | ||
2 | DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule" | ||
3 | |||
4 | |||
5 | require recipes-xrt/xrt/xrt-${PV}.inc | ||
6 | |||
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" | ||
8 | LICENSE = "GPLv2 & Apache-2.0" | ||
9 | |||
10 | # Temporary fix | ||
11 | # Patch is applied as -p 4 to the src/runtime_src/core/edge directory | ||
12 | SRC_URI += "file://0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch;striplevel=5;patchdir=./../../" | ||
13 | |||
14 | S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl" | ||
15 | |||
16 | inherit module | ||
17 | |||
18 | pkg_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 @@ | |||
1 | SUMMARY = "Xilinx Runtime(XRT) driver module" | ||
2 | DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule" | ||
3 | |||
4 | COMPATIBLE_MACHINE:microblaze = "none" | ||
5 | |||
6 | require recipes-xrt/xrt/xrt-${PV}.inc | ||
7 | |||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" | ||
9 | LICENSE = "GPL-2.0-or-later & Apache-2.0" | ||
10 | |||
11 | S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl" | ||
12 | |||
13 | inherit module | ||
14 | |||
15 | pkg_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 | ||
4 | COMPATIBLE_MACHINE:microblaze = "none" | 4 | COMPATIBLE_MACHINE:microblaze = "none" |
5 | 5 | ||
6 | require recipes-xrt/xrt/xrt.inc | 6 | require recipes-xrt/xrt/xrt-${PV}.inc |
7 | 7 | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" | 8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" |
9 | LICENSE = "GPL-2.0-or-later & Apache-2.0" | 9 | LICENSE = "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 @@ | |||
1 | SUMMARY = "Xilinx Runtime(XRT) driver module" | ||
2 | DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule" | ||
3 | |||
4 | COMPATIBLE_MACHINE:microblaze = "none" | ||
5 | |||
6 | require recipes-xrt/xrt/xrt-${PV}.inc | ||
7 | |||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" | ||
9 | LICENSE = "GPL-2.0-or-later & Apache-2.0" | ||
10 | |||
11 | COMPATIBLE_MACHINE ?= "^$" | ||
12 | COMPATIBLE_MACHINE:zynqmp = ".*" | ||
13 | COMPATIBLE_MACHINE:versal = ".*" | ||
14 | |||
15 | S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl" | ||
16 | |||
17 | inherit module | ||
18 | |||
19 | pkg_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 | } | ||