NVIDIA DRIVE OS Linux API Reference5.1.0.2 Release |
NVIDIA Trusted Little Kernel Interface: Service Interface
Description: Declares data types and functions for the TLK services.
Definition in file ote_service.h.
Go to the source code of this file.
Data Structures | |
struct | te_request_t |
Holds the layout of the te_oper_param_t structures which must match the layout sent in by the non-secure (NS) world via the TrustZone Secure Monitor Call (TZ SMC) path. More... | |
struct | te_ta_to_ta_request_args_t |
struct | te_entry_point_message_t |
struct | te_identity_t |
Holds the identity of a client/caller. More... | |
struct | te_get_property_args_t |
Holds data about the TA client. More... | |
struct | te_device_unique_id |
Holds the device unique ID. More... | |
struct | te_root_of_trust |
Holds the root of trust for TLK. More... | |
struct | te_panic_args_t |
struct | ta_event_args_t |
struct | te_rollback_args_t |
Macros | |
#define | TE_PRINTF_MAX_SIZE 512 |
#define | MAX_NUM_SUPPORTED_GUESTS 16U |
#define | DEFAULT_GUEST_ID 0xDEADFEED |
#define | LIBTA_CRITICAL(args...) te_fprintf(TE_CRITICAL, args) |
#define | LIBTA_ERR(args...) te_fprintf(TE_ERR, args) |
#define | LIBTA_INFO(args...) te_fprintf(TE_INFO, args) |
#define | LIBTA_SECURE(args...) te_fprintf(TE_SECURE, args) |
#define | DEVICE_UID_SIZE_BYTES 16 |
#define | VERIFIED_BOOT_KEY_SIZE_BYTES 256 |
#define | OTE_PANIC_MSG_MAX_SIZE 128 |
Holds the panic information. More... | |
#define | OTE_TE_FPRINTF_PREFIX_MAX_LENGTH (OTE_TASK_NAME_MAX_LENGTH + 4) |
Defines the maximum length of the "[task_name] " prefix for the te_fprintf() task log entries. More... | |
#define | LOG_PREFIX_CRITICAL 'C' |
#define | LOG_PREFIX_INFO 'I' |
#define | LOG_PREFIX_ERR 'E' |
#define | LOG_PREFIX_SECURE 'S' |
#define | ENABLE_SPECULATION_BARRIER |
general-purpose speculation barrier More... | |
Typedefs | |
typedef te_error_t(* | ta_event_handler_t )(ta_event_args_t *args) |
Enumerations | |
enum | { CREATE_INSTANCE = 1UL, DESTROY_INSTANCE = 2UL, OPEN_SESSION = 3UL, CLOSE_SESSION = 4UL, LAUNCH_OPERATION = 5UL, HANDLE_PM_EVENTS = 6UL } |
enum | te_pm_event_t { PM_EVENT_RESUME = 1, PM_EVENT_SUSPEND = 2, PM_EVENT_POWEROFF = 3 } |
enum | { TE_LOGIN_PUBLIC = 0, TE_LOGIN_TA = 7 } |
Defines the supported login types. More... | |
enum | { TE_PROP_DATA_TYPE_UUID = 1, TE_PROP_DATA_TYPE_IDENTITY = 2 } |
Defines the type of property data. More... | |
enum | te_property_type_t { TE_PROPERTY_CURRENT_TA = 0xFFFFFFFF, TE_PROPERTY_CURRENT_CLIENT = 0xFFFFFFFE, TE_PROPERTY_TE_IMPLEMENTATION = 0xFFFFFFFD } |
Defines the property data information. More... | |
enum | te_rollback_fields { TE_ROLLBACK_EKS2_VERSION = 1 } |
Functions | |
void | te_exit_service (void) |
te_error_t | te_init (int argc, char **argv) |
Initializes the service. More... | |
void | te_destroy (void) |
Deinitializes the service. More... | |
te_error_t | te_create_instance_iface (void) |
Creates a new instance of the service. More... | |
void | te_destroy_instance_iface (void) |
Destroys an instance of the service. More... | |
te_error_t | te_open_session_iface (void **sctx, te_operation_t *oper) |
Opens a session. More... | |
void | te_close_session_iface (void *sctx) |
Closes an opened session. More... | |
te_error_t | te_receive_operation_iface (void *sctx, te_operation_t *oper) |
Receives an operation. More... | |
void * | ote_get_instance_data (void) |
Gets the instance context data. More... | |
void | ote_set_instance_data (void *sessionContext) |
Sets an instance context data. More... | |
te_error_t | te_get_current_ta_uuid (te_service_id_t *value) |
Gets the service ID for the current Trusted Application (TA). More... | |
te_error_t | te_get_client_ta_identity (te_identity_t *value) |
Gets the current client's identity only if it is a secure TA. More... | |
te_error_t | te_get_client_identity (te_identity_t *value) |
Gets the current client's identity. More... | |
char * | uuid_to_str (te_service_id_t *uuid) |
Converts a UUID to string format. More... | |
te_error_t | check_client_uuid (te_service_id_t *service_id) |
Validates the client's identity. More... | |
te_error_t | check_client_login (uint32_t login, te_identity_t *client_id_p) |
Validates client's login scheme with the expected login type. More... | |
te_error_t | te_get_current_guest_id (uint32_t *guest_id) |
Returns the current guest id requesting service from this TA. More... | |
te_error_t | te_get_device_unique_id (te_device_unique_id *uid) |
Gets the device's unique ID. More... | |
te_error_t | te_get_dsi_panel_config (bool *res) |
Gets whether the device has DSI panel attached or not. More... | |
te_error_t | te_get_root_of_trust (te_root_of_trust *r_o_t) |
Gets the root of trust. More... | |
void | te_panic (char *msg) |
Panics the system. More... | |
void | te_fprintf_set_prefix (const char *prefix) |
Sets a printable prefix string that te_fprintf() outputs in front of every log message from this task. More... | |
void | te_oper_dump_param (te_oper_param_t *param) |
Prints out the list of parameters for debugging. More... | |
void | te_oper_dump_param_list (te_operation_t *te_op) |
Prints out the list of parameters for debugging. More... | |
te_error_t | te_register_ta_event_handler (ta_event_handler_t handler, uint32_t events_mask) |
te_error_t | te_check_se_keyslot_owner (uint32_t keyslot_type, uint32_t keyslot_idx, te_service_id_t *uuid) |
Checks if the client TA is the owner of the keyslot it wants to write to. More... | |
te_error_t | te_request_se_keyslot (uint32_t keyslot_type, uint32_t *keyslot_idx) |
Returns the index of a free SE keyslot if one is available. More... | |
te_error_t | te_release_se_keyslot (uint32_t keyslot_type, uint32_t keyslot_idx) |
Releases a keyslot. More... | |
void | convert_fd_to_log_prefix (int fd, char *log_level) |
Maps the fd level to a corresponding logger prefix character. More... | |
te_error_t | te_rollback_check (te_rollback_args_t *rb_args) |
static void | te_speculation_barrier (void) |