NVIDIA DRIVE OS Linux API Reference

5.1.0.2 Release

 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages

Detailed Description

Trusted Little Kernel (TLK) services manifest layout.

Data Structures

struct  OTE_MANIFEST
 Holds the manifest structure. More...
 

Macros

#define OTE_CONFIG_MIN_STACK_SIZE(sz)   OTE_CONFIG_KEY_MIN_STACK_SIZE, sz
 Declares the minimum stack size. More...
 
#define OTE_CONFIG_MIN_HEAP_SIZE(sz)   OTE_CONFIG_KEY_MIN_HEAP_SIZE, sz
 Declares the minimum heap size. More...
 
#define OTE_CONFIG_MAP_MEM(id, off, sz)   OTE_CONFIG_KEY_MAP_MEM, id, off, sz
 Declares the memory address space needed. More...
 
#define OTE_CONFIG_RESTRICT_ACCESS(clients)   OTE_CONFIG_KEY_RESTRICT_ACCESS, clients
 Declares client types that have restricted access. More...
 
#define OTE_CONFIG_AUTHORIZE(perm)   OTE_CONFIG_KEY_AUTHORIZE, perm
 Declares special actions that a TA is authorized to perform. More...
 
#define OTE_CONFIG_TASK_INITIAL_STATE(state)   OTE_CONFIG_KEY_TASK_ISTATE, state
 Declares attributes for tasks, which apply beginning when the task is initially loaded. More...
 
#define OTE_MANIFEST_ATTRS   __attribute((aligned(4))) __attribute((section(".ote.manifest")))
 

Enumerations

enum  ote_config_key_t {
  OTE_CONFIG_KEY_MIN_STACK_SIZE = 1,
  OTE_CONFIG_KEY_MIN_HEAP_SIZE = 2,
  OTE_CONFIG_KEY_MAP_MEM = 3,
  OTE_CONFIG_KEY_RESTRICT_ACCESS = 4,
  OTE_CONFIG_KEY_AUTHORIZE = 5,
  OTE_CONFIG_KEY_TASK_ISTATE = 6
}
 
enum  {
  OTE_RESTRICT_SECURE_TASKS = 1 << 0,
  OTE_RESTRICT_NON_SECURE_APPS = 1 << 1
}
 Defines bit flags for restricting task access by client type. More...
 
enum  { OTE_AUTHORIZE_INSTALL = 1 << 10 }
 Defines special actions that the task can be authorized to perform. More...
 
enum  {
  OTE_MANIFEST_TASK_ISTATE_IMMUTABLE = 1 << 0,
  OTE_MANIFEST_TASK_ISTATE_STICKY = 1 << 1,
  OTE_MANIFEST_TASK_ISTATE_BLOCKED = 1 << 2
}
 Defines bit flags that set attributes for the installed tasks. More...
 

Macro Definition Documentation

#define OTE_CONFIG_AUTHORIZE (   perm)    OTE_CONFIG_KEY_AUTHORIZE, perm

Declares special actions that a TA is authorized to perform.

See also
OTE_AUTHORIZE_INSTALL
Parameters
[in]permA bit field that authorizes special actions for the TA.

Definition at line 145 of file ote_manifest.h.

#define OTE_CONFIG_MAP_MEM (   id,
  off,
  sz 
)    OTE_CONFIG_KEY_MAP_MEM, id, off, sz

Declares the memory address space needed.

Declares the physical memory address space the TLK service will require; a mapping will be created for TLK service.

Parameters
[in]idAn ID number to later retrieve the mapping.
[in]offBase address of the physical address space.
[in]szThe size of the physical address space.

Definition at line 104 of file ote_manifest.h.

#define OTE_CONFIG_MIN_HEAP_SIZE (   sz)    OTE_CONFIG_KEY_MIN_HEAP_SIZE, sz

Declares the minimum heap size.

Defines the minimum heap size the TLK service would expect.

Parameters
[in]szThe size of the heap in bytes.

Definition at line 92 of file ote_manifest.h.

#define OTE_CONFIG_MIN_STACK_SIZE (   sz)    OTE_CONFIG_KEY_MIN_STACK_SIZE, sz

Declares the minimum stack size.

Defines the minimum stack size the TLK service would expect.

Parameters
[in]szThe size of the stack in bytes.

Definition at line 83 of file ote_manifest.h.

#define OTE_CONFIG_RESTRICT_ACCESS (   clients)    OTE_CONFIG_KEY_RESTRICT_ACCESS, clients

Declares client types that have restricted access.

Parameters
[in]clientsA bit field to restrict access for client types.

Definition at line 121 of file ote_manifest.h.

#define OTE_CONFIG_TASK_INITIAL_STATE (   state)    OTE_CONFIG_KEY_TASK_ISTATE, state

Declares attributes for tasks, which apply beginning when the task is initially loaded.

See also
OTE_MANIFEST_TASK_ISTATE_IMMUTABLE, OTE_MANIFEST_TASK_ISTATE_STICKY, and OTE_MANIFEST_TASK_ISTATE_BLOCKED.
Parameters
[in]stateA bitfield to set the initial state to blocked.

Definition at line 172 of file ote_manifest.h.

#define OTE_MANIFEST_ATTRS   __attribute((aligned(4))) __attribute((section(".ote.manifest")))

Definition at line 176 of file ote_manifest.h.

Enumeration Type Documentation

anonymous enum

Defines bit flags for restricting task access by client type.

Use these bit flags with OTE_CONFIG_RESTRICT_ACCESS to restrict access for the type of client.

Enumerator
OTE_RESTRICT_SECURE_TASKS 
OTE_RESTRICT_NON_SECURE_APPS 

Definition at line 112 of file ote_manifest.h.

anonymous enum

Defines special actions that the task can be authorized to perform.

These actions are used with the OTE_CONFIG_AUTHORIZE macro. By default, the TA is not authorized for any special actions.

Currently, this enum defines only the OTE_AUTHORIZE_INSTALL bit. However, future releases may add support for other OTE_AUTHORIZE_* values. If that happens, you would set the OTE_CONFIG_AUTHORIZE perm argument with a bit field derived by ORing together the relevant OTE_AUTHORIZE_* values defined in this enum.

Enumerator
OTE_AUTHORIZE_INSTALL 

Task is an installer.

Definition at line 135 of file ote_manifest.h.

anonymous enum

Defines bit flags that set attributes for the installed tasks.

These values are used with the OTE_CONFIG_TASK_INITIAL_STATE macro. By default all attributes are unset.

To set a task's initial state attributes on load, set the OTE_CONFIG_KEY_TASK_ISTATE state argument with a bit field derived by ORing together the relevant OTE_MANIFEST_TASK_ISTATE_* values defined in this enum.

Enumerator
OTE_MANIFEST_TASK_ISTATE_IMMUTABLE 

Task manifest cannot be modified by the installer.

OTE_MANIFEST_TASK_ISTATE_STICKY 

Task cannot be unloaded.

OTE_MANIFEST_TASK_ISTATE_BLOCKED 

Task installed in BLOCKED state.

Definition at line 158 of file ote_manifest.h.

Enumerator
OTE_CONFIG_KEY_MIN_STACK_SIZE 
OTE_CONFIG_KEY_MIN_HEAP_SIZE 
OTE_CONFIG_KEY_MAP_MEM 
OTE_CONFIG_KEY_RESTRICT_ACCESS 
OTE_CONFIG_KEY_AUTHORIZE 
OTE_CONFIG_KEY_TASK_ISTATE 

Definition at line 68 of file ote_manifest.h.