]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ArmPkg/Include/Library/OpteeLib.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ArmPkg / Include / Library / OpteeLib.h
index a7b2ff1b6b57e01afaaacc15290746d31e077db2..593c32b135113983fb72221956d768b528308c44 100644 (file)
@@ -2,42 +2,37 @@
   OP-TEE specific header file.\r
 \r
   Copyright (c) 2018, Linaro Ltd. All rights reserved.<BR>\r
+  Copyright (c) 2021, Arm Limited. All rights reserved.<BR>\r
 \r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
-#ifndef _OPTEE_H_\r
-#define _OPTEE_H_\r
+#ifndef OPTEE_LIB_H_\r
+#define OPTEE_LIB_H_\r
 \r
 /*\r
  * The 'Trusted OS Call UID' is supposed to return the following UUID for\r
  * OP-TEE OS. This is a 128-bit value.\r
  */\r
-#define OPTEE_OS_UID0          0x384fb3e0\r
-#define OPTEE_OS_UID1          0xe7f811e3\r
-#define OPTEE_OS_UID2          0xaf630002\r
-#define OPTEE_OS_UID3          0xa5d5c51b\r
+#define OPTEE_OS_UID0  0x384fb3e0\r
+#define OPTEE_OS_UID1  0xe7f811e3\r
+#define OPTEE_OS_UID2  0xaf630002\r
+#define OPTEE_OS_UID3  0xa5d5c51b\r
 \r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_NONE                0x0\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INPUT         0x1\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_OUTPUT        0x2\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INOUT         0x3\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INPUT        0x9\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_OUTPUT       0xa\r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INOUT        0xb\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_NONE           0x0\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INPUT    0x1\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_OUTPUT   0x2\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_VALUE_INOUT    0x3\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INPUT   0x9\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_OUTPUT  0xa\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MEMORY_INOUT   0xb\r
 \r
-#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MASK                0xff\r
+#define OPTEE_MESSAGE_ATTRIBUTE_TYPE_MASK  0xff\r
 \r
-#define OPTEE_SUCCESS                           0x00000000\r
-#define OPTEE_ORIGIN_COMMUNICATION              0x00000002\r
-#define OPTEE_ERROR_COMMUNICATION               0xFFFF000E\r
+#define OPTEE_SUCCESS               0x00000000\r
+#define OPTEE_ORIGIN_COMMUNICATION  0x00000002\r
+#define OPTEE_ERROR_COMMUNICATION   0xFFFF000E\r
 \r
 typedef struct {\r
   UINT64    BufferAddress;\r
@@ -51,43 +46,45 @@ typedef struct {
   UINT64    C;\r
 } OPTEE_MESSAGE_PARAM_VALUE;\r
 \r
+typedef union {\r
+  OPTEE_MESSAGE_PARAM_MEMORY    Memory;\r
+  OPTEE_MESSAGE_PARAM_VALUE     Value;\r
+} OPTEE_MESSAGE_PARAM_UNION;\r
+\r
 typedef struct {\r
-  UINT64 Attribute;\r
-  union {\r
-    OPTEE_MESSAGE_PARAM_MEMORY   Memory;\r
-    OPTEE_MESSAGE_PARAM_VALUE    Value;\r
-  } Union;\r
+  UINT64                       Attribute;\r
+  OPTEE_MESSAGE_PARAM_UNION    Union;\r
 } OPTEE_MESSAGE_PARAM;\r
 \r
-#define OPTEE_MAX_CALL_PARAMS       4\r
+#define OPTEE_MAX_CALL_PARAMS  4\r
 \r
 typedef struct {\r
-  UINT32    Command;\r
-  UINT32    Function;\r
-  UINT32    Session;\r
-  UINT32    CancelId;\r
-  UINT32    Pad;\r
-  UINT32    Return;\r
-  UINT32    ReturnOrigin;\r
-  UINT32    NumParams;\r
+  UINT32                 Command;\r
+  UINT32                 Function;\r
+  UINT32                 Session;\r
+  UINT32                 CancelId;\r
+  UINT32                 Pad;\r
+  UINT32                 Return;\r
+  UINT32                 ReturnOrigin;\r
+  UINT32                 NumParams;\r
 \r
   // NumParams tells the actual number of element in Params\r
-  OPTEE_MESSAGE_PARAM  Params[OPTEE_MAX_CALL_PARAMS];\r
+  OPTEE_MESSAGE_PARAM    Params[OPTEE_MAX_CALL_PARAMS];\r
 } OPTEE_MESSAGE_ARG;\r
 \r
 typedef struct {\r
-  EFI_GUID  Uuid;           // [in] GUID/UUID of the Trusted Application\r
-  UINT32    Session;        // [out] Session id\r
-  UINT32    Return;         // [out] Return value\r
-  UINT32    ReturnOrigin;   // [out] Origin of the return value\r
+  EFI_GUID    Uuid;         // [in] GUID/UUID of the Trusted Application\r
+  UINT32      Session;      // [out] Session id\r
+  UINT32      Return;       // [out] Return value\r
+  UINT32      ReturnOrigin; // [out] Origin of the return value\r
 } OPTEE_OPEN_SESSION_ARG;\r
 \r
 typedef struct {\r
-  UINT32    Function;       // [in] Trusted Application function, specific to the TA\r
-  UINT32    Session;        // [in] Session id\r
-  UINT32    Return;         // [out] Return value\r
-  UINT32    ReturnOrigin;   // [out] Origin of the return value\r
-  OPTEE_MESSAGE_PARAM  Params[OPTEE_MAX_CALL_PARAMS]; // Params for function to be invoked\r
+  UINT32                 Function;                      // [in] Trusted Application function, specific to the TA\r
+  UINT32                 Session;                       // [in] Session id\r
+  UINT32                 Return;                        // [out] Return value\r
+  UINT32                 ReturnOrigin;                  // [out] Origin of the return value\r
+  OPTEE_MESSAGE_PARAM    Params[OPTEE_MAX_CALL_PARAMS]; // Params for function to be invoked\r
 } OPTEE_INVOKE_FUNCTION_ARG;\r
 \r
 BOOLEAN\r
@@ -105,19 +102,19 @@ OpteeInit (
 EFI_STATUS\r
 EFIAPI\r
 OpteeOpenSession (\r
-  IN OUT OPTEE_OPEN_SESSION_ARG      *OpenSessionArg\r
+  IN OUT OPTEE_OPEN_SESSION_ARG  *OpenSessionArg\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 OpteeCloseSession (\r
-  IN UINT32                      Session\r
+  IN UINT32  Session\r
   );\r
 \r
 EFI_STATUS\r
 EFIAPI\r
 OpteeInvokeFunction (\r
-  IN OUT OPTEE_INVOKE_FUNCTION_ARG       *InvokeFunctionArg\r
+  IN OUT OPTEE_INVOKE_FUNCTION_ARG  *InvokeFunctionArg\r
   );\r
 \r
-#endif\r
+#endif // OPTEE_LIB_H_\r