NvSciIpc Configuration Data

NvSciIpc configuration data is used to define all the channels present for a given Guest VM. Currently these details are provided via the device tree (DT), where each line contains details about a single NvSciIpc channel in the system.

Each channel entry is added to the DT property in string list form.

For INTER_THREAD and INTER_PROCESS backend, the format is :

<Backend-Name>, <Endpoint-Name>, <Endpoint-Name>, <Backend-Specific-Data>,

For INTER_VM and INTER_CHIP backend, the format is :

<Backend-Name>, <Endpoint-Name>, <Backend-Specific-Data>,

<Endpoint-Name> is unique string that is used to tag/identify a single NvSciIpc endpoint in a system. Ideally it should describe the purpose for which the NvSciIpc endpoint is created.

For INTER_THREAD and INTER_PROCESS backends, two endpoint names must be defined.

<Backend-Name> must be one of the following:

  • INTER_THREAD
  • INTER_PROCESS
  • INTER_VM
  • INTER_CHIP

<Backend-Specific-Data> may span multiple fields.

The INTER_THREAD and INTER_PROCESS backend contains two (2) integer fields that describe <No-of-Frames Frame-Size> tuple. <Frame-Size> must be multiples of 64 bytes.

INTER_VM contains a single integer field that denotes the IVC queue ID.

INTER_CHIP contains a single integer field that denotes the inter-chip device number.

Note:

For Linux VMs, the configuration data above is passed as a plain text file in the root file system. It is located at: /etc/nvsciipc.cfg.