]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/EbcDxe/x64/EbcSupport.c
Add doxygen style comments for functions in EBC module.
[mirror_edk2.git] / MdeModulePkg / Universal / EbcDxe / x64 / EbcSupport.c
index 90db1669d9a1dc8cddd327ed891c6d6489fe5921..d72facd8e2c970ee532193ebd7e9f16f676c69e0 100644 (file)
@@ -27,28 +27,20 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #define STACK_REMAIN_SIZE (1024 * 4)\r
 \r
+\r
+/**\r
+  Pushes a 64 bit unsigned value to the VM stack.\r
+\r
+  @param VmPtr  The pointer to current VM context.\r
+  @param Arg    The value to be pushed.\r
+\r
+**/\r
 STATIC\r
 VOID\r
 PushU64 (\r
-  VM_CONTEXT *VmPtr,\r
-  UINT64     Arg\r
+  IN VM_CONTEXT *VmPtr,\r
+  IN UINT64     Arg\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Push a 64 bit unsigned value to the VM stack.\r
-\r
-Arguments:\r
-\r
-  VmPtr   -  The pointer to current VM context.\r
-  Arg     -  The value to be pushed\r
-\r
-Returns:\r
-\r
-  VOID\r
-\r
---*/\r
 {\r
   //\r
   // Advance the VM stack down, and then copy the argument to the stack.\r
@@ -69,28 +61,45 @@ Returns:
   calling convention, so the first four arguments are passed by rcx, rdx,\r
   r8, and r9, while other arguments are passed in stack.\r
 \r
+  @param  Arg1                  The 1st argument.\r
+  @param  Arg2                  The 2nd argument.\r
+  @param  Arg3                  The 3rd argument.\r
+  @param  Arg4                  The 4th argument.\r
+  @param  Arg5                  The 5th argument.\r
+  @param  Arg6                  The 6th argument.\r
+  @param  Arg7                  The 7th argument.\r
+  @param  Arg8                  The 8th argument.\r
+  @param  Arg9                  The 9th argument.\r
+  @param  Arg10                 The 10th argument.\r
+  @param  Arg11                 The 11th argument.\r
+  @param  Arg12                 The 12th argument.\r
+  @param  Arg13                 The 13th argument.\r
+  @param  Arg14                 The 14th argument.\r
+  @param  Arg15                 The 15th argument.\r
+  @param  Arg16                 The 16th argument.\r
+\r
   @return The value returned by the EBC application we're going to run.\r
 \r
 **/\r
 STATIC\r
 UINT64\r
 EbcInterpret (\r
-  UINTN      Arg1,\r
-  UINTN      Arg2,\r
-  UINTN      Arg3,\r
-  UINTN      Arg4,\r
-  UINTN      Arg5,\r
-  UINTN      Arg6,\r
-  UINTN      Arg7,\r
-  UINTN      Arg8,\r
-  UINTN      Arg9,\r
-  UINTN      Arg10,\r
-  UINTN      Arg11,\r
-  UINTN      Arg12,\r
-  UINTN      Arg13,\r
-  UINTN      Arg14,\r
-  UINTN      Arg15,\r
-  UINTN      Arg16\r
+  IN OUT UINTN      Arg1,\r
+  IN OUT UINTN      Arg2,\r
+  IN OUT UINTN      Arg3,\r
+  IN OUT UINTN      Arg4,\r
+  IN OUT UINTN      Arg5,\r
+  IN OUT UINTN      Arg6,\r
+  IN OUT UINTN      Arg7,\r
+  IN OUT UINTN      Arg8,\r
+  IN OUT UINTN      Arg9,\r
+  IN OUT UINTN      Arg10,\r
+  IN OUT UINTN      Arg11,\r
+  IN OUT UINTN      Arg12,\r
+  IN OUT UINTN      Arg13,\r
+  IN OUT UINTN      Arg14,\r
+  IN OUT UINTN      Arg15,\r
+  IN OUT UINTN      Arg16\r
   )\r
 {\r
   //\r
@@ -328,13 +337,20 @@ ExecuteEbcImageEntryPoint (
 \r
 \r
 /**\r
-  Create an IA32 thunk for the given EBC entry point.\r
+  Create thunks for an EBC image entry point, or an EBC protocol service.\r
 \r
-  @param  ImageHandle      Handle of image for which this thunk is being created\r
-  @param  EbcEntryPoint    Address of the EBC code that the thunk is to call\r
-  @param  Thunk            Returned thunk we create here\r
+  @param  ImageHandle           Image handle for the EBC image. If not null, then\r
+                                we're creating a thunk for an image entry point.\r
+  @param  EbcEntryPoint         Address of the EBC code that the thunk is to call\r
+  @param  Thunk                 Returned thunk we create here\r
+  @param  Flags                 Flags indicating options for creating the thunk\r
 \r
-  @return Standard EFI status.\r
+  @retval EFI_SUCCESS           The thunk was created successfully.\r
+  @retval EFI_INVALID_PARAMETER The parameter of EbcEntryPoint is not 16-bit\r
+                                aligned.\r
+  @retval EFI_OUT_OF_RESOURCES  There is not enough memory to created the EBC\r
+                                Thunk.\r
+  @retval EFI_BUFFER_TOO_SMALL  EBC_THUNK_SIZE is not larger enough.\r
 \r
 **/\r
 EFI_STATUS\r
@@ -347,7 +363,7 @@ EbcCreateThunks (
 {\r
   UINT8       *Ptr;\r
   UINT8       *ThunkBase;\r
-  UINT32      I;\r
+  UINT32      Index;\r
   UINT64      Addr;\r
   INT32       Size;\r
   INT32       ThunkSize;\r
@@ -390,7 +406,7 @@ EbcCreateThunks (
   Ptr++;\r
   Size--;\r
   Addr = (UINT64) 0xCA112EBCCA112EBCULL;\r
-  for (I = 0; I < sizeof (Addr); I++) {\r
+  for (Index = 0; Index < sizeof (Addr); Index++) {\r
     *Ptr = (UINT8) (UINTN) Addr;\r
     Addr >>= 8;\r
     Ptr++;\r
@@ -410,7 +426,7 @@ EbcCreateThunks (
   Ptr++;\r
   Size--;\r
   Addr = (UINT64) EbcEntryPoint;\r
-  for (I = 0; I < sizeof (Addr); I++) {\r
+  for (Index = 0; Index < sizeof (Addr); Index++) {\r
     *Ptr = (UINT8) (UINTN) Addr;\r
     Addr >>= 8;\r
     Ptr++;\r
@@ -438,7 +454,7 @@ EbcCreateThunks (
   *Ptr = 0xBB;\r
   Ptr++;\r
   Size--;\r
-  for (I = 0; I < sizeof (Addr); I++) {\r
+  for (Index = 0; Index < sizeof (Addr); Index++) {\r
     *Ptr = (UINT8) Addr;\r
     Addr >>= 8;\r
     Ptr++;\r
@@ -487,8 +503,6 @@ EbcCreateThunks (
   @param  FramePtr         New frame pointer after the call\r
   @param  Size             The size of call instruction\r
 \r
-  @return None.\r
-\r
 **/\r
 VOID\r
 EbcLLCALLEX (\r