dev-libs/xrt-xdna: new package, add 202610.2.21.21, 999999

See also: https://wiki.gentoo.org/wiki/User:Lockal/AMDXDNA

Signed-off-by: Sv. Lockal <lockalsash@gmail.com>
This commit is contained in:
Sv. Lockal
2025-11-28 01:40:57 +08:00
parent e93b411163
commit 8b9604628e
5 changed files with 334 additions and 0 deletions

View File

@@ -0,0 +1,7 @@
DIST ELFIO-f849001f.tar.gz 6587989 BLAKE2B 8b8caf331f190bcd89e5647fc34f10abcfba21325eb58269174b9ceda47563dbacf965b4b13f9475044cfc4b58967762f05c2894c6e27e086eddb0dd0bc448ae SHA512 f5e4334db8765ab1b491ea8d06fcc0de6b52f8cf92fd178f7ab2840d3b0ef623ac12f40f702d2887c2fd7568d188b16ea8653849e4eb2e20061f44a98c30fe7e
DIST XRT-f848f6f0.tar.gz 14660501 BLAKE2B a9d23772b069296446cc9688679493dca4c4d5a5c2bd9e587811bfaa7abd9f0cbe74ab05bc94572d2ad354140e070e2422b395ffb92c81f90aa1140e5176fe53 SHA512 2eee71217b3f3981d3df9f9c731fd3534a040e1d5676e108b3159380485c43c28154ab3680e186e5991dac4d89bd6d39be595fb32a58e5ad713d0b39f7776d57
DIST aie-rt-a8b06671.tar.gz 858418 BLAKE2B 4ec9c12ef3377baf6b17d9081c043b4cc9180a8a94ad1b5be5f15ce1a191cc534b5a128c7fcac55212e20f1d991e128d87282b6b794954cec1f1ca253f355ab3 SHA512 93e5d998a8f93b10aa588812ed9c38c3029d6f97702777372915aefe74113cfa430d3b60b8facf85877f07d1c234716a7f8080454a87fc3440fa6e364439201b
DIST aiebu-9065273e.tar.gz 18201124 BLAKE2B 59eca62198a79732c1a93d0532c63e965c944a978ae4349313d7f6dacd967842aa2451a1ed9e29f42be88612df77b986488fc14047354167c635fcbb6af5c0b1 SHA512 bd7eb639e1ce3b486b0146192e97a7d7156e9ac2ad56383a78aeba26e8eff29159bba590fb1d404f6ee38705a0fc68ff624e792d7bb9ba9f93c2cef062a99adf
DIST xrt-xdna-202610.2.21.21.tar.gz 15181567 BLAKE2B 31ff27118ac9474c7b3ff7f820660ba768be001a4ccd7a5c71293065557794ab60a61c8bcb157cdaa961af8da59dade77d423c17827e2d537d40a1f4018b8430 SHA512 7e7fefefe8c57ed8ecadb85a4e40b9e7e1d899116de8924fd1c47a6974429258378d5f7b576d01dbdc1653b3e7f03043b5152a5b6f130f00b5c9d23142fc4b02
DIST xrt_smi_phx-5f7fec23.a 274220 BLAKE2B 1344cd651aded08075d47a63e3028bfd88016fcec0677c0d72e6880b772ab08a37b2b57d4f3ab20c37adf88c9fbd83b0082bdc41629c136a4518e8a662860cb3 SHA512 e0b587e36f3a52c24413f1600c3be175d8629a64283815e59d1296592a88d2c3f3f476d7b57ef591b9c2174d26375837780af121fac8ea8d4e601cfbba3381c2
DIST xrt_smi_strx-5f7fec23.a 33048194 BLAKE2B 5364d58551b05e63f1819256daa8e76082de870209d33f03239c071a800ba013e250ff14d5d49c0637bcd5f1aaa6f5c60aba530ee5575514b3123bf13c182586 SHA512 ba2149ae9272f3da7c960bedcc0299c2cabb91ae5af8a392c86f2003dccc9ab15146e3029b556be0a2dd78a244c8dc860489af37ea0dd8f1b30999b1b377a883

View File

@@ -0,0 +1,35 @@
Fix clang errors:
* variable-sized object may not be initialized
* cannot pass object of non-trivial type 'std::basic_string<char>' through variadic function; call will abort at runtime
--- a/src/shim/virtio/platform_virtio.cpp
+++ b/src/shim/virtio/platform_virtio.cpp
@@ -619,7 +619,8 @@ submit_cmd(submit_cmd_arg& arg) const
req_sz += nargs * sizeof(uint32_t); // For args handle
// Get a 64 bit aligned buffer for req
auto req_sz_in_u64 = req_sz / sizeof(uint64_t) + 1;
- uint64_t req_buf[req_sz_in_u64] = {};
+ uint64_t req_buf[req_sz_in_u64];
+ std::memset(req_buf, 0, req_sz_in_u64 * sizeof(uint64_t));
auto req = reinterpret_cast<amdxdna_ccmd_exec_cmd_req*>(req_buf);
amdxdna_ccmd_exec_cmd_rsp rsp = {};
--- a/src/shim/hwq.cpp
+++ b/src/shim/hwq.cpp
@@ -23,7 +23,7 @@ dump_buf_to_file(void *buf, size_t size, const std::string& dumpfile)
{
std::ofstream ofs(dumpfile, std::ios::out | std::ios::binary);
if (!ofs.is_open())
- shim_err(errno, "Failed to open dump file: %s", dumpfile);
+ shim_err(errno, "Failed to open dump file: %s", dumpfile.c_str());
for (int i = 0; i < size; i++)
ofs.write(reinterpret_cast<char *>(buf) + i, 1);
@@ -42,7 +42,7 @@ dump_arg_bos(const shim_xdna::cmd_buffer *cmd_bo)
std::error_code ec;
std::filesystem::create_directories(dir_path, ec);
if (ec)
- shim_err(ec.value(), "Failed to create BO dump dir: %s: %s", dir_path, ec.message());
+ shim_err(ec.value(), "Failed to create BO dump dir: %s: %s", dir_path.c_str(), ec.message().c_str());
std::string filename = "exec_buf.";
filename += std::to_string(cmd_bo->id().handle);

View File

@@ -0,0 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
<email>lockalsash@gmail.com</email>
<name>Sv. Lockal</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/amd/xdna-driver/issues</bugs-to>
<remote-id type="github">amd/xdna-driver</remote-id>
</upstream>
</pkgmetadata>

View File

@@ -0,0 +1,140 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PV_HASH=09824b1cff30cd3fcb657154188e6ddab708e2ec
PYTHON_COMPAT=( python3_{11..14} )
inherit cmake python-any-r1 linux-info
declare -A submodules
submodules["xrt"]=https://github.com/Xilinx/XRT.git@f848f6f093a174bbbe82b8a9b7fe44ff91295661
submodules["xrt/src/runtime_src/aie-rt"]=https://github.com/Xilinx/aie-rt.git@a8b0667133ea2851ce27793a1796c5968226d9af
submodules["xrt/src/runtime_src/core/common/aiebu"]=https://github.com/Xilinx/aiebu.git@9065273e0c0a4ac5930fff904ac245cf38dd3087
submodules["xrt/src/runtime_src/core/common/elf"]=https://github.com/serge1/ELFIO.git@f849001fc229c2598f8557e0df22866af194ef98
DESCRIPTION="Runtime for AIE and FPGA based platforms"
HOMEPAGE="https://github.com/amd/xdna-driver"
VTD_HASH=5f7fec23620be7a3984c8970bc514f0faa2b2ee3
if [[ ${PV} == 999999 ]] ; then
EGIT_REPO_URI="https://github.com/amd/xdna-driver.git"
EGIT_SUBMODULES=(
xrt
xrt/src/runtime_src/aie-rt
xrt/src/runtime_src/core/common/aiebu
xrt/src/runtime_src/core/common/elf
)
inherit git-r3
else
SRC_URI="
https://github.com/amd/xdna-driver/archive/${PV_HASH}.tar.gz -> ${P}.tar.gz
"
for k in "${!submodules[@]}"; do
git_url="${submodules[$k]%@*}"
commit_hash="${submodules[$k]#*@}"
url_prefix="${git_url%.git}"
SRC_URI+=" ${url_prefix}/archive/${commit_hash}.tar.gz -> ${url_prefix##*/}-${commit_hash:0:8}.tar.gz";
done
KEYWORDS="~amd64"
S="${WORKDIR}/xdna-driver-${PV_HASH}"
fi
SRC_URI+="
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/strx/xrt_smi_strx.a -> xrt_smi_strx-${VTD_HASH:0:8}.a
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/phx/xrt_smi_phx.a -> xrt_smi_phx-${VTD_HASH:0:8}.a
"
LICENSE="AMD-Binary-Only"
SLOT="0"
RESTRICT="bindist mirror strip"
RDEPEND="
dev-util/xrt
sys-apps/util-linux
"
# Mostly thowaway dependencies, not actually used in final lib...
DEPEND="
sys-apps/util-linux
dev-debug/systemtap
dev-libs/boost
dev-libs/opencl-icd-loader
dev-libs/rapidjson
dev-util/opencl-headers
x11-libs/libdrm
"
BDEPEND="
${PYTHON_DEPS}
$(python_gen_any_dep "
dev-python/pybind11[\${PYTHON_USEDEP}]
")
"
PATCHES=(
"${FILESDIR}"/${PN}-0_p20251025-fix-clang.patch
)
CONFIG_CHECK="~AMD_IOMMU ~DRM_ACCEL"
python_check_deps() {
python_has_version -b "dev-python/pybind11[${PYTHON_USEDEP}]"
}
src_prepare() {
if [[ ${PV} != 999999 ]] ; then
for k in $(printf '%s\n' "${!submodules[@]}" | sort); do
git_url="${submodules[$k]%@*}"
commit_hash="${submodules[$k]#*@}"
url_prefix="${git_url%.git}"
rm -r "$k" || die
ln -s "${WORKDIR}/${url_prefix##*/}-${commit_hash}" "$k" || die
done
fi
# Check for new versions and live ebuild
local actual_vtd_hash=$(grep -oP 'VTD/raw/\K[0-9a-f]+' CMake/pkg.cmake | head -n1)
[[ "${actual_vtd_hash}" == "" ]] && die "Failed to extract VTD hash"
[[ "${actual_vtd_hash}" != "${VTD_HASH}" ]] && \
die "VTD hash mismatch, ebuild requested ${VTD_HASH} while package wants ${actual_vtd_hash}"
mkdir deps || die
cp "${DISTDIR}/xrt_smi_strx-${VTD_HASH:0:8}.a" deps/xrt_smi_strx.a || die
cp "${DISTDIR}/xrt_smi_phx-${VTD_HASH:0:8}.a" deps/xrt_smi_phx.a || die
sed -e "/Unknown Linux package flavor/d" -i "CMake/pkg.cmake" || die
sed -e "s/set (XRT_UPSTREAM 0)/set (XRT_UPSTREAM 1)/" -i xrt/src/CMake/settings.cmake || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
-DSKIP_KMOD=1
-DUMQ_HELLO_TEST=n
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
-DFETCHCONTENT_SOURCE_DIR_VTD_STRX_ARCHIVE="${S}/deps"
-DFETCHCONTENT_SOURCE_DIR_VTD_PHX_ARCHIVE="${S}/deps"
-DPython3_EXECUTABLE="${PYTHON}"
-Wno-dev
)
[[ ${PV} != 999999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
cmake_src_configure
}
src_install() {
cmake_src_install
# belongs to dev-util/xrt
rm -rf "${ED}/bins" || die
}

View File

@@ -0,0 +1,140 @@
# Copyright 1999-2025 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PV_HASH=09824b1cff30cd3fcb657154188e6ddab708e2ec
PYTHON_COMPAT=( python3_{11..14} )
inherit cmake python-any-r1 linux-info
declare -A submodules
submodules["xrt"]=https://github.com/Xilinx/XRT.git@e2ce7d539b6974c7b39620ce1cda2851c9abca5a
submodules["xrt/src/runtime_src/aie-rt"]=https://github.com/Xilinx/aie-rt.git@a8b0667133ea2851ce27793a1796c5968226d9af
submodules["xrt/src/runtime_src/core/common/aiebu"]=https://github.com/Xilinx/aiebu.git@9065273e0c0a4ac5930fff904ac245cf38dd3087
submodules["xrt/src/runtime_src/core/common/elf"]=https://github.com/serge1/ELFIO.git@f849001fc229c2598f8557e0df22866af194ef98
DESCRIPTION="Runtime for AIE and FPGA based platforms"
HOMEPAGE="https://github.com/amd/xdna-driver"
VTD_HASH=5f7fec23620be7a3984c8970bc514f0faa2b2ee3
if [[ ${PV} == 999999 ]] ; then
EGIT_REPO_URI="https://github.com/amd/xdna-driver.git"
EGIT_SUBMODULES=(
xrt
xrt/src/runtime_src/aie-rt
xrt/src/runtime_src/core/common/aiebu
xrt/src/runtime_src/core/common/elf
)
inherit git-r3
else
SRC_URI="
https://github.com/amd/xdna-driver/archive/${PV_HASH}.tar.gz -> ${P}.tar.gz
"
for k in "${!submodules[@]}"; do
git_url="${submodules[$k]%@*}"
commit_hash="${submodules[$k]#*@}"
url_prefix="${git_url%.git}"
SRC_URI+=" ${url_prefix}/archive/${commit_hash}.tar.gz -> ${url_prefix##*/}-${commit_hash:0:8}.tar.gz";
done
KEYWORDS="~amd64"
S="${WORKDIR}/xdna-driver-${PV_HASH}"
fi
SRC_URI+="
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/strx/xrt_smi_strx.a -> xrt_smi_strx-${VTD_HASH:0:8}.a
https://github.com/Xilinx/VTD/raw/${VTD_HASH}/archive/phx/xrt_smi_phx.a -> xrt_smi_phx-${VTD_HASH:0:8}.a
"
LICENSE="AMD-Binary-Only"
SLOT="0"
RESTRICT="bindist mirror strip"
RDEPEND="
dev-util/xrt
sys-apps/util-linux
"
# Mostly thowaway dependencies, not actually used in final lib...
DEPEND="
sys-apps/util-linux
dev-debug/systemtap
dev-libs/boost
dev-libs/opencl-icd-loader
dev-libs/rapidjson
dev-util/opencl-headers
x11-libs/libdrm
"
BDEPEND="
${PYTHON_DEPS}
$(python_gen_any_dep "
dev-python/pybind11[\${PYTHON_USEDEP}]
")
"
PATCHES=(
"${FILESDIR}"/${PN}-0_p20251025-fix-clang.patch
)
CONFIG_CHECK="~AMD_IOMMU ~DRM_ACCEL"
python_check_deps() {
python_has_version -b "dev-python/pybind11[${PYTHON_USEDEP}]"
}
src_prepare() {
if [[ ${PV} != 999999 ]] ; then
for k in $(printf '%s\n' "${!submodules[@]}" | sort); do
git_url="${submodules[$k]%@*}"
commit_hash="${submodules[$k]#*@}"
url_prefix="${git_url%.git}"
rm -r "$k" || die
ln -s "${WORKDIR}/${url_prefix##*/}-${commit_hash}" "$k" || die
done
fi
# Check for new versions and live ebuild
local actual_vtd_hash=$(grep -oP 'VTD/raw/\K[0-9a-f]+' CMake/pkg.cmake | head -n1)
[[ "${actual_vtd_hash}" == "" ]] && die "Failed to extract VTD hash"
[[ "${actual_vtd_hash}" != "${VTD_HASH}" ]] && \
die "VTD hash mismatch, ebuild requested ${VTD_HASH} while package wants ${actual_vtd_hash}"
mkdir deps || die
cp "${DISTDIR}/xrt_smi_strx-${VTD_HASH:0:8}.a" deps/xrt_smi_strx.a || die
cp "${DISTDIR}/xrt_smi_phx-${VTD_HASH:0:8}.a" deps/xrt_smi_phx.a || die
sed -e "/Unknown Linux package flavor/d" -i "CMake/pkg.cmake" || die
sed -e "s/set (XRT_UPSTREAM 0)/set (XRT_UPSTREAM 1)/" -i xrt/src/CMake/settings.cmake || die
cmake_src_prepare
}
src_configure() {
local mycmakeargs=(
-DCMAKE_DISABLE_FIND_PACKAGE_Git=ON
-DCMAKE_INSTALL_PREFIX="${EPREFIX}"/usr
-DSKIP_KMOD=1
-DUMQ_HELLO_TEST=n
-DFETCHCONTENT_FULLY_DISCONNECTED=ON
-DFETCHCONTENT_SOURCE_DIR_VTD_STRX_ARCHIVE="${S}/deps"
-DFETCHCONTENT_SOURCE_DIR_VTD_PHX_ARCHIVE="${S}/deps"
-DPython3_EXECUTABLE="${PYTHON}"
-Wno-dev
)
[[ ${PV} != 999999 ]] && mycmakeargs+=( -DCMAKE_DISABLE_FIND_PACKAGE_Git=ON )
cmake_src_configure
}
src_install() {
cmake_src_install
# belongs to dev-util/xrt
rm -rf "${ED}/bins" || die
}