Skip to content

Commit

Permalink
xdna_driver and xdna_driver plugin build fixes
Browse files Browse the repository at this point in the history
fixes for errors detected while building on docker for ubuntu
- boost directory location from rocm sdk builder
- possibility disable the kernel driver build and only build
  the xdna_xrt_plugin that can communicate from userspace
  to the kernel driver

Signed-off-by: Mika Laitio <[email protected]>
  • Loading branch information
lamikr committed Jan 18, 2025
1 parent e8ad258 commit d27cf39
Show file tree
Hide file tree
Showing 3 changed files with 62 additions and 0 deletions.
3 changes: 3 additions & 0 deletions binfo/extra/xdna_driver_xrt.binfo
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ export XILINX_VITIS=/proj/xbuilds/2023.1_released/installs/lin64/Vitis/2023.1
export XRT_SOURCE_DIR=${BINFO_APP_SRC_DIR}/xrt/src

BINFO_APP_CMAKE_CFG="-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR_PREFIX_SDK_ROOT}/apps/aie"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DCMAKE_PREFIX_PATH=${INSTALL_DIR_PREFIX_SDK_ROOT}/lib64/cmake;${INSTALL_DIR_PREFIX_SDK_ROOT}/lib/cmake"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DCMAKE_MODULE_PATH=${INSTALL_DIR_PREFIX_SDK_ROOT}/lib64/cmake;${INSTALL_DIR_PREFIX_SDK_ROOT}/lib/cmake"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXRT_INSTALL_PREFIX=${INSTALL_DIR_PREFIX_SDK_ROOT}/apps/aie"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXDP_CLIENT_BUILD_CMAKE=yes"
Expand All @@ -19,5 +21,6 @@ BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXRT_SOURCE_DIR=${BINFO_APP_SRC_DIR
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXRT_DKMS_INSTALL_DIR_PREFIX=${INSTALL_DIR_PREFIX_SDK_ROOT}/apps/aie/src/dkms"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DOCL_ICD_INSTALL_PREFIX=${INSTALL_DIR_PREFIX_SDK_ROOT}/etc/OpenCL/vendors"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXRT_PKG_CONFIG_DIR=${INSTALL_DIR_PREFIX_SDK_ROOT}/lib64/pkgconfig"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -Dboost_system_DIR=${INSTALL_DIR_PREFIX_SDK_ROOT}/lib64/cmake/boost_system-1.87.0"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} ${BINFO_APP_SRC_DIR}/xrt/src"

5 changes: 5 additions & 0 deletions binfo/extra/xdna_driver_xrt_plugin.binfo
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,15 @@ export XILINX_VITIS=/proj/xbuilds/2023.1_released/installs/lin64/Vitis/2023.1
export XRT_SOURCE_DIR=${BINFO_APP_SRC_DIR}/xrt/src

BINFO_APP_CMAKE_CFG="-DCMAKE_INSTALL_PREFIX=${INSTALL_DIR_PREFIX_SDK_ROOT}/apps/aie"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DCMAKE_PREFIX_PATH=${INSTALL_DIR_PREFIX_SDK_ROOT}/lib64/cmake;${INSTALL_DIR_PREFIX_SDK_ROOT}/lib/cmake"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DCMAKE_MODULE_PATH=${INSTALL_DIR_PREFIX_SDK_ROOT}/lib64/cmake;${INSTALL_DIR_PREFIX_SDK_ROOT}/lib/cmake"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXRT_INSTALL_PREFIX=${INSTALL_DIR_PREFIX_SDK_ROOT}/apps/aie"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXDNA_BIN_DIR=${INSTALL_DIR_PREFIX_SDK_ROOT}/apps/aie/xrt"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DCMAKE_EXPORT_COMPILE_COMMANDS=ON"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DUMQ_HELLO_TEST=no"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -Dboost_system_DIR=${INSTALL_DIR_PREFIX_SDK_ROOT}/lib64/cmake/boost_system-1.87.0"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXDNA_KERNEL_DRIVER=NO"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} -DXDNA_USERSPACE_DRIVER_PLUGIN=YES"
BINFO_APP_CMAKE_CFG="${BINFO_APP_CMAKE_CFG} ${BINFO_APP_SRC_DIR}"

BINFO_APP_POST_INSTALL_CMD_ARRAY=(
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
From ecf39aa24f57f2fad4f7227aee7434797768fdf2 Mon Sep 17 00:00:00 2001
From: Mika Laitio <[email protected]>
Date: Fri, 17 Jan 2025 20:03:34 -0800
Subject: [PATCH] allow building kernel driver and plugin separately

- cmake support for variables to disable for example
the kernel driver build by setting variables:

-DXDNA_KERNEL_DRIVER=no
-DXDNA_USERSPACE_DRIVER_PLUGIN=yes

Signed-off-by: Mika Laitio <[email protected]>
---
CMakeLists.txt | 7 +++++++
src/CMakeLists.txt | 8 ++++++--
2 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index c48e204..f9fab53 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -20,6 +20,13 @@ include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/xrt.cmake)
# version.cmake create XRT_PLUGIN_VERSION_STRING
include(${CMAKE_CURRENT_SOURCE_DIR}/CMake/version.cmake)

+if(NOT DEFINED XDNA_KERNEL_DRIVER)
+ SET(XDNA_KERNEL_DRIVER 1)
+endif()
+if(NOT DEFINED XDNA_USERSPACE_PLUGIN)
+ SET(XDNA_USERSPACE_DRIVER_PLUGIN 1)
+endif()
+
# For saving all built artifacts for quick testing purpose
# Should be redirected/prefixed by DESTDIR in make command line
# Can only be used with cmake install() command
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index f853324..02c4dcd 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -1,5 +1,9 @@
# SPDX-License-Identifier: Apache-2.0
# Copyright (C) 2022-2023, Advanced Micro Devices, Inc. All rights reserved.

-add_subdirectory(driver)
-add_subdirectory(shim)
+if(XDNA_KERNEL_DRIVER)
+ add_subdirectory(driver)
+endif()
+if(XDNA_USERSPACE_DRIVER_PLUGIN)
+ add_subdirectory(shim)
+endif()
--
2.41.1

0 comments on commit d27cf39

Please sign in to comment.