Where are the NvSci headers

Hi! 😀

I’m trying to use and evaluate the NvSci support, which should be available since r34.1 Jetson Linux 34.1 | NVIDIA Developer

I got the newest jetson (34.1.1) installed

> cat /etc/nv_tegra_release
# R34 (release), REVISION: 1.1, GCID: 30414990, BOARD: t186ref, EABI: aarch64, DATE: Tue May 17 04:20:55 UTC 2022

according to the documentation pdf Jetson Download Center | NVIDIA Developer I should write something like

  NvSciBufModule module{};
  NvSciError err = NvSciBufModuleOpen(&module);
  if (err != NvSciError_Success) {
    // ...
  }
  // ...
  NvSciBufModuleClose(module);

However I can’t find any C++ headers on my system providing the declarations of NvSciBufModuleOpen or NvSciBufModuleClose

When I run

find /usr -iname \*nvsci\*

I get

/usr/share/doc/nvidia-tegra/LICENSE.libnvscibuf
/usr/share/doc/nvidia-l4t-nvsci
/usr/bin/nvsciipc_init
/usr/lib/modules/5.10.65-tegra/kernel/drivers/misc/nvscic2c-pcie
/usr/lib/modules/5.10.65-tegra/kernel/drivers/misc/nvscic2c-pcie/nvscic2c-pcie-epc.ko
/usr/lib/modules/5.10.65-tegra/kernel/drivers/misc/nvscic2c-pcie/nvscic2c-pcie-epf.ko
/usr/lib/aarch64-linux-gnu/tegra/libnvsciipc.so
/usr/lib/aarch64-linux-gnu/tegra/libnvscisync.so.1
/usr/lib/aarch64-linux-gnu/tegra/libnvscibuf.so
/usr/lib/aarch64-linux-gnu/tegra/libnvscicommon.so
/usr/lib/aarch64-linux-gnu/tegra/libnvscistream.so.1
/usr/lib/aarch64-linux-gnu/tegra/libnvscistream.so
/usr/lib/aarch64-linux-gnu/tegra/libnvscisync.so
/usr/lib/aarch64-linux-gnu/tegra/libnvscicommon.so.1
/usr/lib/aarch64-linux-gnu/tegra/libnvscievent.so
/usr/lib/aarch64-linux-gnu/tegra/libnvscibuf.so.1
/usr/src/linux-headers-5.10.65-tegra-ubuntu20.04_aarch64/nvidia/include/linux/nvsciipc_interface.h
/usr/src/linux-headers-5.10.65-tegra-ubuntu20.04_aarch64/nvidia/include/linux/nvscierror.h
/usr/src/linux-headers-5.10.65-tegra-ubuntu20.04_aarch64/nvidia/include/uapi/linux/nvsciipc_ioctl.h
/usr/src/linux-headers-5.10.65-tegra-ubuntu20.04_aarch64/nvidia/include/uapi/misc/nvscic2c-pcie-ioctl.h
/usr/src/linux-headers-5.10.65-tegra-ubuntu20.04_aarch64/kernel-5.10/include/config/nvsciipc.h
/usr/src/linux-headers-5.10.65-tegra-ubuntu20.04_aarch64/kernel-5.10/include/config/nvscic2c

and when I run

grep -Irn NvSciBufModuleOpen /usr

I get an empty list. The same happens when I search for NvSciBuf.

So how where are the headers for NvSci? I could not find any installation instructions.

Btw

readelf -Ws /usr/lib/aarch64-linux-gnu/tegra/libnvscibuf.so.1 | grep Module

brings up

    74: 0000000000015be8    92 FUNC    GLOBAL DEFAULT   11 NvSciBufModuleClose
    82: 00000000000157f8   508 FUNC    GLOBAL DEFAULT   11 NvSciBufModuleOpen

Thanks for your time!
Cheers,
Markus

Hi,

In the “NVSCI APIs on Jetson Linux” section, it mentioned that the libraries are available in BSP by default.
Headers and configuration files can be found in the public_sources.tbz2.

Please download it on the below page: (L4T Driver Package (BSP) Sources)

Thanks.

worked! 😀 👍

Thanks a lot.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.