]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/EbcDxe/EbcDebugger/EdbSymbol.c
MdeModulePkg/EbcDxe: Fix incorrect Copyright format
[mirror_edk2.git] / MdeModulePkg / Universal / EbcDxe / EbcDebugger / EdbSymbol.c
index 22a827d35de2d38f15f8942aa6bf0c2e219f2f8f..e6a677d76485db7e3ac1c7b5dfca6df6fdbcd26f 100644 (file)
@@ -1,7 +1,7 @@
-/*++\r
+/** @file\r
 \r
-Copyright (c) 2007 - 2016, Intel Corporation\r
-All rights reserved. This program and the accompanying materials\r
+Copyright (c) 2007 - 2016, Intel Corporation. All rights reserved.<BR>\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
@@ -9,17 +9,24 @@ http://opensource.org/licenses/bsd-license.php
 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
 \r
-Module Name:\r
 \r
-  EdbSymbol.c\r
+**/\r
 \r
-Abstract:\r
+#include "Edb.h"\r
 \r
+/**\r
 \r
---*/\r
+  Load single symbol entry.\r
 \r
-#include "Edb.h"\r
+  @param  Object          - Symbol file object\r
+  @param  Name            - Symbol name\r
+  @param  ObjName         - Object name\r
+  @param  Address         - Symbol address\r
+  @param  Type            - Symbol type\r
+\r
+  @retval EFI_SUCCESS - add single symbol entry successfully\r
 \r
+**/\r
 EFI_STATUS\r
 EdbLoadSymbolSingleEntry (\r
   IN EFI_DEBUGGER_SYMBOL_OBJECT  *Object,\r
@@ -28,25 +35,6 @@ EdbLoadSymbolSingleEntry (
   IN UINTN                       Address,\r
   IN EFI_DEBUGGER_SYMBOL_TYPE    Type\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Load single symbol entry\r
-\r
-Arguments:\r
-\r
-  Object          - Symbol file object\r
-  Name            - Symbol name\r
-  ObjName         - Object name\r
-  Address         - Symbol address\r
-  Type            - Symbol type\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - add single symbol entry successfully\r
-\r
---*/\r
 {\r
   EFI_DEBUGGER_SYMBOL_ENTRY  *Entry;\r
 \r
@@ -114,7 +102,7 @@ typedef enum {
   EdbEbcSymbolParseStateMax,\r
 } EDB_EBC_SYMBOL_PARSE_STATE;\r
 \r
-/*++\r
+/**\r
 \r
   The following code depends on the MAP file generated by IEC compiler (actually Microsoft linker).\r
 \r
@@ -165,35 +153,28 @@ typedef enum {
  0001:00000000       TestSubRoutine2            10000400 f   EbcTest.obj\r
 ===============================================================================\r
 \r
---*/\r
+**/\r
+\r
+/**\r
+\r
+  Load symbol entry by Iec.\r
+\r
+  @param  Object          - Symbol file object\r
+  @param  BufferSize      - Symbol file buffer size\r
+  @param  Buffer          - Symbol file buffer\r
+\r
+  @retval EFI_SUCCESS - add symbol entry successfully\r
+\r
+**/\r
 EFI_STATUS\r
 EdbLoadSymbolEntryByIec (\r
   IN EFI_DEBUGGER_SYMBOL_OBJECT  *Object,\r
   IN UINTN                       BufferSize,\r
   IN VOID                        *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Load symbol entry by Iec\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  Object          - Symbol file object\r
-  BufferSize      - Symbol file buffer size\r
-  Buffer          - Symbol file buffer\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - add symbol entry successfully\r
-\r
---*/\r
 {\r
   CHAR8                      *LineBuffer;\r
   CHAR8                      *FieldBuffer;\r
-  EFI_DEBUGGER_SYMBOL_ENTRY  *Entry;\r
   EDB_EBC_MAP_PARSE_STATE    MapParseState;\r
   EDB_EBC_SYMBOL_PARSE_STATE SymbolParseState;\r
   CHAR8                      *Name;\r
@@ -201,7 +182,6 @@ Returns:
   UINTN                      Address;\r
   EFI_DEBUGGER_SYMBOL_TYPE   Type;\r
 \r
-  Entry = Object->Entry;\r
 \r
   //\r
   // Begin to parse the Buffer\r
@@ -409,29 +389,23 @@ ExitFieldParse:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+\r
+  Load symbol entry.\r
+\r
+  @param  Object          - Symbol file object\r
+  @param  BufferSize      - Symbol file buffer size\r
+  @param  Buffer          - Symbol file buffer\r
+\r
+  @retval EFI_SUCCESS - add symbol entry successfully\r
+\r
+**/\r
 EFI_STATUS\r
 EdbLoadSymbolEntry (\r
   IN EFI_DEBUGGER_SYMBOL_OBJECT  *Object,\r
   IN UINTN                       BufferSize,\r
   IN VOID                        *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Load symbol entry\r
-\r
-Arguments:\r
-\r
-  Object          - Symbol file object\r
-  BufferSize      - Symbol file buffer size\r
-  Buffer          - Symbol file buffer\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - add symbol entry successfully\r
-\r
---*/\r
 {\r
   //\r
   // MAP file format depends on the compiler (actually linker).\r
@@ -442,29 +416,23 @@ Returns:
   return EdbLoadSymbolEntryByIec (Object, BufferSize, Buffer);\r
 }\r
 \r
+/**\r
+\r
+  Find symbol file by name.\r
+\r
+  @param  DebuggerPrivate - EBC Debugger private data structure\r
+  @param  FileName        - Symbol file name\r
+  @param  Index           - Symbol file index\r
+\r
+  @return Object\r
+\r
+**/\r
 EFI_DEBUGGER_SYMBOL_OBJECT *\r
 EdbFindSymbolFile (\r
   IN EFI_DEBUGGER_PRIVATE_DATA   *DebuggerPrivate,\r
   IN CHAR16                      *FileName,\r
   IN OUT UINTN                   *Index OPTIONAL\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Find symbol file by name\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  FileName        - Symbol file name\r
-  Index           - Symbol file index\r
-\r
-Returns:\r
-\r
-  Object\r
-\r
---*/\r
 {\r
   UINTN ObjectIndex;\r
 \r
@@ -489,6 +457,18 @@ Returns:
   return NULL;\r
 }\r
 \r
+/**\r
+\r
+  Find symbol by address.\r
+\r
+  @param  Address         - Symbol address\r
+  @param  Type            - Search type\r
+  @param  RetObject       - Symbol object\r
+  @param  RetEntry        - Symbol entry\r
+\r
+  @return Nearest symbol address\r
+\r
+**/\r
 UINTN\r
 EbdFindSymbolAddress (\r
   IN UINTN                       Address,\r
@@ -496,24 +476,6 @@ EbdFindSymbolAddress (
   OUT EFI_DEBUGGER_SYMBOL_OBJECT **RetObject,\r
   OUT EFI_DEBUGGER_SYMBOL_ENTRY  **RetEntry\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Find symbol by address\r
-\r
-Arguments:\r
-\r
-  Address         - Symbol address\r
-  Type            - Search type\r
-  RetObject       - Symbol object\r
-  RetEntry        - Symbol entry\r
-\r
-Returns:\r
-\r
-  Nearest symbol address\r
-\r
---*/\r
 {\r
   UINTN                      Index;\r
   UINTN                      SubIndex;\r
@@ -629,27 +591,21 @@ Returns:
   return 0;\r
 }\r
 \r
+/**\r
+\r
+  Unload symbol file by name.\r
+\r
+  @param  DebuggerPrivate - EBC Debugger private data structure\r
+  @param  FileName        - Symbol file name\r
+\r
+  @retval EFI_SUCCESS - unload symbol successfully\r
+\r
+**/\r
 EFI_STATUS\r
 EdbUnloadSymbol (\r
   IN EFI_DEBUGGER_PRIVATE_DATA   *DebuggerPrivate,\r
   IN CHAR16                      *FileName\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Unload symbol file by name\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  FileName        - Symbol file name\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - unload symbol successfully\r
-\r
---*/\r
 {\r
   EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
   UINTN                      ObjectIndex;\r
@@ -711,6 +667,18 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+\r
+  Load symbol file by name.\r
+\r
+  @param  DebuggerPrivate - EBC Debugger private data structure\r
+  @param  FileName        - Symbol file name\r
+  @param  BufferSize      - Symbol file buffer size\r
+  @param  Buffer          - Symbol file buffer\r
+\r
+  @retval EFI_SUCCESS - load symbol successfully\r
+\r
+**/\r
 EFI_STATUS\r
 EdbLoadSymbol (\r
   IN EFI_DEBUGGER_PRIVATE_DATA   *DebuggerPrivate,\r
@@ -718,24 +686,6 @@ EdbLoadSymbol (
   IN UINTN                       BufferSize,\r
   IN VOID                        *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Load symbol file by name\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  FileName        - Symbol file name\r
-  BufferSize      - Symbol file buffer size\r
-  Buffer          - Symbol file buffer\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - load symbol successfully\r
-\r
---*/\r
 {\r
   EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
   EFI_STATUS                 Status;\r
@@ -795,26 +745,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
-CHAR8 *\r
-GetPdbPath (\r
-  VOID *ImageBase\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Located PDB path name in PE image\r
+/**\r
 \r
-Arguments:\r
+  Located PDB path name in PE image.\r
 \r
-  ImageBase - base of PE to search\r
+  @param  ImageBase - base of PE to search\r
 \r
-Returns:\r
-\r
-  Pointer into image at offset of PDB file name if PDB file name is found,\r
+  @return Pointer into image at offset of PDB file name if PDB file name is found,\r
   Otherwise a pointer to an empty string.\r
 \r
---*/\r
+**/\r
+CHAR8 *\r
+GetPdbPath (\r
+  VOID *ImageBase\r
+  )\r
 {\r
   CHAR8                           *PdbPath;\r
   UINT32                          DirCount;\r
@@ -898,28 +842,22 @@ Returns:
   return PdbPath;\r
 }\r
 \r
+/**\r
+\r
+  Check whether PDB file and MAP file have same name.\r
+\r
+  @param  PdbFileName - PDB file name\r
+  @param  MapFileName - MAP file name\r
+\r
+  @retval TRUE  - PDB and MAP file name match\r
+  @retval FALSE - PDB and MAP file name not match\r
+\r
+**/\r
 BOOLEAN\r
 MatchPdbAndMap (\r
   IN CHAR8   *PdbFileName,\r
   IN CHAR16  *MapFileName\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check whether PDB file and MAP file have same name\r
-\r
-Arguments:\r
-\r
-  PdbFileName - PDB file name\r
-  MapFileName - MAP file name\r
-\r
-Returns:\r
-\r
-  TRUE  - PDB and MAP file name match\r
-  FALSE - PDB and MAP file name not match\r
-\r
---*/\r
 {\r
   UINTN   PdbNameSize;\r
   UINTN   MapNameSize;\r
@@ -970,11 +908,7 @@ typedef struct {
 \r
 EFI_DEBUG_IMAGE_INFO_TABLE_HEADER  mDebugImageInfoTableHeader;\r
 \r
-VOID\r
-EdbFixDebugImageInfoTable (\r
-  IN OUT EFI_DEBUG_IMAGE_INFO_TABLE_HEADER **DebugImageInfoTableHeader\r
-  )\r
-/*\r
+/**\r
 For compatibility consideration, we handle 2 cases:\r
 \r
 1) IA32:\r
@@ -999,7 +933,13 @@ For compatibility consideration, we handle 2 cases:
   | TableSize              |    |                        |\r
   +------------------------+    +------------------------+\r
 \r
-*/\r
+  @param DebugImageInfoTableHeader  Point to the EFI_DEBUG_IMAGE_INFO_TABLE_HEADER structure.\r
+\r
+**/\r
+VOID\r
+EdbFixDebugImageInfoTable (\r
+  IN OUT EFI_DEBUG_IMAGE_INFO_TABLE_HEADER **DebugImageInfoTableHeader\r
+  )\r
 {\r
   mDebugImageInfoTableHeader.EfiDebugImageInfoTable = ((EFI_DEBUG_IMAGE_INFO_TABLE_HEADER_OLD *)(*DebugImageInfoTableHeader))->EfiDebugImageInfoTable;\r
   mDebugImageInfoTableHeader.UpdateStatus           = ((EFI_DEBUG_IMAGE_INFO_TABLE_HEADER_OLD *)(*DebugImageInfoTableHeader))->UpdateStatus;\r
@@ -1021,30 +961,24 @@ For compatibility consideration, we handle 2 cases:
 // BUGBUG: work-around end\r
 //\r
 \r
+/**\r
+\r
+  Patch symbol RVA.\r
+\r
+  @param  DebuggerPrivate - EBC Debugger private data structure\r
+  @param  FileName        - Symbol file name\r
+  @param  SearchType      - Search type for Object\r
+\r
+  @retval EFI_SUCCESS   - Patch symbol RVA successfully\r
+  @retval EFI_NOT_FOUND - Symbol RVA base not found\r
+\r
+**/\r
 EFI_STATUS\r
 EdbPatchSymbolRVA (\r
   IN EFI_DEBUGGER_PRIVATE_DATA     *DebuggerPrivate,\r
   IN CHAR16                        *FileName,\r
   IN EDB_EBC_IMAGE_RVA_SEARCH_TYPE SearchType\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Patch symbol RVA\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  FileName        - Symbol file name\r
-  SearchType      - Search type for Object\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS   - Patch symbol RVA successfully\r
-  EFI_NOT_FOUND - Symbol RVA base not found\r
-\r
---*/\r
 {\r
   EFI_STATUS            Status;\r
   UINTN                 ImageNumber;\r
@@ -1151,28 +1085,22 @@ Returns:
   return EFI_NOT_FOUND;\r
 }\r
 \r
+/**\r
+\r
+  Check whether OBJ file and COD file have same name.\r
+\r
+  @param  ObjFileName - OBJ file name\r
+  @param  CodFileName - COD file name\r
+\r
+  @retval TRUE  - OBJ and COD file name match\r
+  @retval FALSE - OBJ and COD file name not match\r
+\r
+**/\r
 BOOLEAN\r
 MatchObjAndCod (\r
   IN CHAR8   *ObjFileName,\r
   IN CHAR16  *CodFileName\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Check whether OBJ file and COD file have same name\r
-\r
-Arguments:\r
-\r
-  ObjFileName - OBJ file name\r
-  CodFileName - COD file name\r
-\r
-Returns:\r
-\r
-  TRUE  - OBJ and COD file name match\r
-  FALSE - OBJ and COD file name not match\r
-\r
---*/\r
 {\r
   UINTN   ObjNameSize;\r
   UINTN   CodNameSize;\r
@@ -1221,283 +1149,25 @@ typedef enum {
   EdbEbcCodParseStateMax,\r
 } EDB_EBC_COD_PARSE_STATE;\r
 \r
-/*++\r
+/**\r
 \r
   The following code depends on the COD file generated by IEC compiler.\r
 \r
-  Sample as follows: EbcTest.cod\r
-===============================================================================\r
-; -- Machine type EFI\r
-; mark_description "Intel(R) C Compiler for EFI Byte Code, Version 1.2 Build 20040123";\r
-; mark_description "XXX";\r
-;ident "Intel(R) C Compiler for EFI Byte Code, Version 1.2 Build 20040123"\r
-;ident "XXX"\r
-    .686P\r
-    .387\r
-_TEXT   SEGMENT PARA PUBLIC USE32 'CODE'\r
-_TEXT   ENDS\r
-_DATA   SEGMENT PARA PUBLIC USE32 'DATA'\r
-    ALIGN 010H\r
-_DATA   ENDS\r
-_BSS    SEGMENT PARA PUBLIC USE32 'BSS'\r
-    ALIGN 010H\r
-_BSS    ENDS\r
-_VARBSS SEGMENT PARA PUBLIC USE32 'BSS'\r
-    ALIGN 010H\r
-_VARBSS ENDS\r
-    ASSUME  CS:FLAT,DS:FLAT,SS:FLAT\r
-_DATA   SEGMENT PARA PUBLIC USE32 'DATA'\r
-TestVariable2   DD 000000003H,000000000H    ; u64\r
-_DATA   ENDS\r
-_DATA   SEGMENT PARA PUBLIC USE32 'DATA'\r
-_DATA   ENDS\r
-_TEXT   SEGMENT PARA PUBLIC USE32 'CODE'\r
-; -- Begin  EfiMain\r
-; mark_begin;\r
-    PUBLIC   EfiMain\r
-EfiMain  PROC NEAR\r
-$B3$1:; 11a\r
-$LN45:\r
-\r
-;117 ; {\r
-\r
-  0011a 60 00 70 80         MOVqw     R0, R0(+0,-112)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:117\r
-$LN46:\r
-\r
-;118 ;   UINT16 test = 0x1234;\r
-\r
-  0011e 77 58 58 00 34\r
-        12                  MOVIww    @R0(+0,+88), +4660      ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:118\r
-$LN47:\r
-\r
-;121 ;   EFI_STATUS  Status;\r
-;121 ;\r
-;121 ;   SystemTable->ConOut->OutputString (\r
-\r
-  00124 72 87 01 12         MOVnw     R7, @R0(+1,+128)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:121\r
-  00128 72 f7 85 21         MOVnw     R7, @R7(+5,+24)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:121\r
-$LN48:\r
-\r
-;122 ;                          SystemTable->ConOut,\r
-\r
-  0012c 72 84 01 12         MOVnw     R4, @R0(+1,+128)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:122\r
-  00130 72 c8 85 21         MOVnw     @R0, @R4(+5,+24)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:122\r
-  00134 b9 34 00 00 00\r
-        00                  MOVreld   R4, __STRING$1          ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:122\r
-  0013a b2 48 01 10         MOVnw     @R0(+1,+0), R4          ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:122\r
-  0013e 83 2f 01 00 00\r
-        10                  CALLEX    @R7(+1,+0)              ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:122\r
-$B3$2:; 144\r
-$LN49:\r
-\r
-;125 ;                          L"Hello EBC Test!\n\r"\r
-;125 ;                          );\r
-;125 ;   EFI_BREAKPOINT ();\r
-\r
-  00144 00 03               BREAK     3                       ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:125\r
-$B3$3:; 146\r
-$LN50:\r
-\r
-;126 ;   TestVariable1 = 6;\r
-\r
-  00146 b9 37 00 00 00\r
-        00                  MOVreld   R7, TestVariable1       ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:126\r
-  0014c 78 0f 06 00         MOVInw    @R7, (0,6)              ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:126\r
-$LN51:\r
-\r
-;127 ;   TestSubRoutineSub (1, 5);\r
-\r
-  00150 78 08 01 00         MOVInw    @R0, (0,1)              ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:127\r
-  00154 78 48 01 10 05\r
-        00                  MOVInw    @R0(1,0), (0,5)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:127\r
-  0015a 83 10 00 00 00\r
-        00                  CALL      TestSubRoutineSub       ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:127\r
-$B3$4:; 160\r
-$LN52:\r
-\r
-;129 ;\r
-;129 ;   SystemTable->ConOut->OutputString (\r
-\r
-  00160 72 87 01 12         MOVnw     R7, @R0(+1,+128)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:129\r
-  00164 72 f7 85 21         MOVnw     R7, @R7(+5,+24)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:129\r
-$LN53:\r
-\r
-;130 ;                          SystemTable->ConOut,\r
-\r
-  00168 72 84 01 12         MOVnw     R4, @R0(+1,+128)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:130\r
-  0016c 72 c8 85 21         MOVnw     @R0, @R4(+5,+24)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:130\r
-$LN54:\r
-\r
-;131 ;                          TestStr\r
-\r
-  00170 b9 34 00 00 00\r
-        00                  MOVreld   R4, TestStr             ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:131\r
-  00176 b2 c8 01 10         MOVnw     @R0(+1, +0), @R4        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:131\r
-  0017a 83 2f 01 00 00\r
-        10                  CALLEX    @R7(+1,+0)              ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:131\r
-$B3$5:; 180\r
-$LN55:\r
-\r
-;134 ;                          );\r
-;134 ;\r
-;134 ;   test = test & 0xFF;\r
-\r
-  00180 de 88 58 00 58\r
-        00                  MOVww     @R0(+0,+88), @R0(+0,+88) ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:134\r
-$LN56:\r
-\r
-;139 ;   if (test != 0x34) {\r
-;139 ; //    EFI_BREAKPOINT ();\r
-;139 ;   }\r
-;139 ;\r
-;139 ;   Status = TestSubRoutine (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);\r
-\r
-  00186 78 08 01 00         MOVInw    @R0, (0,1)              ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  0018a 78 48 01 10 02\r
-        00                  MOVInw    @R0(1,0), (0,2)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  00190 78 48 02 10 03\r
-        00                  MOVInw    @R0(2,0), (0,3)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  00196 78 48 03 10 04\r
-        00                  MOVInw    @R0(3,0), (0,4)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  0019c 78 48 04 20 05\r
-        00                  MOVInw    @R0(4,0), (0,5)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  001a2 78 48 05 20 06\r
-        00                  MOVInw    @R0(5,0), (0,6)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  001a8 78 48 06 20 07\r
-        00                  MOVInw    @R0(6,0), (0,7)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  001ae 78 48 07 20 08\r
-        00                  MOVInw    @R0(7,0), (0,8)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  001b4 78 48 08 20 09\r
-        00                  MOVInw    @R0(8,0), (0,9)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  001ba 78 48 09 20 0a\r
-        00                  MOVInw    @R0(9,0), (0,10)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-  001c0 83 10 00 00 00\r
-        00                  CALL      TestSubRoutine          ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-$B3$10:; 1c6\r
-  001c6 b2 78 60 00         MOVnw     @R0(+0,+96), R7         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-$B3$6:; 1ca\r
-$LN57:\r
-  001ca f2 88 50 00 60\r
-        00                  MOVnw     @R0(+0,+80), @R0(+0,+96) ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:139\r
-$LN58:\r
-\r
-;141 ;\r
-;141 ;   SystemTable->ConOut->OutputString (\r
-\r
-  001d0 72 87 01 12         MOVnw     R7, @R0(+1,+128)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:141\r
-  001d4 72 f7 85 21         MOVnw     R7, @R7(+5,+24)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:141\r
-$LN59:\r
-\r
-;142 ;                          SystemTable->ConOut,\r
-\r
-  001d8 72 84 01 12         MOVnw     R4, @R0(+1,+128)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:142\r
-  001dc 72 c8 85 21         MOVnw     @R0, @R4(+5,+24)        ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:142\r
-  001e0 b9 34 00 00 00\r
-        00                  MOVreld   R4, __STRING$2          ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:142\r
-  001e6 b2 48 01 10         MOVnw     @R0(+1,+0), R4          ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:142\r
-  001ea 83 2f 01 00 00\r
-        10                  CALLEX    @R7(+1,+0)              ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:142\r
-$B3$7:; 1f0\r
-$LN60:\r
-\r
-;146 ;                          L"Goodbye EBC Test!\n\r"\r
-;146 ;                          );\r
-;146 ;\r
-;146 ;   return Status;\r
-\r
-  001f0 72 87 50 00         MOVnw     R7, @R0(+0,+80)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:146\r
-  001f4 60 00 70 00         MOVqw     R0, R0(+0,+112)         ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:146\r
-  001f8 04 00               RET                               ;C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest.c:146\r
-; mark_end;\r
-EfiMain ENDP\r
-_TEXT   ENDS\r
-_DATA   SEGMENT PARA PUBLIC USE32 'DATA'\r
-    DB 3 DUP (0)    ; pad\r
-__STRING$2  DW 71   ; u16\r
-    DW 111  ; u16\r
-    DW 111  ; u16\r
-    DW 100  ; u16\r
-    DW 98   ; u16\r
-    DW 121  ; u16\r
-    DW 101  ; u16\r
-    DW 32   ; u16\r
-    DW 69   ; u16\r
-    DW 66   ; u16\r
-    DW 67   ; u16\r
-    DW 32   ; u16\r
-    DW 84   ; u16\r
-    DW 101  ; u16\r
-    DW 115  ; u16\r
-    DW 116  ; u16\r
-    DW 33   ; u16\r
-    DW 10   ; u16\r
-    DW 13   ; u16\r
-    DW 0    ; u16\r
-__STRING$1  DW 72   ; u16\r
-    DW 101  ; u16\r
-    DW 108  ; u16\r
-    DW 108  ; u16\r
-    DW 111  ; u16\r
-    DW 32   ; u16\r
-    DW 69   ; u16\r
-    DW 66   ; u16\r
-    DW 67   ; u16\r
-    DW 32   ; u16\r
-    DW 84   ; u16\r
-    DW 101  ; u16\r
-    DW 115  ; u16\r
-    DW 116  ; u16\r
-    DW 33   ; u16\r
-    DW 10   ; u16\r
-    DW 13   ; u16\r
-    DW 0    ; u16\r
-_DATA   ENDS\r
-_DATA   SEGMENT PARA PUBLIC USE32 'DATA'\r
-_DATA   ENDS\r
-; -- End  EfiMain\r
-_DATA   SEGMENT PARA PUBLIC USE32 'DATA'\r
-__STRING$0  DW 55   ; u16\r
-    DW 56   ; u16\r
-    DW 57   ; u16\r
-    DW 52   ; u16\r
-    DW 53   ; u16\r
-    DW 54   ; u16\r
-    DW 49   ; u16\r
-    DW 50   ; u16\r
-    DW 51   ; u16\r
-    DW 13   ; u16\r
-    DW 10   ; u16\r
-    DW 0    ; u16\r
-_DATA   ENDS\r
-_VARBSS SEGMENT PARA PUBLIC USE32 'BSS'\r
-    PUBLIC TestStr\r
-TestStr DD 2 DUP (?)    ; pad\r
-    PUBLIC TestVariable1\r
-TestVariable1   DD 2 DUP (?)    ; pad\r
-_VARBSS ENDS\r
-_VARBSS_INIT    SEGMENT DWORD PUBLIC USE32 'CODE'\r
-; -- Begin varbss_init_C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest$c45b815d2\r
-    PUBLIC    varbss_init_C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest$c45b815d2\r
-varbss_init_C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest$c45b815d2 PROC NEAR\r
-  00000 b9 34 00 00 00\r
-        00                  MOVreld   R4, TestStr\r
-  00006 b9 35 00 00 00\r
-        00                  MOVreld   R5, __STRING$0\r
-  0000c 33 5c               MOVnd     @R4, R5\r
-  0000e b9 34 00 00 00\r
-        00                  MOVreld   R4, TestVariable1\r
-  00014 78 0c 04 00         MOVInw    @R4, (0,4)\r
-  00018 04 00               RET\r
-; -- End varbss_init_C:\efi_src\TIANO\Edk\Sample\Universal\Ebc\Dxe\EbcTest\EbcTest$c45b815d2\r
-_VARBSS_INIT    ENDS\r
-_DATA   SEGMENT PARA PUBLIC USE32 'DATA'\r
-_DATA   ENDS\r
-EXTRN   TestSubRoutineSub:PROC\r
-    END\r
+**/\r
 \r
-===============================================================================\r
+/**\r
+\r
+  Load code by symbol by Iec.\r
+\r
+  @param  Name            - Symbol file name\r
+  @param  Buffer          - Symbol file buffer\r
+  @param  BufferSize      - Symbol file buffer size\r
+  @param  CodeBufferSize  - Code buffer size\r
+  @param  FuncOffset      - Code funcion offset\r
 \r
---*/\r
+  @return CodeBuffer\r
+\r
+**/\r
 CHAR8 *\r
 EdbLoadCodBySymbolByIec (\r
   IN CHAR8                       *Name,\r
@@ -1506,25 +1176,6 @@ EdbLoadCodBySymbolByIec (
   OUT UINTN                      *CodeBufferSize,\r
   OUT UINTN                      *FuncOffset\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Load code by symbol by Iec\r
-\r
-Arguments:\r
-\r
-  Name            - Symbol file name\r
-  BufferSize      - Symbol file buffer size\r
-  Buffer          - Symbol file buffer\r
-  CodeBufferSize  - Code buffer size\r
-  FuncOffset      - Code funcion offset\r
-\r
-Returns:\r
-\r
-  CodeBuffer\r
-\r
---*/\r
 {\r
   CHAR8                      *LineBuffer;\r
   CHAR8                      *FieldBuffer;\r
@@ -1532,11 +1183,13 @@ Returns:
   VOID                       *BufferEnd;\r
   UINTN                      Offset;\r
   EDB_EBC_COD_PARSE_STATE    CodParseState;\r
-  CHAR8                      Char[2] = {9, 0};\r
+  CHAR8                      Char[2];\r
 \r
   //\r
   // Init\r
   //\r
+  Char[0] = 9;\r
+  Char[1] = 0;\r
   LineBuffer = AsciiStrGetNewTokenLine (Buffer, "\n\r");\r
   Offset = (UINTN)-1;\r
   BufferStart = NULL;\r
@@ -1648,6 +1301,19 @@ Returns:
   return NULL;\r
 }\r
 \r
+/**\r
+\r
+  Load code by symbol.\r
+\r
+  @param  Name            - Symbol file name\r
+  @param  Buffer          - Symbol file buffer\r
+  @param  BufferSize      - Symbol file buffer size\r
+  @param  CodeBufferSize  - Code buffer size\r
+  @param  FuncOffset      - Code funcion offset\r
+\r
+  @return CodeBuffer\r
+\r
+**/\r
 CHAR8 *\r
 EdbLoadCodBySymbol (\r
   IN CHAR8                       *Name,\r
@@ -1656,25 +1322,6 @@ EdbLoadCodBySymbol (
   OUT UINTN                      *CodeBufferSize,\r
   OUT UINTN                      *FuncOffset\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Load code by symbol\r
-\r
-Arguments:\r
-\r
-  Name            - Symbol file name\r
-  BufferSize      - Symbol file buffer size\r
-  Buffer          - Symbol file buffer\r
-  CodeBufferSize  - Code buffer size\r
-  FuncOffset      - Code funcion offset\r
-\r
-Returns:\r
-\r
-  CodeBuffer\r
-\r
---*/\r
 {\r
   //\r
   // COD file format depends on the compiler.\r
@@ -1685,28 +1332,21 @@ Returns:
   return EdbLoadCodBySymbolByIec (Name, Buffer, BufferSize, CodeBufferSize, FuncOffset);\r
 }\r
 \r
+/**\r
+\r
+  Find code from object.\r
+\r
+  @param  DebuggerPrivate    EBC Debugger private data structure\r
+  @param  Object          - Symbol object\r
+  @param  FileName        - File name\r
+\r
+**/\r
 VOID *\r
 EdbFindCodeFromObject (\r
   IN EFI_DEBUGGER_PRIVATE_DATA   *DebuggerPrivate,\r
   IN EFI_DEBUGGER_SYMBOL_OBJECT  *Object,\r
   IN CHAR16                      *FileName\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Find code from object\r
-\r
-Arguments:\r
-\r
-  Object          - Symbol object\r
-  FileName        - File name\r
-\r
-Returns:\r
-\r
-  CodeBuffer\r
-\r
---*/\r
 {\r
   UINTN                      EntryIndex;\r
 \r
@@ -1747,6 +1387,19 @@ Returns:
   return NULL;\r
 }\r
 \r
+/**\r
+\r
+  Load code.\r
+\r
+  @param  DebuggerPrivate - EBC Debugger private data structure\r
+  @param  MapFileName     - Symbol file name\r
+  @param  FileName        - Code file name\r
+  @param  BufferSize      - Code file buffer size\r
+  @param  Buffer          - Code file buffer\r
+\r
+  @retval EFI_SUCCESS - Code loaded successfully\r
+\r
+**/\r
 EFI_STATUS\r
 EdbLoadCode (\r
   IN EFI_DEBUGGER_PRIVATE_DATA   *DebuggerPrivate,\r
@@ -1755,25 +1408,6 @@ EdbLoadCode (
   IN UINTN                       BufferSize,\r
   IN VOID                        *Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Load code\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  MapFileName     - Symbol file name\r
-  FileName        - Code file name\r
-  BufferSize      - Code file buffer size\r
-  Buffer          - Code file buffer\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - Code loaded successfully\r
-\r
---*/\r
 {\r
   EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
   UINTN                      ObjectIndex;\r
@@ -1865,6 +1499,18 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+\r
+  Unload code.\r
+\r
+  @param  DebuggerPrivate - EBC Debugger private data structure\r
+  @param  MapFileName     - Symbol file name\r
+  @param  FileName        - Code file name\r
+  @param  Buffer          - Code file buffer\r
+\r
+  @retval EFI_SUCCESS - Code unloaded successfully\r
+\r
+**/\r
 EFI_STATUS\r
 EdbUnloadCode (\r
   IN EFI_DEBUGGER_PRIVATE_DATA   *DebuggerPrivate,\r
@@ -1872,24 +1518,6 @@ EdbUnloadCode (
   IN CHAR16                      *FileName,\r
   OUT VOID                       **Buffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Unload code\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  MapFileName     - Symbol file name\r
-  FileName        - Code file name\r
-  Buffer          - Code file buffer\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - Code unloaded successfully\r
-\r
---*/\r
 {\r
   EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
   UINTN                      ObjectIndex;\r
@@ -1942,6 +1570,19 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+\r
+  Add code buffer.\r
+\r
+  @param  DebuggerPrivate - EBC Debugger private data structure\r
+  @param  MapFileName     - Symbol file name\r
+  @param  CodeFileName    - Code file name\r
+  @param  SourceBufferSize- Code buffer size\r
+  @param  SourceBuffer    - Code buffer\r
+\r
+  @retval EFI_SUCCESS - CodeBuffer added successfully\r
+\r
+**/\r
 EFI_STATUS\r
 EdbAddCodeBuffer (\r
   IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
@@ -1950,25 +1591,6 @@ EdbAddCodeBuffer (
   IN     UINTN                     SourceBufferSize,\r
   IN     VOID                      *SourceBuffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Add code buffer\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  MapFileName     - Symbol file name\r
-  CodeFileName    - Code file name\r
-  SourceBufferSize- Code buffer size\r
-  SourceBuffer    - Code buffer\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - CodeBuffer added successfully\r
-\r
---*/\r
 {\r
   UINTN                      Index;\r
   EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
@@ -1993,6 +1615,18 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+\r
+  Delete code buffer.\r
+\r
+  @param  DebuggerPrivate - EBC Debugger private data structure\r
+  @param  MapFileName     - Symbol file name\r
+  @param  CodeFileName    - Code file name\r
+  @param  SourceBuffer    - Code buffer\r
+\r
+  @retval EFI_SUCCESS - CodeBuffer deleted successfully\r
+\r
+**/\r
 EFI_STATUS\r
 EdbDeleteCodeBuffer (\r
   IN     EFI_DEBUGGER_PRIVATE_DATA *DebuggerPrivate,\r
@@ -2000,24 +1634,6 @@ EdbDeleteCodeBuffer (
   IN     CHAR16                    *CodeFileName,\r
   IN     VOID                      *SourceBuffer\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Delete code buffer\r
-\r
-Arguments:\r
-\r
-  DebuggerPrivate - EBC Debugger private data structure\r
-  MapFileName     - Symbol file name\r
-  CodeFileName    - Code file name\r
-  SourceBuffer    - Code buffer\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - CodeBuffer deleted successfully\r
-\r
---*/\r
 {\r
   UINTN                      Index;\r
   EFI_DEBUGGER_SYMBOL_OBJECT *Object;\r
@@ -2060,25 +1676,19 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
-CHAR8 *\r
-FindSymbolStr (\r
-  IN UINTN Address\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
+/**\r
 \r
-  Find the symbol string according to address\r
+  Find the symbol string according to address.\r
 \r
-Arguments:\r
+  @param  Address         - Symbol address\r
 \r
-  Address         - Symbol address\r
+  @return Symbol string\r
 \r
-Returns:\r
-\r
-  Symbol string\r
-\r
---*/\r
+**/\r
+CHAR8 *\r
+FindSymbolStr (\r
+  IN UINTN Address\r
+  )\r
 {\r
   UINTN                       ObjectIndex;\r
   EFI_DEBUGGER_SYMBOL_OBJECT  *Object;\r
@@ -2114,27 +1724,21 @@ Returns:
   return NULL;\r
 }\r
 \r
+/**\r
+\r
+  Get line number and offset from this line in code file.\r
+\r
+  @param  Line            - Line buffer in code file\r
+  @param  Offset          - Offset to functin entry\r
+\r
+  @return Line number\r
+\r
+**/\r
 UINTN\r
 EdbGetLineNumberAndOffsetFromThisLine (\r
   IN VOID     *Line,\r
   OUT UINTN   *Offset\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get line number and offset from this line in code file\r
-\r
-Arguments:\r
-\r
-  Line            - Line buffer in code file\r
-  Offset          - Offset to functin entry\r
-\r
-Returns:\r
-\r
-  Line number\r
-\r
---*/\r
 {\r
   UINTN  LineNumber;\r
   CHAR8  *LineBuffer;\r
@@ -2213,29 +1817,23 @@ typedef enum {
   EdbEbcLineSearchTypeMax,\r
 } EDB_EBC_LINE_SEARCH_TYPE;\r
 \r
+/**\r
+\r
+  Get line number from this code file.\r
+\r
+  @param  Entry           - Symbol entry\r
+  @param  FuncOffset      - Offset to functin entry\r
+  @param  SearchType      - Search type for the code\r
+\r
+  @return Line number\r
+\r
+**/\r
 UINTN\r
 EdbGetLineNumberFromCode (\r
   IN EFI_DEBUGGER_SYMBOL_ENTRY  *Entry,\r
   IN UINTN                      FuncOffset,\r
   IN EDB_EBC_LINE_SEARCH_TYPE   SearchType\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get line number from this code file\r
-\r
-Arguments:\r
-\r
-  Entry           - Symbol entry\r
-  FuncOffset      - Offset to functin entry\r
-  SearchType      - Search type for the code\r
-\r
-Returns:\r
-\r
-  Line number\r
-\r
---*/\r
 {\r
   CHAR8  *LineBuffer;\r
   UINTN  LineNumber;\r
@@ -2330,29 +1928,23 @@ Returns:
   return (UINTN)-1;\r
 }\r
 \r
+/**\r
+\r
+  Get the source string from this code file by line.\r
+\r
+  @param  Entry           - Symbol entry\r
+  @param  LineNumber      - line number\r
+  @param  FuncEnd         - Function end\r
+\r
+  @return Funtion start\r
+\r
+**/\r
 VOID *\r
 EdbGetSourceStrFromCodeByLine (\r
   IN EFI_DEBUGGER_SYMBOL_ENTRY  *Entry,\r
   IN UINTN                      LineNumber,\r
   IN VOID                       **FuncEnd\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get the source string from this code file by line\r
-\r
-Arguments:\r
-\r
-  Entry           - Symbol entry\r
-  LineNumber      - line number\r
-  FuncEnd         - Function end\r
-\r
-Returns:\r
-\r
-  Funtion start\r
-\r
---*/\r
 {\r
   CHAR8  *LineBuffer;\r
   CHAR8  *FieldBuffer;\r
@@ -2402,29 +1994,23 @@ Returns:
   return NULL;\r
 }\r
 \r
+/**\r
+\r
+  Get source string from this code file.\r
+\r
+  @param  Entry           - Symbol entry\r
+  @param  FuncOffset      - Offset to functin entry\r
+  @param  FuncEnd         - Function end\r
+\r
+  @retval Funtion start\r
+\r
+**/\r
 VOID *\r
 EdbGetSourceStrFromCode (\r
   IN EFI_DEBUGGER_SYMBOL_ENTRY  *Entry,\r
   IN UINTN                      FuncOffset,\r
   IN VOID                       **FuncEnd\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get source string from this code file\r
-\r
-Arguments:\r
-\r
-  Entry           - Symbol entry\r
-  FuncOffset      - Offset to functin entry\r
-  FuncEnd         - Function end\r
-\r
-Returns:\r
-\r
-  Funtion start\r
-\r
---*/\r
 {\r
   UINTN  LineNumber;\r
 \r
@@ -2439,28 +2025,22 @@ Returns:
   return EdbGetSourceStrFromCodeByLine (Entry, LineNumber, FuncEnd);\r
 }\r
 \r
+/**\r
+\r
+  Print source.\r
+\r
+  @param  Address         - Instruction address\r
+  @param  IsPrint         - Whether need to print\r
+\r
+  @retval 1 - find the source\r
+  @retval 0 - not find the source\r
+\r
+**/\r
 UINTN\r
 EdbPrintSource (\r
   IN UINTN     Address,\r
   IN BOOLEAN   IsPrint\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Print source\r
-\r
-Arguments:\r
-\r
-  Address         - Instruction address\r
-  IsPrint         - Whether need to print\r
-\r
-Returns:\r
-\r
-  1 - find the source\r
-  0 - not find the source\r
-\r
---*/\r
 {\r
   UINTN                      SymbolAddress;\r
   EFI_DEBUGGER_SYMBOL_OBJECT *RetObject;\r
@@ -2542,29 +2122,21 @@ Returns:
   return 1 ;\r
 }\r
 \r
+/**\r
+\r
+  Get Mapfile and SymbolName from one symbol format: [MapFileName:]SymbolName.\r
+\r
+  @param  Symbol          - whole Symbol name\r
+  @param  MapfileName     - the mapfile name in the symbol\r
+  @param  SymbolName      - the symbol name in the symbol\r
+\r
+**/\r
 VOID\r
 GetMapfileAndSymbol (\r
   IN CHAR16   *Symbol,\r
   OUT CHAR16  **MapfileName,\r
   OUT CHAR16  **SymbolName\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Get Mapfile and SymbolName from one symbol format: [MapFileName:]SymbolName\r
-\r
-Arguments:\r
-\r
-  Symbol          - whole Symbol name\r
-  MapfileName     - the mapfile name in the symbol\r
-  SymbolName      - the symbol name in the symbol\r
-\r
-Returns:\r
-\r
-  None\r
-\r
---*/\r
 {\r
   CHAR16  *Ch;\r
 \r
@@ -2586,29 +2158,23 @@ Returns:
   return ;\r
 }\r
 \r
+/**\r
+\r
+  Convert a symbol to an address.\r
+\r
+  @param  Symbol          - Symbol name\r
+  @param  Address         - Symbol address\r
+\r
+  @retval EFI_SUCCESS    - symbol found and address returned.\r
+  @retval EFI_NOT_FOUND  - symbol not found\r
+  @retval EFI_NO_MAPPING - duplicated symbol not found\r
+\r
+**/\r
 EFI_STATUS\r
 Symboltoi (\r
   IN CHAR16   *Symbol,\r
   OUT UINTN   *Address\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  Convert a symbol to an address\r
-\r
-Arguments:\r
-\r
-  Symbol          - Symbol name\r
-  Address         - Symbol address\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS    - symbol found and address returned.\r
-  EFI_NOT_FOUND  - symbol not found\r
-  EFI_NO_MAPPING - duplicated symbol not found\r
-\r
---*/\r
 {\r
   UINTN                       ObjectIndex;\r
   EFI_DEBUGGER_SYMBOL_OBJECT  *Object;\r