From 8db695adaffffa7f64acda36ec7780a629b09868 Mon Sep 17 00:00:00 2001 From: Mark Hatle Date: Thu, 18 Apr 2024 10:15:50 -0600 Subject: 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 --- meta-xilinx-core/conf/layer.conf | 8 ++ .../openamp-layer/recipes-xrt/xrt/xrt_%.bbappend | 14 +++ .../openamp-layer/recipes-xrt/xrt/xrt_git.bbappend | 14 --- .../recipes-xrt/xrt/files/xrt-cstdint.patch | 117 --------------------- .../xrt/xclbinutil-native_202320.2.16.0.bb | 29 +++++ .../recipes-xrt/xrt/xclbinutil-native_git.bb | 29 ----- .../recipes-xrt/xrt/xrt-202210.2.13.479.inc | 6 ++ .../recipes-xrt/xrt/xrt-202220.2.14.0.inc | 7 ++ .../recipes-xrt/xrt/xrt-202310.2.15.0.inc | 7 ++ .../recipes-xrt/xrt/xrt-202320.2.16.0.inc | 13 +++ .../xrt/xrt-202320.2.16.0/xrt-cstdint.patch | 117 +++++++++++++++++++++ meta-xilinx-core/recipes-xrt/xrt/xrt.inc | 14 --- .../recipes-xrt/xrt/xrt_202210.2.13.479.bb | 51 +++++++++ .../recipes-xrt/xrt/xrt_202220.2.14.0.bb | 51 +++++++++ .../recipes-xrt/xrt/xrt_202310.2.15.0.bb | 54 ++++++++++ .../recipes-xrt/xrt/xrt_202320.2.16.0.bb | 57 ++++++++++ meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb | 62 ----------- .../0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch | 84 +++++++++++++++ .../recipes-xrt/zocl/zocl_202210.2.13.479.bb | 24 +++++ .../recipes-xrt/zocl/zocl_202220.2.14.0.bb | 21 ++++ .../recipes-xrt/zocl/zocl_202310.2.15.0.bb | 25 +++++ .../recipes-xrt/zocl/zocl_202320.2.16.0.bb | 25 +++++ meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb | 25 ----- 23 files changed, 593 insertions(+), 261 deletions(-) create mode 100644 meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend delete mode 100644 meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend delete mode 100644 meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb delete mode 100644 meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt-202210.2.13.479.inc create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt-202220.2.14.0.inc create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt-202310.2.15.0.inc create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch delete mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt.inc create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt_202210.2.13.479.bb create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt_202220.2.14.0.bb create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt_202310.2.15.0.bb create mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb delete mode 100644 meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb create mode 100644 meta-xilinx-core/recipes-xrt/zocl/files/0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch create mode 100644 meta-xilinx-core/recipes-xrt/zocl/zocl_202210.2.13.479.bb create mode 100644 meta-xilinx-core/recipes-xrt/zocl/zocl_202220.2.14.0.bb create mode 100644 meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb create mode 100644 meta-xilinx-core/recipes-xrt/zocl/zocl_202320.2.16.0.bb delete mode 100644 meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb (limited to 'meta-xilinx-core') 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 # VDU kernel module PREFERRED_VERSION_kernel-module-vdu = "1.0.0-xilinx-${XILINX_RELEASE_VERSION}+git%" +# XRT/ZOCL +XRT_ZOCL_VERSION[v2022.1] = "202210.2.13.479" +XRT_ZOCL_VERSION[v2022.2] = "202220.2.14.0" +XRT_ZOCL_VERSION[v2023.1] = "202310.2.15.0" +XRT_ZOCL_VERSION[v2023.2] = "202320.2.16.0" +PREFERRED_VERSION_xrt ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" +PREFERRED_VERSION_zocl ?= "${@d.getVarFlag('XRT_ZOCL_VERSION', d.getVar('XILINX_RELEASE_VERSION')) or 'undefined'}" + # Add support to eSDK for gen-machine-conf if it exists PLNX_SCRIPTS_PATH = "${LAYERDIR}/gen-machine-conf/gen-machine-scripts" BB_HASHEXCLUDE_COMMON:append = " PLNX_SCRIPTS_PATH" diff --git a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend new file mode 100644 index 00000000..2b96f152 --- /dev/null +++ b/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_%.bbappend @@ -0,0 +1,14 @@ +# Use libmetal for systems with AIE +# For vck190 kind of devices +PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" +EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true" +TARGET_CXXFLAGS:append:versal-ai-core = " -DXRT_ENABLE_AIE" +DEPENDS:append:versal-ai-core = " libmetal libxaiengine aiefal" +RDEPENDS:${PN}:append:versal-ai-core = " libxaiengine aiefal" + +# For vek280 kind of devices +PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" +EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true" +TARGET_CXXFLAGS:append:versal-ai-edge = " -DXRT_ENABLE_AIE" +DEPENDS:append:versal-ai-edge = " libmetal libxaiengine aiefal" +RDEPENDS:${PN}:append:versal-ai-edge = " libxaiengine aiefal" 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_git.bbappend deleted file mode 100644 index 2b96f152..00000000 --- a/meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt/xrt_git.bbappend +++ /dev/null @@ -1,14 +0,0 @@ -# Use libmetal for systems with AIE -# For vck190 kind of devices -PACKAGE_ARCH:versal-ai-core = "${SOC_VARIANT_ARCH}" -EXTRA_OECMAKE:append:versal-ai-core = " -DXRT_AIE_BUILD=true" -TARGET_CXXFLAGS:append:versal-ai-core = " -DXRT_ENABLE_AIE" -DEPENDS:append:versal-ai-core = " libmetal libxaiengine aiefal" -RDEPENDS:${PN}:append:versal-ai-core = " libxaiengine aiefal" - -# For vek280 kind of devices -PACKAGE_ARCH:versal-ai-edge = "${SOC_VARIANT_ARCH}" -EXTRA_OECMAKE:append:versal-ai-edge = " -DXRT_AIE_BUILD=true" -TARGET_CXXFLAGS:append:versal-ai-edge = " -DXRT_ENABLE_AIE" -DEPENDS:append:versal-ai-edge = " libmetal libxaiengine aiefal" -RDEPENDS:${PN}:append:versal-ai-edge = " libxaiengine aiefal" diff --git a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch b/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch deleted file mode 100644 index 67ca68c6..00000000 --- a/meta-xilinx-core/recipes-xrt/xrt/files/xrt-cstdint.patch +++ /dev/null @@ -1,117 +0,0 @@ -Add cstdint as necessary - -In GCC 13.1 usage of uint64 and similar will result in an error without - #include - -Signed-off-by: Mark Hatle - -diff --git a/src/runtime_src/core/common/time.h b/src/runtime_src/core/common/time.h -index a4a96b11d..585d38756 100644 ---- a/src/runtime_src/core/common/time.h -+++ b/src/runtime_src/core/common/time.h -@@ -19,6 +19,7 @@ - - #include "core/common/config.h" - #include -+#include - - namespace xrt_core { - -diff --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 -index 196304765..36ce35e80 ---- 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 -@@ -18,6 +18,7 @@ - - #include - #include -+#include - - namespace adf - { -diff --git a/src/runtime_src/core/edge/user/zynq_dev.h b/src/runtime_src/core/edge/user/zynq_dev.h -index 6fe36c615..2abd7473b 100644 ---- a/src/runtime_src/core/edge/user/zynq_dev.h -+++ b/src/runtime_src/core/edge/user/zynq_dev.h -@@ -19,6 +19,7 @@ - #include - #include - #include -+#include - - class zynq_device { - public: -diff --git a/src/runtime_src/tools/xclbinutil/CBOR.h b/src/runtime_src/tools/xclbinutil/CBOR.h -index 368459f59..acbf6ebae 100644 ---- a/src/runtime_src/tools/xclbinutil/CBOR.h -+++ b/src/runtime_src/tools/xclbinutil/CBOR.h -@@ -22,6 +22,7 @@ - // #includes here - please keep these to a bare minimum! - #include - #include -+#include - - // ------------ F O R W A R D - D E C L A R A T I O N S ---------------------- - // Forward declarations - use these instead whenever possible... -diff --git a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h -index 361015962..1c3bca18d 100644 ---- a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h -+++ b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h -@@ -19,6 +19,7 @@ - - // ----------------------- I N C L U D E S ----------------------------------- - #include -+#include - #include - - // ----------- C L A S S : D T C S t r i n g s B l o c k ------------------- -diff --git a/src/runtime_src/tools/xclbinutil/XclBinSignature.h b/src/runtime_src/tools/xclbinutil/XclBinSignature.h -index b19ab56a4..f1b72d4d2 100644 ---- a/src/runtime_src/tools/xclbinutil/XclBinSignature.h -+++ b/src/runtime_src/tools/xclbinutil/XclBinSignature.h -@@ -18,6 +18,7 @@ - #define __XclBinSignature_h_ - - #include -+#include - - // ----------------------- I N C L U D E S ----------------------------------- - -diff --git a/src/runtime_src/xdp/profile/database/events/vtf_event.h b/src/runtime_src/xdp/profile/database/events/vtf_event.h -index f8d0121db..b5f36554c 100644 ---- a/src/runtime_src/xdp/profile/database/events/vtf_event.h -+++ b/src/runtime_src/xdp/profile/database/events/vtf_event.h -@@ -19,6 +19,7 @@ - #define VTF_EVENT_DOT_H - - #include -+#include - - #include "xdp/config.h" - -diff --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 -index 98c57de2e..6077bd247 100644 ---- 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 -@@ -17,7 +17,8 @@ - #ifndef XDP_PROFILE_AIE_TRACE_LOGGER_H - #define XDP_PROFILE_AIE_TRACE_LOGGER_H - --#include -+#include -+#include - - namespace xdp { - -diff --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 -index a88597464..f392ec0e6 100644 ---- a/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h -+++ b/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h -@@ -19,6 +19,7 @@ - - #include - #include -+#include - - #include "xdp/config.h" - diff --git a/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb new file mode 100644 index 00000000..6cf10817 --- /dev/null +++ b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_202320.2.16.0.bb @@ -0,0 +1,29 @@ +SUMMARY = "Xilinx Runtime(XRT) - minimal native build for xclbinutil" +DESCRIPTION = "Native build of xclbinutil using XRT codebase" + +require xrt-202320.2.16.0.inc + +FILESEXTRAPATHS:append := ":${THISDIR}/xrt" + +LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" +LIC_FILES_CHKSUM = " \ + file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ + file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ + file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/common/elf/LICENSE.txt;md5=b996e8b74af169e7e72e22d9e7d05b06 \ +" + +S = "${WORKDIR}/git/src" + +inherit cmake pkgconfig native + +DEPENDS = "libdrm-native ocl-icd-native boost-native rapidjson-native protobuf-native python3-pybind11-native systemtap-native" + +EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMANDS=ON" + +do_install() { + install -d ${D}${bindir} + install -Dm 0755 ${WORKDIR}/build/runtime_src/tools/xclbinutil/xclbinutil ${D}${bindir} +} diff --git a/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb deleted file mode 100644 index e0edbb7b..00000000 --- a/meta-xilinx-core/recipes-xrt/xrt/xclbinutil-native_git.bb +++ /dev/null @@ -1,29 +0,0 @@ -SUMMARY = "Xilinx Runtime(XRT) - minimal native build for xclbinutil" -DESCRIPTION = "Native build of xclbinutil using XRT codebase" - -require xrt.inc - -FILESEXTRAPATHS:append := ":${THISDIR}/xrt" - -LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" -LIC_FILES_CHKSUM = " \ - file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ - file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ - file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://runtime_src/core/common/elf/LICENSE.txt;md5=b996e8b74af169e7e72e22d9e7d05b06 \ -" - -S = "${WORKDIR}/git/src" - -inherit cmake pkgconfig native - -DEPENDS = "libdrm-native ocl-icd-native boost-native rapidjson-native protobuf-native python3-pybind11-native systemtap-native" - -EXTRA_OECMAKE += " -DCMAKE_BUILD_TYPE=Release -DCMAKE_EXPORT_COMPILE_COMANDS=ON" - -do_install() { - install -d ${D}${bindir} - install -Dm 0755 ${WORKDIR}/build/runtime_src/tools/xclbinutil/xclbinutil ${D}${bindir} -} 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 @@ +REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +BRANCH= "2022.1" +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 @@ +REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +BRANCH= "2022.2" +SRCREV= "43926231f7183688add2dccfd391b36a1f000bea" + 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 @@ +REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG}" + +BRANCH= "2023.1" +SRCREV= "64c933573e7e50a8aba939a74209590c2b739e8b" + diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc new file mode 100644 index 00000000..0ef2b1e5 --- /dev/null +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0.inc @@ -0,0 +1,13 @@ +REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" +BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" +SRC_URI = "${REPO};${BRANCHARG};name=xrt" + +BRANCH= "2023.2" +SRCREV_xrt = "2865a62b6a417dea523d2d5646154aa94a2cbc28" + +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" +SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578" + +SRC_URI += "git://github.com/serge1/ELFIO.git;branch=main;name=ELFIO;destsuffix=git/src/runtime_src/core/common/elf;protocol=https" +SRCREV_ELFIO = "a04810f12625207cce72665d783babb80f0175a8" +SRCREV_FORMAT = "xrt" diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch new file mode 100644 index 00000000..67ca68c6 --- /dev/null +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt-202320.2.16.0/xrt-cstdint.patch @@ -0,0 +1,117 @@ +Add cstdint as necessary + +In GCC 13.1 usage of uint64 and similar will result in an error without + #include + +Signed-off-by: Mark Hatle + +diff --git a/src/runtime_src/core/common/time.h b/src/runtime_src/core/common/time.h +index a4a96b11d..585d38756 100644 +--- a/src/runtime_src/core/common/time.h ++++ b/src/runtime_src/core/common/time.h +@@ -19,6 +19,7 @@ + + #include "core/common/config.h" + #include ++#include + + namespace xrt_core { + +diff --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 +index 196304765..36ce35e80 +--- 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 +@@ -18,6 +18,7 @@ + + #include + #include ++#include + + namespace adf + { +diff --git a/src/runtime_src/core/edge/user/zynq_dev.h b/src/runtime_src/core/edge/user/zynq_dev.h +index 6fe36c615..2abd7473b 100644 +--- a/src/runtime_src/core/edge/user/zynq_dev.h ++++ b/src/runtime_src/core/edge/user/zynq_dev.h +@@ -19,6 +19,7 @@ + #include + #include + #include ++#include + + class zynq_device { + public: +diff --git a/src/runtime_src/tools/xclbinutil/CBOR.h b/src/runtime_src/tools/xclbinutil/CBOR.h +index 368459f59..acbf6ebae 100644 +--- a/src/runtime_src/tools/xclbinutil/CBOR.h ++++ b/src/runtime_src/tools/xclbinutil/CBOR.h +@@ -22,6 +22,7 @@ + // #includes here - please keep these to a bare minimum! + #include + #include ++#include + + // ------------ F O R W A R D - D E C L A R A T I O N S ---------------------- + // Forward declarations - use these instead whenever possible... +diff --git a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h +index 361015962..1c3bca18d 100644 +--- a/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h ++++ b/src/runtime_src/tools/xclbinutil/DTCStringsBlock.h +@@ -19,6 +19,7 @@ + + // ----------------------- I N C L U D E S ----------------------------------- + #include ++#include + #include + + // ----------- C L A S S : D T C S t r i n g s B l o c k ------------------- +diff --git a/src/runtime_src/tools/xclbinutil/XclBinSignature.h b/src/runtime_src/tools/xclbinutil/XclBinSignature.h +index b19ab56a4..f1b72d4d2 100644 +--- a/src/runtime_src/tools/xclbinutil/XclBinSignature.h ++++ b/src/runtime_src/tools/xclbinutil/XclBinSignature.h +@@ -18,6 +18,7 @@ + #define __XclBinSignature_h_ + + #include ++#include + + // ----------------------- I N C L U D E S ----------------------------------- + +diff --git a/src/runtime_src/xdp/profile/database/events/vtf_event.h b/src/runtime_src/xdp/profile/database/events/vtf_event.h +index f8d0121db..b5f36554c 100644 +--- a/src/runtime_src/xdp/profile/database/events/vtf_event.h ++++ b/src/runtime_src/xdp/profile/database/events/vtf_event.h +@@ -19,6 +19,7 @@ + #define VTF_EVENT_DOT_H + + #include ++#include + + #include "xdp/config.h" + +diff --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 +index 98c57de2e..6077bd247 100644 +--- 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 +@@ -17,7 +17,8 @@ + #ifndef XDP_PROFILE_AIE_TRACE_LOGGER_H + #define XDP_PROFILE_AIE_TRACE_LOGGER_H + +-#include ++#include ++#include + + namespace xdp { + +diff --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 +index a88597464..f392ec0e6 100644 +--- a/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h ++++ b/src/runtime_src/xdp/profile/writer/vp_base/vp_writer.h +@@ -19,6 +19,7 @@ + + #include + #include ++#include + + #include "xdp/config.h" + diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc b/meta-xilinx-core/recipes-xrt/xrt/xrt.inc deleted file mode 100644 index 14b2b968..00000000 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt.inc +++ /dev/null @@ -1,14 +0,0 @@ -REPO ?= "git://github.com/Xilinx/XRT.git;protocol=https" -BRANCHARG = "${@['nobranch=1', 'branch=${BRANCH}'][d.getVar('BRANCH', True) != '']}" -SRC_URI = "${REPO};${BRANCHARG};name=xrt" - -BRANCH= "2023.2" -SRCREV_xrt = "2865a62b6a417dea523d2d5646154aa94a2cbc28" -PV = "202320.2.16.0" - -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" -SRCREV_dma_ip_drivers = "9f02769a2eddde008158c96efa39d7edb6512578" - -SRC_URI += "git://github.com/serge1/ELFIO.git;branch=main;name=ELFIO;destsuffix=git/src/runtime_src/core/common/elf;protocol=https" -SRCREV_ELFIO = "a04810f12625207cce72665d783babb80f0175a8" -SRCREV_FORMAT = "xrt" 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 @@ +SUMMARY = "Xilinx Runtime(XRT) libraries" +DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" + +require xrt-${PV}.inc + +LICENSE = "GPL-2.0-or-later & Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \ + file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ + file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/pcie/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 \ + file://runtime_src/core/edge/tools/xbutil/LICENSE;md5=d273d63619c9aeaf15cdaf76422c4f87 " + +S = "${WORKDIR}/git/src" + +inherit cmake pkgconfig + +BBCLASSEXTEND = "native nativesdk" + +# util-linux is for libuuid-dev. +DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" +RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" + +EXTRA_OECMAKE += " \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_EXPORT_COMPILE_COMANDS=ON \ + " +# Systems with AIE also require libmetal, this is implemented in the dynamic-layers +# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend +# Note: If meta-openamp is not available, AIE will not be enabled. + +EXTRA_OECMAKE:append:aarch64 = " -DXRT_LIBDFX=true" +DEPENDS:append:aarch64 = " libdfx" + +FILES_SOLIBSDEV = "" +FILES:${PN} += "\ + ${libdir}/lib*.so \ + ${libdir}/lib*.so.* \ + ${libdir}/ps_kernels_lib \ + /lib/*.so* " +INSANE_SKIP:${PN} += "dev-so" + +pkg_postinst_ontarget:${PN}() { + #!/bin/sh + if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then + echo "INFO: Creating ICD entry for Xilinx Platform" + mkdir -p /etc/OpenCL/vendors + echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd + chmod -R 755 /etc/OpenCL + fi +} 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 @@ +SUMMARY = "Xilinx Runtime(XRT) libraries" +DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" + +require xrt-${PV}.inc + +LICENSE = "GPL-2.0-or-later & Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \ + file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ + file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 " + +S = "${WORKDIR}/git/src" + +inherit cmake pkgconfig + +BBCLASSEXTEND = "native nativesdk" + +# util-linux is for libuuid-dev. +DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" +RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" + +EXTRA_OECMAKE += " \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_EXPORT_COMPILE_COMANDS=ON \ + " +# Systems with AIE also require libmetal, this is implemented in the dynamic-layers +# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend +# Note: If meta-openamp is not available, AIE will not be enabled. + +EXTRA_OECMAKE:append:aarch64 = " -DXRT_LIBDFX=true" +DEPENDS:append:aarch64 = " libdfx" + +FILES_SOLIBSDEV = "" +FILES:${PN} += "\ + ${libdir}/lib*.so \ + ${libdir}/lib*.so.* \ + ${libdir}/ps_kernels_lib \ + /lib/*.so* \ + ${datadir}" +INSANE_SKIP:${PN} += "dev-so" + +pkg_postinst_ontarget:${PN}() { + #!/bin/sh + if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then + echo "INFO: Creating ICD entry for Xilinx Platform" + mkdir -p /etc/OpenCL/vendors + echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd + chmod -R 755 /etc/OpenCL + fi +} 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 @@ +SUMMARY = "Xilinx Runtime(XRT) libraries" +DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" + +require xrt-${PV}.inc + +LICENSE = "GPL-2.0-or-later & Apache-2.0" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=da5408f748bce8a9851dac18e66f4bcf \ + file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ + file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 " + +COMPATIBLE_MACHINE ?= "^$" +COMPATIBLE_MACHINE:zynqmp = ".*" +COMPATIBLE_MACHINE:versal = ".*" + +S = "${WORKDIR}/git/src" + +inherit cmake pkgconfig + +BBCLASSEXTEND = "native nativesdk" + +# util-linux is for libuuid-dev. +DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson libdfx" +RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" + +EXTRA_OECMAKE += " \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_EXPORT_COMPILE_COMANDS=ON \ + -DXRT_LIBDFX=true \ + " + +# Systems with AIE also require libmetal, this is implemented in the dynamic-layers +# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend +# Note: If meta-openamp is not available, AIE will not be enabled. + +FILES_SOLIBSDEV = "" +FILES:${PN} += "\ + ${libdir}/lib*.so \ + ${libdir}/lib*.so.* \ + ${libdir}/ps_kernels_lib \ + /lib/*.so* \ + ${datadir}" +INSANE_SKIP:${PN} += "dev-so" + +pkg_postinst_ontarget:${PN}() { + #!/bin/sh + if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then + echo "INFO: Creating ICD entry for Xilinx Platform" + mkdir -p /etc/OpenCL/vendors + echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd + chmod -R 755 /etc/OpenCL + fi +} diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb new file mode 100644 index 00000000..5824ae9c --- /dev/null +++ b/meta-xilinx-core/recipes-xrt/xrt/xrt_202320.2.16.0.bb @@ -0,0 +1,57 @@ +SUMMARY = "Xilinx Runtime(XRT) libraries" +DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" + +require xrt-${PV}.inc + +SRC_URI += "file://xrt-cstdint.patch;striplevel=2" + +LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" +LIC_FILES_CHKSUM = "file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ + file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ + file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ + file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ + file://runtime_src/core/common/elf/LICENSE.txt;md5=b996e8b74af169e7e72e22d9e7d05b06 " + +COMPATIBLE_MACHINE ?= "^$" +COMPATIBLE_MACHINE:zynqmp = ".*" +COMPATIBLE_MACHINE:versal = ".*" + +S = "${WORKDIR}/git/src" + +inherit cmake pkgconfig + +BBCLASSEXTEND = "native nativesdk" + +# util-linux is for libuuid-dev. +DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson libdfx" +RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" + +EXTRA_OECMAKE += " \ + -DCMAKE_BUILD_TYPE=Release \ + -DCMAKE_EXPORT_COMPILE_COMANDS=ON \ + -DXRT_LIBDFX=true \ + " + +# Systems with AIE also require libmetal, this is implemented in the dynamic-layers +# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend +# Note: If meta-openamp is not available, AIE will not be enabled. + +FILES_SOLIBSDEV = "" +FILES:${PN} += "\ + ${libdir}/lib*.so \ + ${libdir}/lib*.so.* \ + ${libdir}/ps_kernels_lib \ + /lib/*.so* \ + ${datadir}" +INSANE_SKIP:${PN} += "dev-so" + +pkg_postinst_ontarget:${PN}() { + #!/bin/sh + if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then + echo "INFO: Creating ICD entry for Xilinx Platform" + mkdir -p /etc/OpenCL/vendors + echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd + chmod -R 755 /etc/OpenCL + fi +} diff --git a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb b/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb deleted file mode 100644 index ef3c7172..00000000 --- a/meta-xilinx-core/recipes-xrt/xrt/xrt_git.bb +++ /dev/null @@ -1,62 +0,0 @@ -SUMMARY = "Xilinx Runtime(XRT) libraries" -DESCRIPTION = "Xilinx Runtime User Space Libraries and headers" - -require xrt.inc - -SRC_URI += "file://xrt-cstdint.patch;striplevel=2" - -LICENSE = "GPL-2.0-or-later & Apache-2.0 & MIT" -LIC_FILES_CHKSUM = "file://../LICENSE;md5=de2c993ac479f02575bcbfb14ef9b485 \ - file://runtime_src/core/edge/drm/zocl/LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8 \ - file://runtime_src/core/pcie/driver/linux/xocl/LICENSE;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ - file://runtime_src/core/pcie/linux/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://runtime_src/core/tools/xbutil2/LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57 \ - file://runtime_src/core/common/elf/LICENSE.txt;md5=b996e8b74af169e7e72e22d9e7d05b06 " - -COMPATIBLE_MACHINE ?= "^$" -COMPATIBLE_MACHINE:zynqmp = ".*" -COMPATIBLE_MACHINE:versal = ".*" - -S = "${WORKDIR}/git/src" - -inherit cmake pkgconfig - -BBCLASSEXTEND = "native nativesdk" - -# util-linux is for libuuid-dev. -DEPENDS = "libdrm opencl-headers ocl-icd opencl-clhpp boost util-linux git-replacement-native protobuf-native protobuf elfutils libffi rapidjson" -RDEPENDS:${PN} = "bash ocl-icd boost-system boost-filesystem zocl (= ${PV})" - -EXTRA_OECMAKE += " \ - -DCMAKE_BUILD_TYPE=Release \ - -DCMAKE_EXPORT_COMPILE_COMANDS=ON \ - " - -# Systems with AIE also require libmetal, this is implemented in the dynamic-layers -# See: meta-xilinx-core/dynamic-layers/openamp-layer/recipes-xrt/xrt_gt.bbappend -# Note: If meta-openamp is not available, AIE will not be enabled. - -EXTRA_OECMAKE:append:versal = " -DXRT_LIBDFX=true" -EXTRA_OECMAKE:append:zynqmp = " -DXRT_LIBDFX=true" -DEPENDS:append:versal = " libdfx" -DEPENDS:append:zynqmp = " libdfx" - - -FILES_SOLIBSDEV = "" -FILES:${PN} += "\ - ${libdir}/lib*.so \ - ${libdir}/lib*.so.* \ - ${libdir}/ps_kernels_lib \ - /lib/*.so* \ - ${datadir}" -INSANE_SKIP:${PN} += "dev-so" - -pkg_postinst_ontarget:${PN}() { - #!/bin/sh - if [ ! -e /etc/OpenCL/vendors/xilinx.icd ]; then - echo "INFO: Creating ICD entry for Xilinx Platform" - mkdir -p /etc/OpenCL/vendors - echo "libxilinxopencl.so" > /etc/OpenCL/vendors/xilinx.icd - chmod -R 755 /etc/OpenCL - fi -} 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 @@ +From bc19f980cced50fc35f94905f2a99070871b9e93 Mon Sep 17 00:00:00 2001 +From: Saifuddin Kaijar <54270703+saifuddin-xilinx@users.noreply.github.com> +Date: Mon, 29 Aug 2022 10:25:06 +0530 +Subject: [PATCH] Fixed ZOCL dtbo path len issue (#6966) + +--- + src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h | 3 ++- + src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c | 7 ++++--- + src/runtime_src/core/edge/include/zynq_ioctl.h | 1 + + src/runtime_src/core/edge/user/shim.cpp | 1 + + 4 files changed, 8 insertions(+), 4 deletions(-) + +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 +index c9c9b4f9e..0335551bc 100644 +--- a/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h ++++ b/src/runtime_src/core/edge/drm/zocl/include/zocl_xclbin.h +@@ -39,6 +39,7 @@ int zocl_xclbin_load_pdi(struct drm_zocl_dev *zdev, void *data, + struct drm_zocl_slot *slot); + int zocl_xclbin_load_pskernel(struct drm_zocl_dev *zdev, void *data); + bool zocl_xclbin_accel_adapter(int kds_mask); +-int zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path); ++int zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path, ++ uint32_t len); + + #endif /* _ZOCL_XCLBIN_H_ */ +diff --git a/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c b/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c +index 7de733e38..fdedb70d5 100644 +--- a/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c ++++ b/src/runtime_src/core/edge/drm/zocl/zocl_xclbin.c +@@ -1475,7 +1475,8 @@ zocl_xclbin_read_axlf(struct drm_zocl_dev *zdev, struct drm_zocl_axlf *axlf_obj, + */ + slot->slot_xclbin->zx_refcnt = 0; + if(ZOCL_PLATFORM_ARM64) +- zocl_xclbin_set_dtbo_path(slot, axlf_obj->za_dtbo_path); ++ zocl_xclbin_set_dtbo_path(slot, axlf_obj->za_dtbo_path, ++ axlf_obj->za_dtbo_path_len); + zocl_xclbin_set_uuid(slot, &axlf_head.m_header.uuid); + + /* +@@ -1725,7 +1726,8 @@ zocl_xclbin_fini(struct drm_zocl_dev *zdev, struct drm_zocl_slot *slot) + * @return 0 on success Error code on failure. + */ + int +-zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path) ++zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path, ++ uint32_t len) + { + char *path = slot->slot_xclbin->zx_dtbo_path; + +@@ -1735,7 +1737,6 @@ zocl_xclbin_set_dtbo_path(struct drm_zocl_slot *slot, char *dtbo_path) + } + + if(dtbo_path) { +- uint32_t len = strlen(dtbo_path); + path = vmalloc(len + 1); + if (!path) + return -ENOMEM; +diff --git a/src/runtime_src/core/edge/include/zynq_ioctl.h b/src/runtime_src/core/edge/include/zynq_ioctl.h +index a45113550..ad9ec86ab 100644 +--- a/src/runtime_src/core/edge/include/zynq_ioctl.h ++++ b/src/runtime_src/core/edge/include/zynq_ioctl.h +@@ -429,6 +429,7 @@ struct drm_zocl_axlf { + char *za_kernels; + uint32_t za_slot_id; + char *za_dtbo_path; ++ uint32_t za_dtbo_path_len; + uint8_t hw_gen; + struct drm_zocl_kds kds_cfg; + }; +diff --git a/src/runtime_src/core/edge/user/shim.cpp b/src/runtime_src/core/edge/user/shim.cpp +index 11a8d86c9..058503187 100644 +--- a/src/runtime_src/core/edge/user/shim.cpp ++++ b/src/runtime_src/core/edge/user/shim.cpp +@@ -732,6 +732,7 @@ xclLoadAxlf(const axlf *buffer) + .za_kernels = NULL, + .za_slot_id = 0, // TODO Cleanup: Once uuid interface id available we need to remove this + .za_dtbo_path = const_cast(dtbo_path.c_str()), ++ .za_dtbo_path_len = dtbo_path.length(), + .hw_gen = hw_gen, + }; + +-- +2.17.1 + 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 @@ +SUMMARY = "Xilinx Runtime(XRT) driver module" +DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule" + + +require recipes-xrt/xrt/xrt-${PV}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" +LICENSE = "GPLv2 & Apache-2.0" + +# Temporary fix +# Patch is applied as -p 4 to the src/runtime_src/core/edge directory +SRC_URI += "file://0001-Fixed-ZOCL-dtbo-path-len-issue-6966.patch;striplevel=5;patchdir=./../../" + +S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl" + +inherit module + +pkg_postinst_ontarget:${PN}() { + #!/bin/sh + echo "Unloading old XRT Linux kernel modules" + ( rmmod zocl || true ) > /dev/null 2>&1 + echo "Loading new XRT Linux kernel modules" + modprobe zocl +} 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 @@ +SUMMARY = "Xilinx Runtime(XRT) driver module" +DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule" + +COMPATIBLE_MACHINE:microblaze = "none" + +require recipes-xrt/xrt/xrt-${PV}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" +LICENSE = "GPL-2.0-or-later & Apache-2.0" + +S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl" + +inherit module + +pkg_postinst_ontarget:${PN}() { + #!/bin/sh + echo "Unloading old XRT Linux kernel modules" + ( rmmod zocl || true ) > /dev/null 2>&1 + echo "Loading new XRT Linux kernel modules" + modprobe zocl +} diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb new file mode 100644 index 00000000..24f69aec --- /dev/null +++ b/meta-xilinx-core/recipes-xrt/zocl/zocl_202310.2.15.0.bb @@ -0,0 +1,25 @@ +SUMMARY = "Xilinx Runtime(XRT) driver module" +DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule" + +COMPATIBLE_MACHINE:microblaze = "none" + +require recipes-xrt/xrt/xrt-${PV}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" +LICENSE = "GPL-2.0-or-later & Apache-2.0" + +COMPATIBLE_MACHINE ?= "^$" +COMPATIBLE_MACHINE:zynqmp = ".*" +COMPATIBLE_MACHINE:versal = ".*" + +S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl" + +inherit module + +pkg_postinst_ontarget:${PN}() { + #!/bin/sh + echo "Unloading old XRT Linux kernel modules" + ( rmmod zocl || true ) > /dev/null 2>&1 + echo "Loading new XRT Linux kernel modules" + modprobe zocl +} 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 @@ +SUMMARY = "Xilinx Runtime(XRT) driver module" +DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule" + +COMPATIBLE_MACHINE:microblaze = "none" + +require recipes-xrt/xrt/xrt-${PV}.inc + +LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" +LICENSE = "GPL-2.0-or-later & Apache-2.0" + +COMPATIBLE_MACHINE ?= "^$" +COMPATIBLE_MACHINE:zynqmp = ".*" +COMPATIBLE_MACHINE:versal = ".*" + +S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl" + +inherit module + +pkg_postinst_ontarget:${PN}() { + #!/bin/sh + echo "Unloading old XRT Linux kernel modules" + ( rmmod zocl || true ) > /dev/null 2>&1 + echo "Loading new XRT Linux kernel modules" + modprobe zocl +} diff --git a/meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb b/meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb deleted file mode 100644 index 6bd579f4..00000000 --- a/meta-xilinx-core/recipes-xrt/zocl/zocl_git.bb +++ /dev/null @@ -1,25 +0,0 @@ -SUMMARY = "Xilinx Runtime(XRT) driver module" -DESCRIPTION = "Xilinx Runtime driver module provides memory management and compute unit schedule" - -COMPATIBLE_MACHINE:microblaze = "none" - -require recipes-xrt/xrt/xrt.inc - -LIC_FILES_CHKSUM = "file://LICENSE;md5=7d040f51aae6ac6208de74e88a3795f8" -LICENSE = "GPL-2.0-or-later & Apache-2.0" - -COMPATIBLE_MACHINE ?= "^$" -COMPATIBLE_MACHINE:zynqmp = ".*" -COMPATIBLE_MACHINE:versal = ".*" - -S = "${WORKDIR}/git/src/runtime_src/core/edge/drm/zocl" - -inherit module - -pkg_postinst_ontarget:${PN}() { - #!/bin/sh - echo "Unloading old XRT Linux kernel modules" - ( rmmod zocl || true ) > /dev/null 2>&1 - echo "Loading new XRT Linux kernel modules" - modprobe zocl -} -- cgit v1.2.3-54-g00ecf