NVIDIA DRIVE OS Linux API Reference5.1.0.2 Release |
Declarations and functions for TLK memory/cache management.
Defines TLK memory and cache management data types and functions.
Data Structures | |
struct | te_map_mem_addr_args_t |
Holds a pointer to the map memory for a specific OTE_CONFIG_MAP_MEM ID value. More... | |
struct | te_v_to_p_args_t |
Holds a pointer to the physical address for a specific virtual address. More... | |
struct | te_cache_maint_args_t |
Holds an op code and data used to for cache maintenance. More... | |
Enumerations | |
enum | te_ext_nv_cache_maint_op_t { OTE_EXT_NV_CM_OP_CLEAN = 1, OTE_EXT_NV_CM_OP_INVALIDATE = 2, OTE_EXT_NV_CM_OP_FLUSH = 3 } |
Defines cache maintenance operations. More... | |
enum | te_ss_config_option_t { OTE_SS_CONFIG_RPMB_ENABLE = 0x0000001, OTE_SS_CONFIG_CPC_ENABLE = 0x0000002 } |
Bit mask defines for secure storage configuration options. More... | |
Functions | |
te_error_t | te_ext_nv_cache_maint (te_ext_nv_cache_maint_op_t op, void *addr, uint32_t length) |
Performs a cache maintenance operation. More... | |
te_error_t | te_ext_nv_virt_to_phys (void *addr, uint64_t *paddr) |
Performs virtual-to-physical address translation. More... | |
te_error_t | te_ext_nv_get_map_addr (uint32_t id, void **addr) |
Retrieves mapping of a specified memory range. More... | |
Defines cache maintenance operations.
Enumerator | |
---|---|
OTE_EXT_NV_CM_OP_CLEAN |
Cache clean operation. |
OTE_EXT_NV_CM_OP_INVALIDATE |
Cache invalidate operation. |
OTE_EXT_NV_CM_OP_FLUSH |
Cache flush operation. |
Definition at line 46 of file ote_ext_nv.h.
Bit mask defines for secure storage configuration options.
Enumerator | |
---|---|
OTE_SS_CONFIG_RPMB_ENABLE |
Bit to enable RPMB rollback protection support. |
OTE_SS_CONFIG_CPC_ENABLE |
Bit to enable CPC rollback protection support. |
Definition at line 81 of file ote_ext_nv.h.
te_error_t te_ext_nv_cache_maint | ( | te_ext_nv_cache_maint_op_t | op, |
void * | addr, | ||
uint32_t | length | ||
) |
Performs a cache maintenance operation.
This API allows the caller to perform a range of platform-specific cache management operations on the specified memory range.
[in] | op | Cache maintenance operation to perform. See te_ext_nv_cache_maint_op_t for more information. |
[in] | addr | Virtual address of the buffer on which the cache maintenance operation is to be performed. |
[in] | length | Length in bytes of the buffer specified by the addr parameter. |
OTE_SUCCESS | Indicates the operation completed successfully. |
OTE_ERROR_BAD_PARAMETERS | Indicates one or more of the input parameters is invalid:
|
OTE_ERROR_OUT_OF_MEMORY | Indicates the system ran out of resources. |
OTE_ERROR_GENERIC | Indicates an unspecified error occurred. |
te_error_t te_ext_nv_get_map_addr | ( | uint32_t | id, |
void ** | addr | ||
) |
Retrieves mapping of a specified memory range.
This API returns the mapped address of the specified memory range setup in the service's manifest via the OTE_CONFIG_MAP_MEM option.
[in] | id | Memory region identifier specified in an OTE_CONFIG_MAP_MEM configuration option in the service's manifest. |
[out] | addr | A pointer with the mapped address. |
OTE_SUCCESS | Indicates the operation completed successfully. |
OTE_ERROR_BAD_PARAMETERS | Indicates one or more of the input parameters is invalid:
|
OTE_ERROR_OUT_OF_MEMORY | Indicates the system ran out of resources. |
OTE_ERROR_GENERIC | Indicates an unspecified error occurred. |
te_error_t te_ext_nv_virt_to_phys | ( | void * | addr, |
uint64_t * | paddr | ||
) |
Performs virtual-to-physical address translation.
This API returns the physical address that corresponds to the specified virtual adress.
[in] | addr | The virtual address to translate. |
[out] | paddr | A pointer with the physical address for addr. |
OTE_SUCCESS | Indicates the operation completed successfully. |
OTE_ERROR_BAD_PARAMETERS | Indicates one or more of the input parameters is invalid:
|
OTE_ERROR_OUT_OF_MEMORY | Indicates the system ran out of resources. |
OTE_ERROR_GENERIC | Indicates an unspecified error occurred. |