/** @file | |
OP-TEE SMC header file. | |
Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR> | |
SPDX-License-Identifier: BSD-2-Clause-Patent | |
**/ | |
#ifndef OPTEE_SMC_H_ | |
#define OPTEE_SMC_H_ | |
/* Returned in Arg0 only from Trusted OS functions */ | |
#define OPTEE_SMC_RETURN_OK 0x0 | |
#define OPTEE_SMC_RETURN_FROM_RPC 0x32000003 | |
#define OPTEE_SMC_CALL_WITH_ARG 0x32000004 | |
#define OPTEE_SMC_GET_SHARED_MEMORY_CONFIG 0xb2000007 | |
#define OPTEE_SMC_SHARED_MEMORY_CACHED 1 | |
#define OPTEE_SMC_RETURN_UNKNOWN_FUNCTION 0xffffffff | |
#define OPTEE_SMC_RETURN_RPC_PREFIX_MASK 0xffff0000 | |
#define OPTEE_SMC_RETURN_RPC_PREFIX 0xffff0000 | |
#define OPTEE_SMC_RETURN_RPC_FOREIGN_INTERRUPT 0xffff0004 | |
#define OPTEE_MESSAGE_COMMAND_OPEN_SESSION 0 | |
#define OPTEE_MESSAGE_COMMAND_INVOKE_FUNCTION 1 | |
#define OPTEE_MESSAGE_COMMAND_CLOSE_SESSION 2 | |
#define OPTEE_MESSAGE_ATTRIBUTE_META 0x100 | |
#define OPTEE_LOGIN_PUBLIC 0x0 | |
typedef struct { | |
UINTN Base; | |
UINTN Size; | |
} OPTEE_SHARED_MEMORY_INFORMATION; | |
// | |
// UUID struct compliant with RFC4122 (network byte order). | |
// | |
typedef struct { | |
UINT32 Data1; | |
UINT16 Data2; | |
UINT16 Data3; | |
UINT8 Data4[8]; | |
} RFC4122_UUID; | |
#endif // OPTEE_SMC_H_ |