]> git.proxmox.com Git - mirror_edk2.git/commitdiff
SourceLevelDebugPkg: Apply uncrustify changes
authorMichael Kubacki <michael.kubacki@microsoft.com>
Sun, 5 Dec 2021 22:54:15 +0000 (14:54 -0800)
committermergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
Tue, 7 Dec 2021 17:24:28 +0000 (17:24 +0000)
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=3737

Apply uncrustify changes to .c/.h files in the SourceLevelDebugPkg package

Cc: Andrew Fish <afish@apple.com>
Cc: Leif Lindholm <leif@nuviainc.com>
Cc: Michael D Kinney <michael.d.kinney@intel.com>
Signed-off-by: Michael Kubacki <michael.kubacki@microsoft.com>
Reviewed-by: Hao A Wu <hao.a.wu@intel.com>
Reviewed-by: Ray Ni <ray.ni@intel.com>
35 files changed:
SourceLevelDebugPkg/DebugAgentDxe/DebugAgentDxe.c
SourceLevelDebugPkg/DebugAgentPei/DebugAgentPei.c
SourceLevelDebugPkg/Include/Guid/DebugAgentGuid.h
SourceLevelDebugPkg/Include/Ia32/ProcessorContext.h
SourceLevelDebugPkg/Include/ImageDebugSupport.h
SourceLevelDebugPkg/Include/Library/DebugCommunicationLib.h
SourceLevelDebugPkg/Include/TransferProtocol.h
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.c
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugAgent.h
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugMp.c
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugMp.h
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.c
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/DebugTimer.h
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/ArchDebugSupport.c
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/ArchDebugSupport.h
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/Ia32/DebugException.h
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/ArchDebugSupport.c
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/ArchDebugSupport.h
SourceLevelDebugPkg/Library/DebugAgent/DebugAgentCommon/X64/DebugException.h
SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgent/DxeDebugAgentLib.c
SourceLevelDebugPkg/Library/DebugAgent/DxeDebugAgent/SerialIo.c
SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.c
SourceLevelDebugPkg/Library/DebugAgent/SecPeiDebugAgent/SecPeiDebugAgentLib.h
SourceLevelDebugPkg/Library/DebugAgent/SmmDebugAgent/SmmDebugAgentLib.c
SourceLevelDebugPkg/Library/DebugCommunicationLibSerialPort/DebugCommunicationLibSerialPort.c
SourceLevelDebugPkg/Library/DebugCommunicationLibUsb/DebugCommunicationLibUsb.c
SourceLevelDebugPkg/Library/DebugCommunicationLibUsb3/DebugCommunicationLibUsb3Common.c
SourceLevelDebugPkg/Library/DebugCommunicationLibUsb3/DebugCommunicationLibUsb3Dxe.c
SourceLevelDebugPkg/Library/DebugCommunicationLibUsb3/DebugCommunicationLibUsb3Internal.h
SourceLevelDebugPkg/Library/DebugCommunicationLibUsb3/DebugCommunicationLibUsb3Pei.c
SourceLevelDebugPkg/Library/DebugCommunicationLibUsb3/DebugCommunicationLibUsb3Transfer.c
SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/Ia32/IntHandlerFuncs.c
SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLib.c
SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/PeCoffExtraActionLib.h
SourceLevelDebugPkg/Library/PeCoffExtraActionLibDebug/X64/IntHandlerFuncs.c

index 33fc9f3646dc5be1d93edefc3fe5f0eea4ac31bc..d08052abab85d144f90f14fce7751cb4ff9527b8 100644 (file)
@@ -12,7 +12,7 @@ SPDX-License-Identifier: BSD-2-Clause-Patent
 #include <Library/DebugAgentLib.h>\r
 #include <Library/UefiLib.h>\r
 \r
-EFI_EVENT       mExitBootServiceEvent;\r
+EFI_EVENT  mExitBootServiceEvent;\r
 \r
 /**\r
   One notified function to disable Debug Timer interrupt when gBS->ExitBootServices() called.\r
@@ -24,8 +24,8 @@ EFI_EVENT       mExitBootServiceEvent;
 VOID\r
 EFIAPI\r
 DisableDebugTimerExitBootService (\r
-  EFI_EVENT                      Event,\r
-  VOID                           *Context\r
+  EFI_EVENT  Event,\r
+  VOID       *Context\r
   )\r
 \r
 {\r
@@ -46,12 +46,12 @@ DisableDebugTimerExitBootService (
 **/\r
 EFI_STATUS\r
 EFIAPI\r
-DebugAgentDxeInitialize(\r
-  IN EFI_HANDLE           ImageHandle,\r
-  IN EFI_SYSTEM_TABLE     *SystemTable\r
+DebugAgentDxeInitialize (\r
+  IN EFI_HANDLE        ImageHandle,\r
+  IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  EFI_STATUS      Status;\r
+  EFI_STATUS  Status;\r
 \r
   if (gST->ConOut != NULL) {\r
     Print (L"If the Debug Port is serial port, please make sure this serial port isn't connected by");\r
@@ -81,14 +81,17 @@ DebugAgentDxeInitialize(
     Print (L"3: Shell> disconnect EA\r\n");\r
     Print (L"4: Shell> load -nc DebugAgentDxe.efi\r\n\r\n");\r
   }\r
+\r
   Status = EFI_UNSUPPORTED;\r
   InitializeDebugAgent (DEBUG_AGENT_INIT_DXE_LOAD, &Status, NULL);\r
   if (EFI_ERROR (Status)) {\r
     return Status;\r
   }\r
+\r
   if (gST->ConOut != NULL) {\r
     Print (L"Debug Agent: Initialized successfully!\r\n\r\n");\r
   }\r
+\r
   //\r
   // Create event to disable Debug Timer interrupt when exit boot service.\r
   //\r
@@ -117,20 +120,20 @@ DebugAgentDxeInitialize(
 EFI_STATUS\r
 EFIAPI\r
 DebugAgentDxeUnload (\r
-  IN EFI_HANDLE           ImageHandle\r
+  IN EFI_HANDLE  ImageHandle\r
   )\r
 {\r
-  EFI_STATUS          Status;\r
+  EFI_STATUS  Status;\r
 \r
   Status = EFI_UNSUPPORTED;\r
   InitializeDebugAgent (DEBUG_AGENT_INIT_DXE_UNLOAD, &Status, NULL);\r
   switch (Status) {\r
-  case EFI_ACCESS_DENIED:\r
-    Print (L"Debug Agent: Host is still connected, please de-attach TARGET firstly!\r\n");\r
-    break;\r
-  case EFI_NOT_STARTED:\r
-    Print (L"Debug Agent: It hasn't been initialized, cannot unload it!\r\n");\r
-    break;\r
+    case EFI_ACCESS_DENIED:\r
+      Print (L"Debug Agent: Host is still connected, please de-attach TARGET firstly!\r\n");\r
+      break;\r
+    case EFI_NOT_STARTED:\r
+      Print (L"Debug Agent: It hasn't been initialized, cannot unload it!\r\n");\r
+      break;\r
   }\r
 \r
   return Status;\r
index fc2a8f75abf76a2a99954733e034fedfe8b53dfe..1f31ae02bc21904adad396a51659b28543b45fad 100644 (file)
@@ -31,7 +31,7 @@ DebugAgentPeiInitialize (
   IN CONST EFI_PEI_SERVICES  **PeiServices\r
   )\r
 {\r
-  EFI_STATUS                 Status;\r
+  EFI_STATUS  Status;\r
 \r
   Status = EFI_UNSUPPORTED;\r
   InitializeDebugAgent (DEBUG_AGENT_INIT_PEI, &Status, NULL);\r
index bcaa2ef0fa237f80de6bfeda041d3b2a43133582..3fb53b70e530e3f4b60ce35e93c9d448f5c520e9 100644 (file)
@@ -21,6 +21,6 @@
     0x865a5a9b, 0xb85d, 0x474c, { 0x84, 0x55, 0x65, 0xd1, 0xbe, 0x84, 0x4b, 0xe2 } \\r
   }\r
 \r
-extern EFI_GUID gEfiDebugAgentGuid;\r
+extern EFI_GUID  gEfiDebugAgentGuid;\r
 \r
 #endif\r
index 2c5cf03cec905c06862cd85be009c8e983caeca9..5989478b4222b44b5a57cff1f5bdfa6bfec19cbf 100644 (file)
 #define SOFT_DEBUGGER_REGISTER_CR3     0x17\r
 #define SOFT_DEBUGGER_REGISTER_CR4     0x18\r
 \r
-#define SOFT_DEBUGGER_REGISTER_DI      0x19\r
-#define SOFT_DEBUGGER_REGISTER_SI      0x1A\r
-#define SOFT_DEBUGGER_REGISTER_BP      0x1B\r
-#define SOFT_DEBUGGER_REGISTER_SP      0x1C\r
-#define SOFT_DEBUGGER_REGISTER_DX      0x1D\r
-#define SOFT_DEBUGGER_REGISTER_CX      0x1E\r
-#define SOFT_DEBUGGER_REGISTER_BX      0x1F\r
-#define SOFT_DEBUGGER_REGISTER_AX      0x20\r
+#define SOFT_DEBUGGER_REGISTER_DI  0x19\r
+#define SOFT_DEBUGGER_REGISTER_SI  0x1A\r
+#define SOFT_DEBUGGER_REGISTER_BP  0x1B\r
+#define SOFT_DEBUGGER_REGISTER_SP  0x1C\r
+#define SOFT_DEBUGGER_REGISTER_DX  0x1D\r
+#define SOFT_DEBUGGER_REGISTER_CX  0x1E\r
+#define SOFT_DEBUGGER_REGISTER_BX  0x1F\r
+#define SOFT_DEBUGGER_REGISTER_AX  0x20\r
 \r
 //\r
 // This below registers are only available for x64 (not valid for Ia32 mode)\r
 //\r
-#define SOFT_DEBUGGER_REGISTER_CR8     0x21\r
-#define SOFT_DEBUGGER_REGISTER_R8      0x22\r
-#define SOFT_DEBUGGER_REGISTER_R9      0x23\r
-#define SOFT_DEBUGGER_REGISTER_R10     0x24\r
-#define SOFT_DEBUGGER_REGISTER_R11     0x25\r
-#define SOFT_DEBUGGER_REGISTER_R12     0x26\r
-#define SOFT_DEBUGGER_REGISTER_R13     0x27\r
-#define SOFT_DEBUGGER_REGISTER_R14     0x28\r
-#define SOFT_DEBUGGER_REGISTER_R15     0x29\r
+#define SOFT_DEBUGGER_REGISTER_CR8  0x21\r
+#define SOFT_DEBUGGER_REGISTER_R8   0x22\r
+#define SOFT_DEBUGGER_REGISTER_R9   0x23\r
+#define SOFT_DEBUGGER_REGISTER_R10  0x24\r
+#define SOFT_DEBUGGER_REGISTER_R11  0x25\r
+#define SOFT_DEBUGGER_REGISTER_R12  0x26\r
+#define SOFT_DEBUGGER_REGISTER_R13  0x27\r
+#define SOFT_DEBUGGER_REGISTER_R14  0x28\r
+#define SOFT_DEBUGGER_REGISTER_R15  0x29\r
 \r
 //\r
 // This below registers are FP / MMX / XMM registers\r
 //\r
-#define SOFT_DEBUGGER_REGISTER_FP_BASE            0x30\r
+#define SOFT_DEBUGGER_REGISTER_FP_BASE  0x30\r
 \r
-#define SOFT_DEBUGGER_REGISTER_FP_FCW          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x00)\r
-#define SOFT_DEBUGGER_REGISTER_FP_FSW          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x01)\r
-#define SOFT_DEBUGGER_REGISTER_FP_FTW          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x02)\r
-#define SOFT_DEBUGGER_REGISTER_FP_OPCODE       (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x03)\r
-#define SOFT_DEBUGGER_REGISTER_FP_EIP          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x04)\r
-#define SOFT_DEBUGGER_REGISTER_FP_CS           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x05)\r
-#define SOFT_DEBUGGER_REGISTER_FP_DATAOFFSET   (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x06)\r
-#define SOFT_DEBUGGER_REGISTER_FP_DS           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x07)\r
-#define SOFT_DEBUGGER_REGISTER_FP_MXCSR        (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x08)\r
-#define SOFT_DEBUGGER_REGISTER_FP_MXCSR_MASK   (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x09)\r
-#define SOFT_DEBUGGER_REGISTER_ST0             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0A)\r
-#define SOFT_DEBUGGER_REGISTER_ST1             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0B)\r
-#define SOFT_DEBUGGER_REGISTER_ST2             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0C)\r
-#define SOFT_DEBUGGER_REGISTER_ST3             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0D)\r
-#define SOFT_DEBUGGER_REGISTER_ST4             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0E)\r
-#define SOFT_DEBUGGER_REGISTER_ST5             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0F)\r
-#define SOFT_DEBUGGER_REGISTER_ST6             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x10)\r
-#define SOFT_DEBUGGER_REGISTER_ST7             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x11)\r
-#define SOFT_DEBUGGER_REGISTER_XMM0            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x12)\r
-#define SOFT_DEBUGGER_REGISTER_XMM1            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x13)\r
-#define SOFT_DEBUGGER_REGISTER_XMM2            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x14)\r
-#define SOFT_DEBUGGER_REGISTER_XMM3            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x15)\r
-#define SOFT_DEBUGGER_REGISTER_XMM4            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x16)\r
-#define SOFT_DEBUGGER_REGISTER_XMM5            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x17)\r
-#define SOFT_DEBUGGER_REGISTER_XMM6            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x18)\r
-#define SOFT_DEBUGGER_REGISTER_XMM7            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x19)\r
-#define SOFT_DEBUGGER_REGISTER_XMM8            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1A)\r
-#define SOFT_DEBUGGER_REGISTER_XMM9            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1B)\r
-#define SOFT_DEBUGGER_REGISTER_XMM10           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1C)\r
-#define SOFT_DEBUGGER_REGISTER_XMM11           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1D)\r
-#define SOFT_DEBUGGER_REGISTER_XMM12           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1E)\r
-#define SOFT_DEBUGGER_REGISTER_XMM13           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1F)\r
-#define SOFT_DEBUGGER_REGISTER_XMM14           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x20)\r
-#define SOFT_DEBUGGER_REGISTER_XMM15           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x21)\r
-#define SOFT_DEBUGGER_REGISTER_MM0             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x22)\r
-#define SOFT_DEBUGGER_REGISTER_MM1             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x23)\r
-#define SOFT_DEBUGGER_REGISTER_MM2             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x24)\r
-#define SOFT_DEBUGGER_REGISTER_MM3             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x25)\r
-#define SOFT_DEBUGGER_REGISTER_MM4             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x26)\r
-#define SOFT_DEBUGGER_REGISTER_MM5             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x27)\r
-#define SOFT_DEBUGGER_REGISTER_MM6             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x28)\r
-#define SOFT_DEBUGGER_REGISTER_MM7             (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x29)\r
+#define SOFT_DEBUGGER_REGISTER_FP_FCW         (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x00)\r
+#define SOFT_DEBUGGER_REGISTER_FP_FSW         (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x01)\r
+#define SOFT_DEBUGGER_REGISTER_FP_FTW         (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x02)\r
+#define SOFT_DEBUGGER_REGISTER_FP_OPCODE      (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x03)\r
+#define SOFT_DEBUGGER_REGISTER_FP_EIP         (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x04)\r
+#define SOFT_DEBUGGER_REGISTER_FP_CS          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x05)\r
+#define SOFT_DEBUGGER_REGISTER_FP_DATAOFFSET  (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x06)\r
+#define SOFT_DEBUGGER_REGISTER_FP_DS          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x07)\r
+#define SOFT_DEBUGGER_REGISTER_FP_MXCSR       (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x08)\r
+#define SOFT_DEBUGGER_REGISTER_FP_MXCSR_MASK  (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x09)\r
+#define SOFT_DEBUGGER_REGISTER_ST0            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0A)\r
+#define SOFT_DEBUGGER_REGISTER_ST1            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0B)\r
+#define SOFT_DEBUGGER_REGISTER_ST2            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0C)\r
+#define SOFT_DEBUGGER_REGISTER_ST3            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0D)\r
+#define SOFT_DEBUGGER_REGISTER_ST4            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0E)\r
+#define SOFT_DEBUGGER_REGISTER_ST5            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x0F)\r
+#define SOFT_DEBUGGER_REGISTER_ST6            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x10)\r
+#define SOFT_DEBUGGER_REGISTER_ST7            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x11)\r
+#define SOFT_DEBUGGER_REGISTER_XMM0           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x12)\r
+#define SOFT_DEBUGGER_REGISTER_XMM1           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x13)\r
+#define SOFT_DEBUGGER_REGISTER_XMM2           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x14)\r
+#define SOFT_DEBUGGER_REGISTER_XMM3           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x15)\r
+#define SOFT_DEBUGGER_REGISTER_XMM4           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x16)\r
+#define SOFT_DEBUGGER_REGISTER_XMM5           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x17)\r
+#define SOFT_DEBUGGER_REGISTER_XMM6           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x18)\r
+#define SOFT_DEBUGGER_REGISTER_XMM7           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x19)\r
+#define SOFT_DEBUGGER_REGISTER_XMM8           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1A)\r
+#define SOFT_DEBUGGER_REGISTER_XMM9           (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1B)\r
+#define SOFT_DEBUGGER_REGISTER_XMM10          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1C)\r
+#define SOFT_DEBUGGER_REGISTER_XMM11          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1D)\r
+#define SOFT_DEBUGGER_REGISTER_XMM12          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1E)\r
+#define SOFT_DEBUGGER_REGISTER_XMM13          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x1F)\r
+#define SOFT_DEBUGGER_REGISTER_XMM14          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x20)\r
+#define SOFT_DEBUGGER_REGISTER_XMM15          (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x21)\r
+#define SOFT_DEBUGGER_REGISTER_MM0            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x22)\r
+#define SOFT_DEBUGGER_REGISTER_MM1            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x23)\r
+#define SOFT_DEBUGGER_REGISTER_MM2            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x24)\r
+#define SOFT_DEBUGGER_REGISTER_MM3            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x25)\r
+#define SOFT_DEBUGGER_REGISTER_MM4            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x26)\r
+#define SOFT_DEBUGGER_REGISTER_MM5            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x27)\r
+#define SOFT_DEBUGGER_REGISTER_MM6            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x28)\r
+#define SOFT_DEBUGGER_REGISTER_MM7            (SOFT_DEBUGGER_REGISTER_FP_BASE + 0x29)\r
 \r
-#define SOFT_DEBUGGER_REGISTER_MAX             SOFT_DEBUGGER_REGISTER_MM7\r
+#define SOFT_DEBUGGER_REGISTER_MAX  SOFT_DEBUGGER_REGISTER_MM7\r
 \r
-#define SOFT_DEBUGGER_MSR_EFER                 (0xC0000080)\r
+#define SOFT_DEBUGGER_MSR_EFER  (0xC0000080)\r
 \r
 #pragma pack(1)\r
 \r
 /// FP / MMX / XMM registers (see fxrstor instruction definition)\r
 ///\r
 typedef struct {\r
-  UINT16  Fcw;\r
-  UINT16  Fsw;\r
-  UINT16  Ftw;\r
-  UINT16  Opcode;\r
-  UINT32  Eip;\r
-  UINT16  Cs;\r
-  UINT16  Reserved1;\r
-  UINT32  DataOffset;\r
-  UINT16  Ds;\r
-  UINT8   Reserved2[2];\r
-  UINT32  Mxcsr;\r
-  UINT32  Mxcsr_Mask;\r
-  UINT8   St0Mm0[10];\r
-  UINT8   Reserved3[6];\r
-  UINT8   St1Mm1[10];\r
-  UINT8   Reserved4[6];\r
-  UINT8   St2Mm2[10];\r
-  UINT8   Reserved5[6];\r
-  UINT8   St3Mm3[10];\r
-  UINT8   Reserved6[6];\r
-  UINT8   St4Mm4[10];\r
-  UINT8   Reserved7[6];\r
-  UINT8   St5Mm5[10];\r
-  UINT8   Reserved8[6];\r
-  UINT8   St6Mm6[10];\r
-  UINT8   Reserved9[6];\r
-  UINT8   St7Mm7[10];\r
-  UINT8   Reserved10[6];\r
-  UINT8   Xmm0[16];\r
-  UINT8   Xmm1[16];\r
-  UINT8   Xmm2[16];\r
-  UINT8   Xmm3[16];\r
-  UINT8   Xmm4[16];\r
-  UINT8   Xmm5[16];\r
-  UINT8   Xmm6[16];\r
-  UINT8   Xmm7[16];\r
-  UINT8   Reserved11[14 * 16];\r
+  UINT16    Fcw;\r
+  UINT16    Fsw;\r
+  UINT16    Ftw;\r
+  UINT16    Opcode;\r
+  UINT32    Eip;\r
+  UINT16    Cs;\r
+  UINT16    Reserved1;\r
+  UINT32    DataOffset;\r
+  UINT16    Ds;\r
+  UINT8     Reserved2[2];\r
+  UINT32    Mxcsr;\r
+  UINT32    Mxcsr_Mask;\r
+  UINT8     St0Mm0[10];\r
+  UINT8     Reserved3[6];\r
+  UINT8     St1Mm1[10];\r
+  UINT8     Reserved4[6];\r
+  UINT8     St2Mm2[10];\r
+  UINT8     Reserved5[6];\r
+  UINT8     St3Mm3[10];\r
+  UINT8     Reserved6[6];\r
+  UINT8     St4Mm4[10];\r
+  UINT8     Reserved7[6];\r
+  UINT8     St5Mm5[10];\r
+  UINT8     Reserved8[6];\r
+  UINT8     St6Mm6[10];\r
+  UINT8     Reserved9[6];\r
+  UINT8     St7Mm7[10];\r
+  UINT8     Reserved10[6];\r
+  UINT8     Xmm0[16];\r
+  UINT8     Xmm1[16];\r
+  UINT8     Xmm2[16];\r
+  UINT8     Xmm3[16];\r
+  UINT8     Xmm4[16];\r
+  UINT8     Xmm5[16];\r
+  UINT8     Xmm6[16];\r
+  UINT8     Xmm7[16];\r
+  UINT8     Reserved11[14 * 16];\r
 } DEBUG_DATA_IA32_FX_SAVE_STATE;\r
 \r
 ///\r
 ///  IA-32 processor context definition\r
 ///\r
 typedef struct {\r
-  UINT32                         ExceptionData;\r
-  DEBUG_DATA_IA32_FX_SAVE_STATE  FxSaveState;\r
-  UINT32                         Dr0;\r
-  UINT32                         Dr1;\r
-  UINT32                         Dr2;\r
-  UINT32                         Dr3;\r
-  UINT32                         Dr6;\r
-  UINT32                         Dr7;\r
-  UINT32                         Eflags;\r
-  UINT32                         Ldtr;\r
-  UINT32                         Tr;\r
-  UINT32                         Gdtr[2];\r
-  UINT32                         Idtr[2];\r
-  UINT32                         Eip;\r
-  UINT32                         Gs;\r
-  UINT32                         Fs;\r
-  UINT32                         Es;\r
-  UINT32                         Ds;\r
-  UINT32                         Cs;\r
-  UINT32                         Ss;\r
-  UINT32                         Cr0;\r
-  UINT32                         Cr1;  ///< Reserved\r
-  UINT32                         Cr2;\r
-  UINT32                         Cr3;\r
-  UINT32                         Cr4;\r
-  UINT32                         Edi;\r
-  UINT32                         Esi;\r
-  UINT32                         Ebp;\r
-  UINT32                         Esp;\r
-  UINT32                         Edx;\r
-  UINT32                         Ecx;\r
-  UINT32                         Ebx;\r
-  UINT32                         Eax;\r
+  UINT32                           ExceptionData;\r
+  DEBUG_DATA_IA32_FX_SAVE_STATE    FxSaveState;\r
+  UINT32                           Dr0;\r
+  UINT32                           Dr1;\r
+  UINT32                           Dr2;\r
+  UINT32                           Dr3;\r
+  UINT32                           Dr6;\r
+  UINT32                           Dr7;\r
+  UINT32                           Eflags;\r
+  UINT32                           Ldtr;\r
+  UINT32                           Tr;\r
+  UINT32                           Gdtr[2];\r
+  UINT32                           Idtr[2];\r
+  UINT32                           Eip;\r
+  UINT32                           Gs;\r
+  UINT32                           Fs;\r
+  UINT32                           Es;\r
+  UINT32                           Ds;\r
+  UINT32                           Cs;\r
+  UINT32                           Ss;\r
+  UINT32                           Cr0;\r
+  UINT32                           Cr1; ///< Reserved\r
+  UINT32                           Cr2;\r
+  UINT32                           Cr3;\r
+  UINT32                           Cr4;\r
+  UINT32                           Edi;\r
+  UINT32                           Esi;\r
+  UINT32                           Ebp;\r
+  UINT32                           Esp;\r
+  UINT32                           Edx;\r
+  UINT32                           Ecx;\r
+  UINT32                           Ebx;\r
+  UINT32                           Eax;\r
 } DEBUG_DATA_IA32_SYSTEM_CONTEXT;\r
 \r
 ///\r
@@ -203,102 +203,101 @@ typedef struct {
 /// FP / MMX / XMM registers (see fxrstor instruction definition)\r
 ///\r
 typedef struct {\r
-  UINT16  Fcw;\r
-  UINT16  Fsw;\r
-  UINT16  Ftw;\r
-  UINT16  Opcode;\r
-  UINT32  Eip;\r
-  UINT16  Cs;\r
-  UINT16  Reserved1;\r
-  UINT32  DataOffset;\r
-  UINT16  Ds;\r
-  UINT8   Reserved2[2];\r
-  UINT32  Mxcsr;\r
-  UINT32  Mxcsr_Mask;\r
-  UINT8   St0Mm0[10];\r
-  UINT8   Reserved3[6];\r
-  UINT8   St1Mm1[10];\r
-  UINT8   Reserved4[6];\r
-  UINT8   St2Mm2[10];\r
-  UINT8   Reserved5[6];\r
-  UINT8   St3Mm3[10];\r
-  UINT8   Reserved6[6];\r
-  UINT8   St4Mm4[10];\r
-  UINT8   Reserved7[6];\r
-  UINT8   St5Mm5[10];\r
-  UINT8   Reserved8[6];\r
-  UINT8   St6Mm6[10];\r
-  UINT8   Reserved9[6];\r
-  UINT8   St7Mm7[10];\r
-  UINT8   Reserved10[6];\r
-  UINT8   Xmm0[16];\r
-  UINT8   Xmm1[16];\r
-  UINT8   Xmm2[16];\r
-  UINT8   Xmm3[16];\r
-  UINT8   Xmm4[16];\r
-  UINT8   Xmm5[16];\r
-  UINT8   Xmm6[16];\r
-  UINT8   Xmm7[16];\r
-  UINT8   Xmm8[16];\r
-  UINT8   Xmm9[16];\r
-  UINT8   Xmm10[16];\r
-  UINT8   Xmm11[16];\r
-  UINT8   Xmm12[16];\r
-  UINT8   Xmm13[16];\r
-  UINT8   Xmm14[16];\r
-  UINT8   Xmm15[16];\r
-  UINT8   Reserved11[6 * 16];\r
+  UINT16    Fcw;\r
+  UINT16    Fsw;\r
+  UINT16    Ftw;\r
+  UINT16    Opcode;\r
+  UINT32    Eip;\r
+  UINT16    Cs;\r
+  UINT16    Reserved1;\r
+  UINT32    DataOffset;\r
+  UINT16    Ds;\r
+  UINT8     Reserved2[2];\r
+  UINT32    Mxcsr;\r
+  UINT32    Mxcsr_Mask;\r
+  UINT8     St0Mm0[10];\r
+  UINT8     Reserved3[6];\r
+  UINT8     St1Mm1[10];\r
+  UINT8     Reserved4[6];\r
+  UINT8     St2Mm2[10];\r
+  UINT8     Reserved5[6];\r
+  UINT8     St3Mm3[10];\r
+  UINT8     Reserved6[6];\r
+  UINT8     St4Mm4[10];\r
+  UINT8     Reserved7[6];\r
+  UINT8     St5Mm5[10];\r
+  UINT8     Reserved8[6];\r
+  UINT8     St6Mm6[10];\r
+  UINT8     Reserved9[6];\r
+  UINT8     St7Mm7[10];\r
+  UINT8     Reserved10[6];\r
+  UINT8     Xmm0[16];\r
+  UINT8     Xmm1[16];\r
+  UINT8     Xmm2[16];\r
+  UINT8     Xmm3[16];\r
+  UINT8     Xmm4[16];\r
+  UINT8     Xmm5[16];\r
+  UINT8     Xmm6[16];\r
+  UINT8     Xmm7[16];\r
+  UINT8     Xmm8[16];\r
+  UINT8     Xmm9[16];\r
+  UINT8     Xmm10[16];\r
+  UINT8     Xmm11[16];\r
+  UINT8     Xmm12[16];\r
+  UINT8     Xmm13[16];\r
+  UINT8     Xmm14[16];\r
+  UINT8     Xmm15[16];\r
+  UINT8     Reserved11[6 * 16];\r
 } DEBUG_DATA_X64_FX_SAVE_STATE;\r
 \r
 ///\r
 ///  x64 processor context definition\r
 ///\r
 typedef struct {\r
-  UINT64                         ExceptionData;\r
-  DEBUG_DATA_X64_FX_SAVE_STATE   FxSaveState;\r
-  UINT64                         Dr0;\r
-  UINT64                         Dr1;\r
-  UINT64                         Dr2;\r
-  UINT64                         Dr3;\r
-  UINT64                         Dr6;\r
-  UINT64                         Dr7;\r
-  UINT64                         Eflags;\r
-  UINT64                         Ldtr;\r
-  UINT64                         Tr;\r
-  UINT64                         Gdtr[2];\r
-  UINT64                         Idtr[2];\r
-  UINT64                         Eip;\r
-  UINT64                         Gs;\r
-  UINT64                         Fs;\r
-  UINT64                         Es;\r
-  UINT64                         Ds;\r
-  UINT64                         Cs;\r
-  UINT64                         Ss;\r
-  UINT64                         Cr0;\r
-  UINT64                         Cr1;  ///< Reserved\r
-  UINT64                         Cr2;\r
-  UINT64                         Cr3;\r
-  UINT64                         Cr4;\r
-  UINT64                         Rdi;\r
-  UINT64                         Rsi;\r
-  UINT64                         Rbp;\r
-  UINT64                         Rsp;\r
-  UINT64                         Rdx;\r
-  UINT64                         Rcx;\r
-  UINT64                         Rbx;\r
-  UINT64                         Rax;\r
-  UINT64                         Cr8;\r
-  UINT64                         R8;\r
-  UINT64                         R9;\r
-  UINT64                         R10;\r
-  UINT64                         R11;\r
-  UINT64                         R12;\r
-  UINT64                         R13;\r
-  UINT64                         R14;\r
-  UINT64                         R15;\r
+  UINT64                          ExceptionData;\r
+  DEBUG_DATA_X64_FX_SAVE_STATE    FxSaveState;\r
+  UINT64                          Dr0;\r
+  UINT64                          Dr1;\r
+  UINT64                          Dr2;\r
+  UINT64                          Dr3;\r
+  UINT64                          Dr6;\r
+  UINT64                          Dr7;\r
+  UINT64                          Eflags;\r
+  UINT64                          Ldtr;\r
+  UINT64                          Tr;\r
+  UINT64                          Gdtr[2];\r
+  UINT64                          Idtr[2];\r
+  UINT64                          Eip;\r
+  UINT64                          Gs;\r
+  UINT64                          Fs;\r
+  UINT64                          Es;\r
+  UINT64                          Ds;\r
+  UINT64                          Cs;\r
+  UINT64                          Ss;\r
+  UINT64                          Cr0;\r
+  UINT64                          Cr1; ///< Reserved\r
+  UINT64                          Cr2;\r
+  UINT64                          Cr3;\r
+  UINT64                          Cr4;\r
+  UINT64                          Rdi;\r
+  UINT64                          Rsi;\r
+  UINT64                          Rbp;\r
+  UINT64                          Rsp;\r
+  UINT64                          Rdx;\r
+  UINT64                          Rcx;\r
+  UINT64                          Rbx;\r
+  UINT64                          Rax;\r
+  UINT64                          Cr8;\r
+  UINT64                          R8;\r
+  UINT64                          R9;\r
+  UINT64                          R10;\r
+  UINT64                          R11;\r
+  UINT64                          R12;\r
+  UINT64                          R13;\r
+  UINT64                          R14;\r
+  UINT64                          R15;\r
 } DEBUG_DATA_X64_SYSTEM_CONTEXT;\r
 \r
 #pragma pack()\r
 \r
 #endif\r
-\r
index 3bda43056106f66676a08f5ec4bc444ac1d36b2a..0aebda7ad42aee47b99cd8e226b31d0077c56974 100644 (file)
@@ -19,4 +19,3 @@
 #define DEBUG_AGENT_IMAGE_CONTINUE  0x01\r
 \r
 #endif\r
-\r
index 73e0f19f92a91ccf1f80fd229c7d936b58a29331..ad7bccda285c1ae6b4f3ecb75f77a2de6a9cb007 100644 (file)
@@ -9,7 +9,7 @@
 #ifndef __DEBUG_COMMUNICATION_LIB_H__\r
 #define __DEBUG_COMMUNICATION_LIB_H__\r
 \r
-typedef VOID *    DEBUG_PORT_HANDLE;\r
+typedef VOID *DEBUG_PORT_HANDLE;\r
 \r
 /**\r
   Caller provided function to be invoked at the end of DebugPortInitialize().\r
@@ -22,7 +22,7 @@ typedef VOID *    DEBUG_PORT_HANDLE;
 **/\r
 typedef\r
 VOID\r
-(EFIAPI * DEBUG_PORT_CONTINUE)(\r
+(EFIAPI *DEBUG_PORT_CONTINUE)(\r
   IN VOID                *Context,\r
   IN DEBUG_PORT_HANDLE   DebugPortHandle\r
   );\r
@@ -70,7 +70,6 @@ DebugPortInitialize (
   IN DEBUG_PORT_CONTINUE  Function\r
   );\r
 \r
-\r
 /**\r
   Read data from debug device and save the datas in buffer.\r
 \r
@@ -91,13 +90,12 @@ DebugPortInitialize (
 UINTN\r
 EFIAPI\r
 DebugPortReadBuffer (\r
-  IN DEBUG_PORT_HANDLE     Handle,\r
-  IN UINT8                 *Buffer,\r
-  IN UINTN                 NumberOfBytes,\r
-  IN UINTN                 Timeout\r
+  IN DEBUG_PORT_HANDLE  Handle,\r
+  IN UINT8              *Buffer,\r
+  IN UINTN              NumberOfBytes,\r
+  IN UINTN              Timeout\r
   );\r
 \r
-\r
 /**\r
   Write data from buffer to debug device.\r
 \r
@@ -118,9 +116,9 @@ DebugPortReadBuffer (
 UINTN\r
 EFIAPI\r
 DebugPortWriteBuffer (\r
-  IN DEBUG_PORT_HANDLE     Handle,\r
-  IN UINT8                 *Buffer,\r
-  IN UINTN                 NumberOfBytes\r
+  IN DEBUG_PORT_HANDLE  Handle,\r
+  IN UINT8              *Buffer,\r
+  IN UINTN              NumberOfBytes\r
   );\r
 \r
 /**\r
@@ -139,8 +137,7 @@ DebugPortWriteBuffer (
 BOOLEAN\r
 EFIAPI\r
 DebugPortPollBuffer (\r
-  IN DEBUG_PORT_HANDLE     Handle\r
+  IN DEBUG_PORT_HANDLE  Handle\r
   );\r
 \r
 #endif\r
-\r
index 154e74165e8defe092900635ccdb328219297008..66ede36e45555a137d3f6c4774ac4e1125903ad3 100644 (file)
 // Current revision of transfer protocol\r
 // 0.4: Packet compression and decompression.\r
 //\r
-#define DEBUG_AGENT_REVISION_03         ((0 << 16) | 03)\r
-#define DEBUG_AGENT_REVISION_04         ((0 << 16) | 04)\r
-#define DEBUG_AGENT_CAPABILITIES        0\r
+#define DEBUG_AGENT_REVISION_03   ((0 << 16) | 03)\r
+#define DEBUG_AGENT_REVISION_04   ((0 << 16) | 04)\r
+#define DEBUG_AGENT_CAPABILITIES  0\r
 \r
 //\r
 // Definitions for the (A)ttach command\r
 //\r
-#define DEBUG_STARTING_SYMBOL_ATTACH    (0xFA)\r
+#define DEBUG_STARTING_SYMBOL_ATTACH  (0xFA)\r
 \r
 //\r
 // Definition for starting symbol of a normal debug packet. Choose a non-ASCII to avoid conflict with other serial output.\r
 //\r
-#define DEBUG_STARTING_SYMBOL_NORMAL    (0xFE)\r
+#define DEBUG_STARTING_SYMBOL_NORMAL  (0xFE)\r
 \r
 //\r
 // Definition for starting symbol of a (C)ompressed debug packet. Choose a non-ASCII to avoid conflict with other serial output.\r
 // Definition for debug packet header for debug packets (not including attach command)\r
 //\r
 typedef struct {\r
-  UINT8                      StartSymbol;\r
-  UINT8                      Command;\r
-  UINT8                      Length;    // Length of Debug Packet including header and payload in byte\r
-  UINT8                      SequenceNo;\r
-  UINT16                     Crc;\r
+  UINT8     StartSymbol;\r
+  UINT8     Command;\r
+  UINT8     Length;                     // Length of Debug Packet including header and payload in byte\r
+  UINT8     SequenceNo;\r
+  UINT16    Crc;\r
 } DEBUG_PACKET_HEADER;\r
 \r
 //\r
 // Definition for Command field for debug packets\r
 //\r
-#define DEBUG_COMMAND_REQUEST      (0 << 7)\r
-#define DEBUG_COMMAND_RESPONSE     (1 << 7)\r
+#define DEBUG_COMMAND_REQUEST   (0 << 7)\r
+#define DEBUG_COMMAND_RESPONSE  (1 << 7)\r
 \r
-#define IS_REQUEST(x)              (((x)->Command & DEBUG_COMMAND_RESPONSE) == 0)\r
+#define IS_REQUEST(x)  (((x)->Command & DEBUG_COMMAND_RESPONSE) == 0)\r
 \r
 //\r
 // HOST initiated commands\r
 //\r
-#define DEBUG_COMMAND_RESET                       (DEBUG_COMMAND_REQUEST | 0x00)\r
-#define DEBUG_COMMAND_GO                          (DEBUG_COMMAND_REQUEST | 0x01)\r
-#define DEBUG_COMMAND_BREAK_CAUSE                 (DEBUG_COMMAND_REQUEST | 0x02)\r
-#define DEBUG_COMMAND_SET_HW_BREAKPOINT           (DEBUG_COMMAND_REQUEST | 0x03)\r
-#define DEBUG_COMMAND_CLEAR_HW_BREAKPOINT         (DEBUG_COMMAND_REQUEST | 0x04)\r
-#define DEBUG_COMMAND_SINGLE_STEPPING             (DEBUG_COMMAND_REQUEST | 0x05)\r
-#define DEBUG_COMMAND_SET_SW_BREAKPOINT           (DEBUG_COMMAND_REQUEST | 0x06)\r
-#define DEBUG_COMMAND_READ_MEMORY                 (DEBUG_COMMAND_REQUEST | 0x07)\r
-#define DEBUG_COMMAND_WRITE_MEMORY                (DEBUG_COMMAND_REQUEST | 0x08)\r
-#define DEBUG_COMMAND_READ_IO                     (DEBUG_COMMAND_REQUEST | 0x09)\r
-#define DEBUG_COMMAND_WRITE_IO                    (DEBUG_COMMAND_REQUEST | 0x0A)\r
-#define DEBUG_COMMAND_READ_REGISTER               (DEBUG_COMMAND_REQUEST | 0x0B)\r
-#define DEBUG_COMMAND_WRITE_REGISTER              (DEBUG_COMMAND_REQUEST | 0x0C)\r
-#define DEBUG_COMMAND_READ_ALL_REGISTERS          (DEBUG_COMMAND_REQUEST | 0x0D)\r
-#define DEBUG_COMMAND_ARCH_MODE                   (DEBUG_COMMAND_REQUEST | 0x0E)\r
-#define DEBUG_COMMAND_READ_MSR                    (DEBUG_COMMAND_REQUEST | 0x0F)\r
-#define DEBUG_COMMAND_WRITE_MSR                   (DEBUG_COMMAND_REQUEST | 0x10)\r
-#define DEBUG_COMMAND_SET_DEBUG_SETTING           (DEBUG_COMMAND_REQUEST | 0x11)\r
-#define DEBUG_COMMAND_GET_REVISION                (DEBUG_COMMAND_REQUEST | 0x12)\r
-#define DEBUG_COMMAND_GET_EXCEPTION               (DEBUG_COMMAND_REQUEST | 0x13)\r
-#define DEBUG_COMMAND_SET_VIEWPOINT               (DEBUG_COMMAND_REQUEST | 0x14)\r
-#define DEBUG_COMMAND_GET_VIEWPOINT               (DEBUG_COMMAND_REQUEST | 0x15)\r
-#define DEBUG_COMMAND_DETACH                      (DEBUG_COMMAND_REQUEST | 0x16)\r
-#define DEBUG_COMMAND_CPUID                       (DEBUG_COMMAND_REQUEST | 0x17)\r
-#define DEBUG_COMMAND_SEARCH_SIGNATURE            (DEBUG_COMMAND_REQUEST | 0x18)\r
-#define DEBUG_COMMAND_HALT                        (DEBUG_COMMAND_REQUEST | 0x19)\r
+#define DEBUG_COMMAND_RESET                (DEBUG_COMMAND_REQUEST | 0x00)\r
+#define DEBUG_COMMAND_GO                   (DEBUG_COMMAND_REQUEST | 0x01)\r
+#define DEBUG_COMMAND_BREAK_CAUSE          (DEBUG_COMMAND_REQUEST | 0x02)\r
+#define DEBUG_COMMAND_SET_HW_BREAKPOINT    (DEBUG_COMMAND_REQUEST | 0x03)\r
+#define DEBUG_COMMAND_CLEAR_HW_BREAKPOINT  (DEBUG_COMMAND_REQUEST | 0x04)\r
+#define DEBUG_COMMAND_SINGLE_STEPPING      (DEBUG_COMMAND_REQUEST | 0x05)\r
+#define DEBUG_COMMAND_SET_SW_BREAKPOINT    (DEBUG_COMMAND_REQUEST | 0x06)\r
+#define DEBUG_COMMAND_READ_MEMORY          (DEBUG_COMMAND_REQUEST | 0x07)\r
+#define DEBUG_COMMAND_WRITE_MEMORY         (DEBUG_COMMAND_REQUEST | 0x08)\r
+#define DEBUG_COMMAND_READ_IO              (DEBUG_COMMAND_REQUEST | 0x09)\r
+#define DEBUG_COMMAND_WRITE_IO             (DEBUG_COMMAND_REQUEST | 0x0A)\r
+#define DEBUG_COMMAND_READ_REGISTER        (DEBUG_COMMAND_REQUEST | 0x0B)\r
+#define DEBUG_COMMAND_WRITE_REGISTER       (DEBUG_COMMAND_REQUEST | 0x0C)\r
+#define DEBUG_COMMAND_READ_ALL_REGISTERS   (DEBUG_COMMAND_REQUEST | 0x0D)\r
+#define DEBUG_COMMAND_ARCH_MODE            (DEBUG_COMMAND_REQUEST | 0x0E)\r
+#define DEBUG_COMMAND_READ_MSR             (DEBUG_COMMAND_REQUEST | 0x0F)\r
+#define DEBUG_COMMAND_WRITE_MSR            (DEBUG_COMMAND_REQUEST | 0x10)\r
+#define DEBUG_COMMAND_SET_DEBUG_SETTING    (DEBUG_COMMAND_REQUEST | 0x11)\r
+#define DEBUG_COMMAND_GET_REVISION         (DEBUG_COMMAND_REQUEST | 0x12)\r
+#define DEBUG_COMMAND_GET_EXCEPTION        (DEBUG_COMMAND_REQUEST | 0x13)\r
+#define DEBUG_COMMAND_SET_VIEWPOINT        (DEBUG_COMMAND_REQUEST | 0x14)\r
+#define DEBUG_COMMAND_GET_VIEWPOINT        (DEBUG_COMMAND_REQUEST | 0x15)\r
+#define DEBUG_COMMAND_DETACH               (DEBUG_COMMAND_REQUEST | 0x16)\r
+#define DEBUG_COMMAND_CPUID                (DEBUG_COMMAND_REQUEST | 0x17)\r
+#define DEBUG_COMMAND_SEARCH_SIGNATURE     (DEBUG_COMMAND_REQUEST | 0x18)\r
+#define DEBUG_COMMAND_HALT                 (DEBUG_COMMAND_REQUEST | 0x19)\r
 \r
 //\r
 // TARGET initiated commands\r
 //\r
-#define DEBUG_COMMAND_INIT_BREAK                  (DEBUG_COMMAND_REQUEST | 0x3F)\r
-#define DEBUG_COMMAND_BREAK_POINT                 (DEBUG_COMMAND_REQUEST | 0x3E)\r
-#define DEBUG_COMMAND_MEMORY_READY                (DEBUG_COMMAND_REQUEST | 0x3D)\r
-#define DEBUG_COMMAND_PRINT_MESSAGE               (DEBUG_COMMAND_REQUEST | 0x3C)\r
-#define DEBUG_COMMAND_ATTACH_BREAK                (DEBUG_COMMAND_REQUEST | 0x3B)\r
+#define DEBUG_COMMAND_INIT_BREAK     (DEBUG_COMMAND_REQUEST | 0x3F)\r
+#define DEBUG_COMMAND_BREAK_POINT    (DEBUG_COMMAND_REQUEST | 0x3E)\r
+#define DEBUG_COMMAND_MEMORY_READY   (DEBUG_COMMAND_REQUEST | 0x3D)\r
+#define DEBUG_COMMAND_PRINT_MESSAGE  (DEBUG_COMMAND_REQUEST | 0x3C)\r
+#define DEBUG_COMMAND_ATTACH_BREAK   (DEBUG_COMMAND_REQUEST | 0x3B)\r
 \r
 //\r
 // Response commands\r
 //\r
-#define DEBUG_COMMAND_OK                          (DEBUG_COMMAND_RESPONSE | 0x00)\r
-#define DEBUG_COMMAND_RESEND                      (DEBUG_COMMAND_RESPONSE | 0x01)\r
-#define DEBUG_COMMAND_ABORT                       (DEBUG_COMMAND_RESPONSE | 0x02)\r
+#define DEBUG_COMMAND_OK      (DEBUG_COMMAND_RESPONSE | 0x00)\r
+#define DEBUG_COMMAND_RESEND  (DEBUG_COMMAND_RESPONSE | 0x01)\r
+#define DEBUG_COMMAND_ABORT   (DEBUG_COMMAND_RESPONSE | 0x02)\r
 //\r
 // The below 2 commands are used when transferring big data (like > ~250 bytes).\r
 // The sequence is:\r
@@ -112,32 +112,32 @@ typedef struct {
 //                          <=        OK with the last part of data\r
 //   OK (no data as ACK)    =>\r
 //\r
-#define DEBUG_COMMAND_IN_PROGRESS                 (DEBUG_COMMAND_RESPONSE | 0x03)\r
-#define DEBUG_COMMAND_CONTINUE                    (DEBUG_COMMAND_RESPONSE | 0x04)\r
+#define DEBUG_COMMAND_IN_PROGRESS  (DEBUG_COMMAND_RESPONSE | 0x03)\r
+#define DEBUG_COMMAND_CONTINUE     (DEBUG_COMMAND_RESPONSE | 0x04)\r
 //\r
 // The below 2 commands are used to support deferred halt:\r
 // TARGET returns HALT_DEFERRED when it receives a HALT request in inter-active mode.\r
 // TARGET returns HALT_PROCESSED when it receives a GO request and has a pending HALT request.\r
 //\r
-#define DEBUG_COMMAND_HALT_DEFERRED               (DEBUG_COMMAND_RESPONSE | 0x05)\r
-#define DEBUG_COMMAND_HALT_PROCESSED              (DEBUG_COMMAND_RESPONSE | 0x06)\r
+#define DEBUG_COMMAND_HALT_DEFERRED   (DEBUG_COMMAND_RESPONSE | 0x05)\r
+#define DEBUG_COMMAND_HALT_PROCESSED  (DEBUG_COMMAND_RESPONSE | 0x06)\r
 \r
-#define DEBUG_COMMAND_TIMEOUT                     (DEBUG_COMMAND_RESPONSE | 0x07)\r
-#define DEBUG_COMMAND_NOT_SUPPORTED               (DEBUG_COMMAND_RESPONSE | 0x0F)\r
+#define DEBUG_COMMAND_TIMEOUT        (DEBUG_COMMAND_RESPONSE | 0x07)\r
+#define DEBUG_COMMAND_NOT_SUPPORTED  (DEBUG_COMMAND_RESPONSE | 0x0F)\r
 \r
 //\r
 // Definition for data field for debug packets\r
 //\r
-#define DEBUG_DATA_UPPER_LIMIT                    0xff  // Upper limit for the data size, by the limit of the packet header definition.\r
+#define DEBUG_DATA_UPPER_LIMIT  0xff                    // Upper limit for the data size, by the limit of the packet header definition.\r
 \r
-#define DEBUG_DATA_MAXIMUM_REAL_DATA              (DEBUG_DATA_UPPER_LIMIT - sizeof (DEBUG_PACKET_HEADER))\r
+#define DEBUG_DATA_MAXIMUM_REAL_DATA  (DEBUG_DATA_UPPER_LIMIT - sizeof (DEBUG_PACKET_HEADER))\r
 \r
 //\r
 // Response data for DEBUG_COMMAND_BREAK_CAUSE\r
 //\r
 typedef struct {\r
-  UINT8       Cause;\r
-  UINT64      StopAddress;\r
+  UINT8     Cause;\r
+  UINT64    StopAddress;\r
 } DEBUG_DATA_RESPONSE_BREAK_CAUSE;\r
 //\r
 // Break type definitions for DEBUG_DATA_BREAK_CAUSE\r
@@ -157,153 +157,153 @@ typedef struct {
 // Response data for DEBUG_COMMAND_ARCH_MODE, defined as SOFT_DEBUGGER_PROCESSOR_...\r
 //\r
 typedef struct {\r
-  UINT8       CpuMode;\r
+  UINT8    CpuMode;\r
 } DEBUG_DATA_RESPONSE_ARCH_MODE;\r
 //\r
 // Cpu architecture definitions for DEBUG_DATA_RESPONSE_ARCH_MODE\r
 //\r
-#define DEBUG_DATA_BREAK_CPU_ARCH_IA16        0\r
-#define DEBUG_DATA_BREAK_CPU_ARCH_IA32        1\r
-#define DEBUG_DATA_BREAK_CPU_ARCH_X64         2\r
+#define DEBUG_DATA_BREAK_CPU_ARCH_IA16  0\r
+#define DEBUG_DATA_BREAK_CPU_ARCH_IA32  1\r
+#define DEBUG_DATA_BREAK_CPU_ARCH_X64   2\r
 \r
 typedef struct {\r
-  UINT8  Length:2;                   // Refer to below DEBUG_DATA_BREAKPOINT_LENGTH_XX macros\r
-  UINT8  Access:2;                   // Refer to below DEBUG_DATA_BREAKPOINT_ACCESS_XX macros\r
-  UINT8  Index:2;                    // Index of debug register\r
-  UINT8  Reserved:2;\r
+  UINT8    Length   : 2;             // Refer to below DEBUG_DATA_BREAKPOINT_LENGTH_XX macros\r
+  UINT8    Access   : 2;             // Refer to below DEBUG_DATA_BREAKPOINT_ACCESS_XX macros\r
+  UINT8    Index    : 2;             // Index of debug register\r
+  UINT8    Reserved : 2;\r
 } DEBUG_DATA_BREAKPOINT_TYPE;\r
-#define DEBUG_DATA_BREAKPOINT_MEMORY_ACCESS    (0x3)\r
-#define DEBUG_DATA_BREAKPOINT_IO_ACCESS        (0x2)\r
-#define DEBUG_DATA_BREAKPOINT_MEMORY_WRITE     (0x1)\r
-#define DEBUG_DATA_BREAKPOINT_MEMORY_EXECUTE   (0x0)\r
-#define DEBUG_DATA_BREAKPOINT_LENGTH_32        (0x3)\r
-#define DEBUG_DATA_BREAKPOINT_LENGTH_64        (0x2)\r
-#define DEBUG_DATA_BREAKPOINT_LENGTH_16        (0x1)\r
-#define DEBUG_DATA_BREAKPOINT_LENGTH_8         (0x0)\r
+#define DEBUG_DATA_BREAKPOINT_MEMORY_ACCESS   (0x3)\r
+#define DEBUG_DATA_BREAKPOINT_IO_ACCESS       (0x2)\r
+#define DEBUG_DATA_BREAKPOINT_MEMORY_WRITE    (0x1)\r
+#define DEBUG_DATA_BREAKPOINT_MEMORY_EXECUTE  (0x0)\r
+#define DEBUG_DATA_BREAKPOINT_LENGTH_32       (0x3)\r
+#define DEBUG_DATA_BREAKPOINT_LENGTH_64       (0x2)\r
+#define DEBUG_DATA_BREAKPOINT_LENGTH_16       (0x1)\r
+#define DEBUG_DATA_BREAKPOINT_LENGTH_8        (0x0)\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_SET_HW_BREAKPOINT\r
 //\r
 typedef struct {\r
-  DEBUG_DATA_BREAKPOINT_TYPE Type;\r
-  UINT64                     Address;\r
+  DEBUG_DATA_BREAKPOINT_TYPE    Type;\r
+  UINT64                        Address;\r
 } DEBUG_DATA_SET_HW_BREAKPOINT;\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_CLEAR_HW_BREAKPOINT\r
 //\r
 typedef struct {\r
-  UINT8                      IndexMask;  // 0x0f will clear all hw breakpoints\r
+  UINT8    IndexMask;                    // 0x0f will clear all hw breakpoints\r
 } DEBUG_DATA_CLEAR_HW_BREAKPOINT;\r
 \r
 //\r
 // Request and response data for DEBUG_COMMAND_SET_SW_BREAKPOINT\r
 //\r
 typedef struct {\r
-  UINT64                     Address;\r
+  UINT64    Address;\r
 } DEBUG_DATA_SET_SW_BREAKPOINT;\r
 \r
 typedef struct {\r
-  UINT8                      OriginalData;\r
+  UINT8    OriginalData;\r
 } DEBUG_DATA_RESPONSE_SET_SW_BREAKPOINT;\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_READ_MEMORY\r
 //\r
 typedef struct {\r
-  UINT64                     Address;\r
-  UINT8                      Width;\r
-  UINT16                     Count;\r
+  UINT64    Address;\r
+  UINT8     Width;\r
+  UINT16    Count;\r
 } DEBUG_DATA_READ_MEMORY;\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_WRITE_MEMORY\r
 //\r
 typedef struct {\r
-  UINT64                     Address;\r
-  UINT8                      Width;\r
-  UINT16                     Count;\r
-  UINT8                      Data[1];  // The actual length is (Width * Count)\r
+  UINT64    Address;\r
+  UINT8     Width;\r
+  UINT16    Count;\r
+  UINT8     Data[1];                   // The actual length is (Width * Count)\r
 } DEBUG_DATA_WRITE_MEMORY;\r
 \r
 //\r
 // Request and response data for DEBUG_COMMAND_READ_IO\r
 //\r
 typedef struct {\r
-  UINT64                     Port;\r
-  UINT8                      Width;\r
+  UINT64    Port;\r
+  UINT8     Width;\r
 } DEBUG_DATA_READ_IO;\r
 \r
 typedef struct {\r
-  UINT8                      Data[1];  // The actual length depends on the packet header\r
+  UINT8    Data[1];                    // The actual length depends on the packet header\r
 } DEBUG_DATA_RESPONSE_READ_IO;\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_WRITE_IO\r
 //\r
 typedef struct {\r
-  UINT64                     Port;\r
-  UINT8                      Width;\r
-  UINT8                      Data[1];  // The actual length is Width\r
+  UINT64    Port;\r
+  UINT8     Width;\r
+  UINT8     Data[1];                   // The actual length is Width\r
 } DEBUG_DATA_WRITE_IO;\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_READ_REGISTER\r
 //\r
 typedef struct {\r
-  UINT8                      Index;   // defined as SOFT_DEBUGGER_REGISTER_XX\r
+  UINT8    Index;                     // defined as SOFT_DEBUGGER_REGISTER_XX\r
 } DEBUG_DATA_READ_REGISTER;\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_WRITE_REGISTER\r
 //\r
 typedef struct {\r
-  UINT8                      Index;   // defined as SOFT_DEBUGGER_REGISTER_XX\r
-  UINT8                      Length;\r
-  UINT8                      Data[1]; // The actual length is Length\r
+  UINT8    Index;                     // defined as SOFT_DEBUGGER_REGISTER_XX\r
+  UINT8    Length;\r
+  UINT8    Data[1];                   // The actual length is Length\r
 } DEBUG_DATA_WRITE_REGISTER;\r
 \r
 //\r
 // Request and response data for DEBUG_COMMAND_READ_MSR\r
 //\r
 typedef struct {\r
-  UINT32                     Index;\r
+  UINT32    Index;\r
 } DEBUG_DATA_READ_MSR;\r
 \r
 typedef struct {\r
-  UINT64                     Value;\r
+  UINT64    Value;\r
 } DEBUG_DATA_RESPONSE_READ_MSR;\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_WRITE_MSR\r
 //\r
 typedef struct {\r
-  UINT32                     Index;\r
-  UINT64                     Value;\r
+  UINT32    Index;\r
+  UINT64    Value;\r
 } DEBUG_DATA_WRITE_MSR;\r
 \r
 //\r
 // Response data for DEBUG_COMMAND_GET_REVISION\r
 //\r
 typedef struct {\r
-  UINT32                    Revision;\r
-  UINT32                    Capabilities;\r
+  UINT32    Revision;\r
+  UINT32    Capabilities;\r
 } DEBUG_DATA_RESPONSE_GET_REVISION;\r
 \r
 //\r
 // Response data for DEBUG_COMMAND_GET_EXCEPTION\r
 //\r
 typedef struct {\r
-  UINT8                     ExceptionNum;\r
-  UINT32                    ExceptionData;\r
+  UINT8     ExceptionNum;\r
+  UINT32    ExceptionData;\r
 } DEBUG_DATA_RESPONSE_GET_EXCEPTION;\r
 \r
 //\r
 // Request data for DEBUG_DATA_SET_DEBUG_SETTING\r
 //\r
 typedef struct {\r
-  UINT8                    Key;\r
-  UINT8                    Value;\r
+  UINT8    Key;\r
+  UINT8    Value;\r
 } DEBUG_DATA_SET_DEBUG_SETTING;\r
 //\r
 // Supported keys\r
@@ -314,57 +314,56 @@ typedef struct {
 //\r
 // Bitmask of print error level for debug message\r
 //\r
-#define DEBUG_AGENT_ERROR     BIT0\r
-#define DEBUG_AGENT_WARNING   BIT1\r
-#define DEBUG_AGENT_INFO      BIT2\r
-#define DEBUG_AGENT_VERBOSE   BIT3\r
+#define DEBUG_AGENT_ERROR    BIT0\r
+#define DEBUG_AGENT_WARNING  BIT1\r
+#define DEBUG_AGENT_INFO     BIT2\r
+#define DEBUG_AGENT_VERBOSE  BIT3\r
 \r
 //\r
 // Request data for DEBUG_COMMAND_SET_VIEWPOINT\r
 //\r
 typedef struct {\r
-  UINT32                    ViewPoint;     // The index of viewpoint will be set\r
+  UINT32    ViewPoint;                     // The index of viewpoint will be set\r
 } DEBUG_DATA_SET_VIEWPOINT;\r
 \r
 //\r
 // Response data for DEBUG_COMMAND_GET_VIEWPOINT\r
 //\r
 typedef struct {\r
-  UINT32                    ViewPoint;     // The index of viewpoint will be returned\r
+  UINT32    ViewPoint;                     // The index of viewpoint will be returned\r
 } DEBUG_DATA_RESPONSE_GET_VIEWPOINT;\r
 \r
 //\r
 // Request and response data for DEBUG_COMMAND_CPUID\r
 //\r
 typedef struct {\r
-  UINT32                    Eax;           // The value of EAX prior to invoking the CPUID instruction\r
-  UINT32                    Ecx;           // The value of ECX prior to invoking the CPUID instruction\r
+  UINT32    Eax;                           // The value of EAX prior to invoking the CPUID instruction\r
+  UINT32    Ecx;                           // The value of ECX prior to invoking the CPUID instruction\r
 } DEBUG_DATA_CPUID;\r
 \r
 typedef struct {\r
-  UINT32                    Eax;           // The value of EAX returned by the CPUID instruction\r
-  UINT32                    Ebx;           // The value of EBX returned by the CPUID instruction\r
-  UINT32                    Ecx;           // The value of ECX returned by the CPUID instruction\r
-  UINT32                    Edx;           // The value of EDX returned by the CPUID instruction\r
+  UINT32    Eax;                           // The value of EAX returned by the CPUID instruction\r
+  UINT32    Ebx;                           // The value of EBX returned by the CPUID instruction\r
+  UINT32    Ecx;                           // The value of ECX returned by the CPUID instruction\r
+  UINT32    Edx;                           // The value of EDX returned by the CPUID instruction\r
 } DEBUG_DATA_RESPONSE_CPUID;\r
 \r
 //\r
 // Request and response data for DEBUG_COMMAND_SEARCH_SIGNATURE\r
 //\r
 typedef struct {\r
-  UINT64                    Start;\r
-  UINT32                    Count;\r
-  UINT32                    Alignment;\r
-  BOOLEAN                   Positive;      // TRUE to search in higher address memory\r
-  UINT8                     DataLength;\r
-  UINT8                     Data[1];\r
+  UINT64     Start;\r
+  UINT32     Count;\r
+  UINT32     Alignment;\r
+  BOOLEAN    Positive;                     // TRUE to search in higher address memory\r
+  UINT8      DataLength;\r
+  UINT8      Data[1];\r
 } DEBUG_DATA_SEARCH_SIGNATURE;\r
 \r
 typedef struct {\r
-  UINT64                    Address;       // -1 indicates not found\r
+  UINT64    Address;                       // -1 indicates not found\r
 } DEBUG_DATA_RESPONSE_SEARCH_SIGNATURE;\r
 \r
 #pragma pack()\r
 \r
 #endif\r
-\r
index c29e4f2aa4e99a8d20336f26e5393eec7bcdb68b..a1e61a6ef90eb21e3b61b93302853d0b8efbe9d5 100644 (file)
 #include "DebugAgent.h"\r
 #include "Ia32/DebugException.h"\r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgVersionAlert[]       = "\rThe SourceLevelDebugPkg you are using requires a newer version of the Intel(R) UDK Debugger Tool.\r\n";\r
-GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgSendInitPacket[]     = "\rSend INIT break packet and try to connect the HOST (Intel(R) UDK Debugger Tool v1.5) ...\r\n";\r
-GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgConnectOK[]          = "HOST connection is successful!\r\n";\r
-GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mErrorMsgConnectFail[]        = "HOST connection is failed!\r\n";\r
-GLOBAL_REMOVE_IF_UNREFERENCED CHAR8 mWarningMsgIngoreBreakpoint[] = "Ignore break point in SMM for SMI issued during DXE debugging!\r\n";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CHAR8  mErrorMsgVersionAlert[]       = "\rThe SourceLevelDebugPkg you are using requires a newer version of the Intel(R) UDK Debugger Tool.\r\n";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CHAR8  mErrorMsgSendInitPacket[]     = "\rSend INIT break packet and try to connect the HOST (Intel(R) UDK Debugger Tool v1.5) ...\r\n";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CHAR8  mErrorMsgConnectOK[]          = "HOST connection is successful!\r\n";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CHAR8  mErrorMsgConnectFail[]        = "HOST connection is failed!\r\n";\r
+GLOBAL_REMOVE_IF_UNREFERENCED CHAR8  mWarningMsgIngoreBreakpoint[] = "Ignore break point in SMM for SMI issued during DXE debugging!\r\n";\r
 \r
 //\r
 // Vector Handoff Info list used by Debug Agent for persist\r
 //\r
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAgent[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_VECTOR_HANDOFF_INFO  mVectorHandoffInfoDebugAgent[] = {\r
   {\r
     DEBUG_EXCEPT_DIVIDE_ERROR,         // Vector 0\r
     EFI_VECTOR_HANDOFF_HOOK_BEFORE,\r
@@ -82,7 +82,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAge
     EFI_VECTOR_HANDOFF_HOOK_BEFORE,\r
     EFI_DEBUG_AGENT_GUID\r
   },\r
-    {\r
+  {\r
     DEBUG_EXCEPT_PAGE_FAULT,           // Vector 14\r
     EFI_VECTOR_HANDOFF_HOOK_BEFORE,\r
     EFI_DEBUG_AGENT_GUID\r
@@ -124,7 +124,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAge
   }\r
 };\r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED UINTN mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO);\r
+GLOBAL_REMOVE_IF_UNREFERENCED UINTN  mVectorHandoffInfoCount = sizeof (mVectorHandoffInfoDebugAgent) / sizeof (EFI_VECTOR_HANDOFF_INFO);\r
 \r
 /**\r
   Calculate CRC16 for target data.\r
@@ -151,16 +151,16 @@ CalculateCrc16 (
     for (BitIndex = 0; BitIndex < 8; BitIndex++) {\r
       if ((Crc & 0x8000) != 0) {\r
         Crc <<= 1;\r
-        Crc ^= 0x1021;\r
+        Crc  ^= 0x1021;\r
       } else {\r
         Crc <<= 1;\r
       }\r
     }\r
   }\r
+\r
   return Crc;\r
 }\r
 \r
-\r
 /**\r
   Read IDT entry to check if IDT entries are setup by Debug Agent.\r
 \r
@@ -173,10 +173,10 @@ IsDebugAgentInitialzed (
   VOID\r
   )\r
 {\r
-  UINTN                      InterruptHandler;\r
+  UINTN  InterruptHandler;\r
 \r
-  InterruptHandler = (UINTN) GetExceptionHandlerInIdtEntry (0);\r
-  if (InterruptHandler >= 4 &&  *(UINT32 *)(InterruptHandler - 4) == AGENT_HANDLER_SIGNATURE) {\r
+  InterruptHandler = (UINTN)GetExceptionHandlerInIdtEntry (0);\r
+  if ((InterruptHandler >= 4) &&  (*(UINT32 *)(InterruptHandler - 4) == AGENT_HANDLER_SIGNATURE)) {\r
     return TRUE;\r
   } else {\r
     return FALSE;\r
@@ -191,19 +191,19 @@ IsDebugAgentInitialzed (
 **/\r
 VOID\r
 FindAndReportModuleImageInfo (\r
-  IN UINTN          AlignSize\r
+  IN UINTN  AlignSize\r
   )\r
 {\r
-  UINTN                                Pe32Data;\r
-  PE_COFF_LOADER_IMAGE_CONTEXT         ImageContext;\r
+  UINTN                         Pe32Data;\r
+  PE_COFF_LOADER_IMAGE_CONTEXT  ImageContext;\r
 \r
   //\r
   // Find Image Base\r
   //\r
-  Pe32Data = PeCoffSearchImageBase ((UINTN) mErrorMsgVersionAlert);\r
+  Pe32Data = PeCoffSearchImageBase ((UINTN)mErrorMsgVersionAlert);\r
   if (Pe32Data != 0) {\r
     ImageContext.ImageAddress = Pe32Data;\r
-    ImageContext.PdbPointer = PeCoffLoaderGetPdbPointer ((VOID*) (UINTN) ImageContext.ImageAddress);\r
+    ImageContext.PdbPointer   = PeCoffLoaderGetPdbPointer ((VOID *)(UINTN)ImageContext.ImageAddress);\r
     PeCoffLoaderRelocateImageExtraAction (&ImageContext);\r
   }\r
 }\r
@@ -216,11 +216,11 @@ FindAndReportModuleImageInfo (
 **/\r
 VOID\r
 TriggerSoftInterrupt (\r
-  IN UINT32                 Signature\r
+  IN UINT32  Signature\r
   )\r
 {\r
-  UINTN                  Dr0;\r
-  UINTN                  Dr1;\r
+  UINTN  Dr0;\r
+  UINTN  Dr1;\r
 \r
   //\r
   // Save Debug Register State\r
@@ -245,7 +245,6 @@ TriggerSoftInterrupt (
   //\r
   AsmWriteDr0 (Dr0);\r
   AsmWriteDr1 (Dr1);\r
-\r
 }\r
 \r
 /**\r
@@ -256,7 +255,7 @@ TriggerSoftInterrupt (
 **/\r
 VOID\r
 UpdateMailboxChecksum (\r
-  IN DEBUG_AGENT_MAILBOX    *Mailbox\r
+  IN DEBUG_AGENT_MAILBOX  *Mailbox\r
   )\r
 {\r
   Mailbox->CheckSum = CalculateCheckSum8 ((UINT8 *)Mailbox, sizeof (DEBUG_AGENT_MAILBOX) - 2);\r
@@ -272,17 +271,17 @@ UpdateMailboxChecksum (
 **/\r
 VOID\r
 VerifyMailboxChecksum (\r
-  IN DEBUG_AGENT_MAILBOX    *Mailbox\r
+  IN DEBUG_AGENT_MAILBOX  *Mailbox\r
   )\r
 {\r
-  UINT8                     CheckSum;\r
+  UINT8  CheckSum;\r
 \r
-  CheckSum = CalculateCheckSum8 ((UINT8 *) Mailbox, sizeof (DEBUG_AGENT_MAILBOX) - 2);\r
+  CheckSum = CalculateCheckSum8 ((UINT8 *)Mailbox, sizeof (DEBUG_AGENT_MAILBOX) - 2);\r
   //\r
   // The checksum updating process may be disturbed by hardware SMI, we need to check CheckSum field\r
   // and ToBeCheckSum field to validate the mail box.\r
   //\r
-  if (CheckSum != Mailbox->CheckSum && CheckSum != Mailbox->ToBeCheckSum) {\r
+  if ((CheckSum != Mailbox->CheckSum) && (CheckSum != Mailbox->ToBeCheckSum)) {\r
     DEBUG ((DEBUG_ERROR, "DebugAgent: Mailbox checksum error, stack or heap crashed!\n"));\r
     DEBUG ((DEBUG_ERROR, "DebugAgent: CheckSum = %x, Mailbox->CheckSum = %x, Mailbox->ToBeCheckSum = %x\n", CheckSum, Mailbox->CheckSum, Mailbox->ToBeCheckSum));\r
     CpuDeadLoop ();\r
@@ -299,49 +298,50 @@ VerifyMailboxChecksum (
 **/\r
 VOID\r
 UpdateMailboxContent (\r
-  IN DEBUG_AGENT_MAILBOX    *Mailbox,\r
-  IN UINTN                  Index,\r
-  IN UINT64                 Value\r
+  IN DEBUG_AGENT_MAILBOX  *Mailbox,\r
+  IN UINTN                Index,\r
+  IN UINT64               Value\r
   )\r
 {\r
   AcquireMpSpinLock (&mDebugMpContext.MailboxSpinLock);\r
   switch (Index) {\r
-  case DEBUG_MAILBOX_DEBUG_FLAG_INDEX:\r
-    Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->DebugFlag.Uint64, sizeof(UINT64))\r
-                                              - CalculateSum8 ((UINT8 *)&Value, sizeof(UINT64));\r
-    Mailbox->DebugFlag.Uint64 = Value;\r
-    break;\r
-  case DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX:\r
-    Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->DebugPortHandle, sizeof(UINTN))\r
-                                              - CalculateSum8 ((UINT8 *)&Value, sizeof(UINTN));\r
-    Mailbox->DebugPortHandle = (UINTN) Value;\r
-    break;\r
-  case DEBUG_MAILBOX_EXCEPTION_BUFFER_POINTER_INDEX:\r
-    Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->ExceptionBufferPointer, sizeof(UINTN))\r
-                                              - CalculateSum8 ((UINT8 *)&Value, sizeof(UINTN));\r
-    Mailbox->ExceptionBufferPointer = (UINTN) Value;\r
-    break;\r
-  case DEBUG_MAILBOX_LAST_ACK:\r
-    Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->LastAck, sizeof(UINT8))\r
-                                              - CalculateSum8 ((UINT8 *)&Value, sizeof(UINT8));\r
-    Mailbox->LastAck = (UINT8) Value;\r
-    break;\r
-  case DEBUG_MAILBOX_SEQUENCE_NO_INDEX:\r
-    Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->SequenceNo, sizeof(UINT8))\r
-                                              - CalculateSum8 ((UINT8 *)&Value, sizeof(UINT8));\r
-    Mailbox->SequenceNo = (UINT8) Value;\r
-    break;\r
-  case DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX:\r
-    Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->HostSequenceNo, sizeof(UINT8))\r
-                                              - CalculateSum8 ((UINT8 *)&Value, sizeof(UINT8));\r
-    Mailbox->HostSequenceNo = (UINT8) Value;\r
-    break;\r
-  case DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY:\r
-    Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->DebugTimerFrequency, sizeof(UINT32))\r
-                                              - CalculateSum8 ((UINT8 *)&Value, sizeof(UINT32));\r
-    Mailbox->DebugTimerFrequency = (UINT32) Value;\r
-    break;\r
+    case DEBUG_MAILBOX_DEBUG_FLAG_INDEX:\r
+      Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->DebugFlag.Uint64, sizeof (UINT64))\r
+                              - CalculateSum8 ((UINT8 *)&Value, sizeof (UINT64));\r
+      Mailbox->DebugFlag.Uint64 = Value;\r
+      break;\r
+    case DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX:\r
+      Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->DebugPortHandle, sizeof (UINTN))\r
+                              - CalculateSum8 ((UINT8 *)&Value, sizeof (UINTN));\r
+      Mailbox->DebugPortHandle = (UINTN)Value;\r
+      break;\r
+    case DEBUG_MAILBOX_EXCEPTION_BUFFER_POINTER_INDEX:\r
+      Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->ExceptionBufferPointer, sizeof (UINTN))\r
+                              - CalculateSum8 ((UINT8 *)&Value, sizeof (UINTN));\r
+      Mailbox->ExceptionBufferPointer = (UINTN)Value;\r
+      break;\r
+    case DEBUG_MAILBOX_LAST_ACK:\r
+      Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->LastAck, sizeof (UINT8))\r
+                              - CalculateSum8 ((UINT8 *)&Value, sizeof (UINT8));\r
+      Mailbox->LastAck = (UINT8)Value;\r
+      break;\r
+    case DEBUG_MAILBOX_SEQUENCE_NO_INDEX:\r
+      Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->SequenceNo, sizeof (UINT8))\r
+                              - CalculateSum8 ((UINT8 *)&Value, sizeof (UINT8));\r
+      Mailbox->SequenceNo = (UINT8)Value;\r
+      break;\r
+    case DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX:\r
+      Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->HostSequenceNo, sizeof (UINT8))\r
+                              - CalculateSum8 ((UINT8 *)&Value, sizeof (UINT8));\r
+      Mailbox->HostSequenceNo = (UINT8)Value;\r
+      break;\r
+    case DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY:\r
+      Mailbox->ToBeCheckSum = Mailbox->CheckSum + CalculateSum8 ((UINT8 *)&Mailbox->DebugTimerFrequency, sizeof (UINT32))\r
+                              - CalculateSum8 ((UINT8 *)&Value, sizeof (UINT32));\r
+      Mailbox->DebugTimerFrequency = (UINT32)Value;\r
+      break;\r
   }\r
+\r
   UpdateMailboxChecksum (Mailbox);\r
   ReleaseMpSpinLock (&mDebugMpContext.MailboxSpinLock);\r
 }\r
@@ -365,43 +365,45 @@ UpdateMailboxContent (
 **/\r
 UINTN\r
 DebugAgentReadBuffer (\r
-  IN DEBUG_PORT_HANDLE     Handle,\r
-  IN UINT8                 *Buffer,\r
-  IN UINTN                 NumberOfBytes,\r
-  IN UINTN                 Timeout\r
+  IN DEBUG_PORT_HANDLE  Handle,\r
+  IN UINT8              *Buffer,\r
+  IN UINTN              NumberOfBytes,\r
+  IN UINTN              Timeout\r
   )\r
 {\r
-  UINTN                    Index;\r
-  UINT32                   Begin;\r
-  UINT32                   TimeoutTicker;\r
-  UINT32                   TimerRound;\r
-  UINT32                   TimerFrequency;\r
-  UINT32                   TimerCycle;\r
-\r
-  Begin         = 0;\r
-  TimeoutTicker = 0;\r
-  TimerRound    = 0;\r
-  TimerFrequency = GetMailboxPointer()->DebugTimerFrequency;\r
-  TimerCycle = GetApicTimerInitCount ();\r
+  UINTN   Index;\r
+  UINT32  Begin;\r
+  UINT32  TimeoutTicker;\r
+  UINT32  TimerRound;\r
+  UINT32  TimerFrequency;\r
+  UINT32  TimerCycle;\r
+\r
+  Begin          = 0;\r
+  TimeoutTicker  = 0;\r
+  TimerRound     = 0;\r
+  TimerFrequency = GetMailboxPointer ()->DebugTimerFrequency;\r
+  TimerCycle     = GetApicTimerInitCount ();\r
 \r
   if (Timeout != 0) {\r
-    Begin = GetApicTimerCurrentCount ();\r
-    TimeoutTicker = (UINT32) DivU64x32 (\r
-                      MultU64x64 (\r
-                        TimerFrequency,\r
-                        Timeout\r
-                        ),\r
-                      1000000u\r
-                      );\r
-    TimerRound = (UINT32) DivU64x32Remainder (TimeoutTicker,  TimerCycle / 2, &TimeoutTicker);\r
+    Begin         = GetApicTimerCurrentCount ();\r
+    TimeoutTicker = (UINT32)DivU64x32 (\r
+                              MultU64x64 (\r
+                                TimerFrequency,\r
+                                Timeout\r
+                                ),\r
+                              1000000u\r
+                              );\r
+    TimerRound = (UINT32)DivU64x32Remainder (TimeoutTicker, TimerCycle / 2, &TimeoutTicker);\r
   }\r
+\r
   Index = 0;\r
   while (Index < NumberOfBytes) {\r
     if (DebugPortPollBuffer (Handle)) {\r
       DebugPortReadBuffer (Handle, Buffer + Index, 1, 0);\r
-      Index ++;\r
+      Index++;\r
       continue;\r
     }\r
+\r
     if (Timeout != 0) {\r
       if (TimerRound == 0) {\r
         if (IsDebugTimerTimeout (TimerCycle, Begin, TimeoutTicker)) {\r
@@ -412,7 +414,7 @@ DebugAgentReadBuffer (
         }\r
       } else {\r
         if (IsDebugTimerTimeout (TimerCycle, Begin, TimerCycle / 2)) {\r
-          TimerRound --;\r
+          TimerRound--;\r
           Begin = GetApicTimerCurrentCount ();\r
         }\r
       }\r
@@ -431,16 +433,16 @@ DebugAgentReadBuffer (
 **/\r
 VOID\r
 SetDebugFlag (\r
-  IN UINT64                 FlagMask,\r
-  IN UINT32                 FlagValue\r
+  IN UINT64  FlagMask,\r
+  IN UINT32  FlagValue\r
   )\r
 {\r
-  DEBUG_AGENT_MAILBOX    *Mailbox;\r
-  UINT64                 Data64;\r
+  DEBUG_AGENT_MAILBOX  *Mailbox;\r
+  UINT64               Data64;\r
 \r
   Mailbox = GetMailboxPointer ();\r
-  Data64 = (Mailbox->DebugFlag.Uint64 & ~FlagMask) |\r
-           (LShiftU64 ((UINT64)FlagValue, LowBitSet64 (FlagMask)) & FlagMask);\r
+  Data64  = (Mailbox->DebugFlag.Uint64 & ~FlagMask) |\r
+            (LShiftU64 ((UINT64)FlagValue, LowBitSet64 (FlagMask)) & FlagMask);\r
   UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_FLAG_INDEX, Data64);\r
 }\r
 \r
@@ -454,14 +456,14 @@ SetDebugFlag (
 **/\r
 UINT32\r
 GetDebugFlag (\r
-  IN UINT64                 FlagMask\r
+  IN UINT64  FlagMask\r
   )\r
 {\r
-  DEBUG_AGENT_MAILBOX    *Mailbox;\r
-  UINT32                 DebugFlag;\r
+  DEBUG_AGENT_MAILBOX  *Mailbox;\r
+  UINT32               DebugFlag;\r
 \r
-  Mailbox = GetMailboxPointer ();\r
-  DebugFlag = (UINT32) RShiftU64 (Mailbox->DebugFlag.Uint64 & FlagMask, LowBitSet64 (FlagMask));\r
+  Mailbox   = GetMailboxPointer ();\r
+  DebugFlag = (UINT32)RShiftU64 (Mailbox->DebugFlag.Uint64 & FlagMask, LowBitSet64 (FlagMask));\r
 \r
   return DebugFlag;\r
 }\r
@@ -475,22 +477,23 @@ GetDebugFlag (
 **/\r
 VOID\r
 SendDebugMsgPacket (\r
-  IN CHAR8         *Buffer,\r
-  IN UINTN         Length\r
+  IN CHAR8  *Buffer,\r
+  IN UINTN  Length\r
   )\r
 {\r
   DEBUG_PACKET_HEADER  DebugHeader;\r
   DEBUG_PORT_HANDLE    Handle;\r
 \r
-  Handle = GetDebugPortHandle();\r
+  Handle = GetDebugPortHandle ();\r
 \r
   DebugHeader.StartSymbol = DEBUG_STARTING_SYMBOL_NORMAL;\r
   DebugHeader.Command     = DEBUG_COMMAND_PRINT_MESSAGE;\r
-  DebugHeader.Length      = sizeof (DEBUG_PACKET_HEADER) + (UINT8) Length;\r
+  DebugHeader.Length      = sizeof (DEBUG_PACKET_HEADER) + (UINT8)Length;\r
   DebugHeader.SequenceNo  = 0xEE;\r
   DebugHeader.Crc         = 0;\r
   DebugHeader.Crc         = CalculateCrc16 (\r
-                              (UINT8 *)Buffer, Length,\r
+                              (UINT8 *)Buffer,\r
+                              Length,\r
                               CalculateCrc16 ((UINT8 *)&DebugHeader, sizeof (DEBUG_PACKET_HEADER), 0)\r
                               );\r
 \r
@@ -513,13 +516,13 @@ SendDebugMsgPacket (
 VOID\r
 EFIAPI\r
 DebugAgentMsgPrint (\r
-  IN UINT8         ErrorLevel,\r
-  IN CHAR8         *Format,\r
+  IN UINT8  ErrorLevel,\r
+  IN CHAR8  *Format,\r
   ...\r
   )\r
 {\r
-  CHAR8                Buffer[DEBUG_DATA_MAXIMUM_REAL_DATA];\r
-  VA_LIST              Marker;\r
+  CHAR8    Buffer[DEBUG_DATA_MAXIMUM_REAL_DATA];\r
+  VA_LIST  Marker;\r
 \r
   //\r
   // Check driver debug mask value and global mask\r
@@ -556,15 +559,15 @@ DebugAgentMsgPrint (
 VOID\r
 EFIAPI\r
 DebugAgentDataMsgPrint (\r
-  IN UINT8             ErrorLevel,\r
-  IN BOOLEAN           IsSend,\r
-  IN UINT8             *Data,\r
-  IN UINT8             Length\r
+  IN UINT8    ErrorLevel,\r
+  IN BOOLEAN  IsSend,\r
+  IN UINT8    *Data,\r
+  IN UINT8    Length\r
   )\r
 {\r
-  CHAR8                Buffer[DEBUG_DATA_MAXIMUM_REAL_DATA];\r
-  CHAR8                *DestBuffer;\r
-  UINTN                Index;\r
+  CHAR8  Buffer[DEBUG_DATA_MAXIMUM_REAL_DATA];\r
+  CHAR8  *DestBuffer;\r
+  UINTN  Index;\r
 \r
   //\r
   // Check driver debug mask value and global mask\r
@@ -590,13 +593,14 @@ DebugAgentDataMsgPrint (
       SendDebugMsgPacket (Buffer, DestBuffer - Buffer);\r
       DestBuffer = Buffer;\r
     }\r
+\r
     DestBuffer += AsciiSPrint (DestBuffer, DEBUG_DATA_MAXIMUM_REAL_DATA - (DestBuffer - Buffer), "%02x ", Data[Index]);\r
-    Index ++;\r
+    Index++;\r
     if (Index >= Length) {\r
       //\r
       // The last character of debug message has been formatted in buffer\r
       //\r
-      DestBuffer += AsciiSPrint(DestBuffer, DEBUG_DATA_MAXIMUM_REAL_DATA - (DestBuffer - Buffer), "]\n");\r
+      DestBuffer += AsciiSPrint (DestBuffer, DEBUG_DATA_MAXIMUM_REAL_DATA - (DestBuffer - Buffer), "]\n");\r
       SendDebugMsgPacket (Buffer, DestBuffer - Buffer);\r
       break;\r
     }\r
@@ -617,12 +621,12 @@ DebugAgentDataMsgPrint (
 **/\r
 EFI_STATUS\r
 ReadRemainingBreakPacket (\r
-  IN     DEBUG_PORT_HANDLE      Handle,\r
-  IN OUT DEBUG_PACKET_HEADER    *DebugHeader\r
+  IN     DEBUG_PORT_HANDLE    Handle,\r
+  IN OUT DEBUG_PACKET_HEADER  *DebugHeader\r
   )\r
 {\r
-  UINT16                     Crc;\r
-  DEBUG_AGENT_MAILBOX        *Mailbox;\r
+  UINT16               Crc;\r
+  DEBUG_AGENT_MAILBOX  *Mailbox;\r
 \r
   //\r
   // Has received start symbol, try to read the rest part\r
@@ -635,22 +639,24 @@ ReadRemainingBreakPacket (
     return EFI_TIMEOUT;\r
   }\r
 \r
-  Crc = DebugHeader->Crc;\r
+  Crc              = DebugHeader->Crc;\r
   DebugHeader->Crc = 0;\r
   if (CalculateCrc16 ((UINT8 *)DebugHeader, DebugHeader->Length, 0) != Crc) {\r
-    DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "Debug Timer CRC (%x) against (%x)\n", Crc, CalculateCrc16 ((UINT8 *) &DebugHeader, DebugHeader->Length, 0));\r
+    DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "Debug Timer CRC (%x) against (%x)\n", Crc, CalculateCrc16 ((UINT8 *)&DebugHeader, DebugHeader->Length, 0));\r
     DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, FALSE, (UINT8 *)DebugHeader, DebugHeader->Length);\r
     return EFI_CRC_ERROR;\r
   }\r
-  Mailbox = GetMailboxPointer();\r
+\r
+  Mailbox = GetMailboxPointer ();\r
   if (IS_REQUEST (DebugHeader)) {\r
-    if (DebugHeader->SequenceNo == (UINT8) (Mailbox->HostSequenceNo + 1)) {\r
+    if (DebugHeader->SequenceNo == (UINT8)(Mailbox->HostSequenceNo + 1)) {\r
       //\r
       // Only updagte HostSequenceNo for new command packet\r
       //\r
       UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, DebugHeader->SequenceNo);\r
       return EFI_SUCCESS;\r
     }\r
+\r
     if (DebugHeader->SequenceNo == Mailbox->HostSequenceNo) {\r
       return EFI_SUCCESS;\r
     }\r
@@ -671,7 +677,7 @@ IsHostAttached (
   VOID\r
   )\r
 {\r
-  return (BOOLEAN) (GetDebugFlag (DEBUG_AGENT_FLAG_HOST_ATTACHED) == 1);\r
+  return (BOOLEAN)(GetDebugFlag (DEBUG_AGENT_FLAG_HOST_ATTACHED) == 1);\r
 }\r
 \r
 /**\r
@@ -682,7 +688,7 @@ IsHostAttached (
 **/\r
 VOID\r
 SetHostAttached (\r
-  IN BOOLEAN                      Attached\r
+  IN BOOLEAN  Attached\r
   )\r
 {\r
   DebugAgentMsgPrint (DEBUG_AGENT_INFO, "Attach status is %d\n", Attached);\r
@@ -703,22 +709,23 @@ SetDebugSetting (
   IN DEBUG_DATA_SET_DEBUG_SETTING  *DebugSetting\r
   )\r
 {\r
-  RETURN_STATUS                Status;\r
+  RETURN_STATUS  Status;\r
 \r
   Status = RETURN_SUCCESS;\r
   switch (DebugSetting->Key) {\r
-  case DEBUG_AGENT_SETTING_SMM_ENTRY_BREAK:\r
-    SetDebugFlag (DEBUG_AGENT_FLAG_BREAK_ON_NEXT_SMI, DebugSetting->Value);\r
-    break;\r
-  case DEBUG_AGENT_SETTING_PRINT_ERROR_LEVEL:\r
-    SetDebugFlag (DEBUG_AGENT_FLAG_PRINT_ERROR_LEVEL, DebugSetting->Value);\r
-    break;\r
-  case DEBUG_AGENT_SETTING_BOOT_SCRIPT_ENTRY_BREAK:\r
-    SetDebugFlag (DEBUG_AGENT_FLAG_BREAK_BOOT_SCRIPT, DebugSetting->Value);\r
-    break;\r
-  default:\r
-    Status = RETURN_UNSUPPORTED;\r
+    case DEBUG_AGENT_SETTING_SMM_ENTRY_BREAK:\r
+      SetDebugFlag (DEBUG_AGENT_FLAG_BREAK_ON_NEXT_SMI, DebugSetting->Value);\r
+      break;\r
+    case DEBUG_AGENT_SETTING_PRINT_ERROR_LEVEL:\r
+      SetDebugFlag (DEBUG_AGENT_FLAG_PRINT_ERROR_LEVEL, DebugSetting->Value);\r
+      break;\r
+    case DEBUG_AGENT_SETTING_BOOT_SCRIPT_ENTRY_BREAK:\r
+      SetDebugFlag (DEBUG_AGENT_FLAG_BREAK_BOOT_SCRIPT, DebugSetting->Value);\r
+      break;\r
+    default:\r
+      Status = RETURN_UNSUPPORTED;\r
   }\r
+\r
   return Status;\r
 }\r
 \r
@@ -730,12 +737,12 @@ SetDebugSetting (
 **/\r
 VOID\r
 CommandGo (\r
-  IN DEBUG_CPU_CONTEXT         *CpuContext\r
+  IN DEBUG_CPU_CONTEXT  *CpuContext\r
   )\r
 {\r
-  IA32_EFLAGS32                *Eflags;\r
+  IA32_EFLAGS32  *Eflags;\r
 \r
-  Eflags = (IA32_EFLAGS32 *) &CpuContext->Eflags;\r
+  Eflags          = (IA32_EFLAGS32 *)&CpuContext->Eflags;\r
   Eflags->Bits.TF = 0;\r
   Eflags->Bits.RF = 1;\r
 }\r
@@ -748,12 +755,12 @@ CommandGo (
 **/\r
 VOID\r
 CommandStepping (\r
-  IN DEBUG_CPU_CONTEXT          *CpuContext\r
+  IN DEBUG_CPU_CONTEXT  *CpuContext\r
   )\r
 {\r
-  IA32_EFLAGS32                *Eflags;\r
+  IA32_EFLAGS32  *Eflags;\r
 \r
-  Eflags = (IA32_EFLAGS32 *) &CpuContext->Eflags;\r
+  Eflags          = (IA32_EFLAGS32 *)&CpuContext->Eflags;\r
   Eflags->Bits.TF = 1;\r
   Eflags->Bits.RF = 1;\r
   //\r
@@ -775,12 +782,12 @@ CommandStepping (
 **/\r
 VOID\r
 CommandSteppingCleanup (\r
-  IN DEBUG_CPU_CONTEXT          *CpuContext\r
+  IN DEBUG_CPU_CONTEXT  *CpuContext\r
   )\r
 {\r
-  IA32_EFLAGS32                *Eflags;\r
+  IA32_EFLAGS32  *Eflags;\r
 \r
-  Eflags = (IA32_EFLAGS32 *) &CpuContext->Eflags;\r
+  Eflags = (IA32_EFLAGS32 *)&CpuContext->Eflags;\r
   //\r
   // Restore EFLAGS.IF\r
   //\r
@@ -804,27 +811,27 @@ SetDebugRegister (
   IN DEBUG_DATA_SET_HW_BREAKPOINT  *SetHwBreakpoint\r
   )\r
 {\r
-  UINT8                      RegisterIndex;\r
-  UINTN                      Dr7Value;\r
+  UINT8  RegisterIndex;\r
+  UINTN  Dr7Value;\r
 \r
   RegisterIndex = SetHwBreakpoint->Type.Index;\r
 \r
   //\r
   // Set debug address\r
   //\r
-  * ((UINTN *) &CpuContext->Dr0 + RegisterIndex) = (UINTN) SetHwBreakpoint->Address;\r
+  *((UINTN *)&CpuContext->Dr0 + RegisterIndex) = (UINTN)SetHwBreakpoint->Address;\r
 \r
   Dr7Value = CpuContext->Dr7;\r
 \r
   //\r
   // Enable Gx, Lx\r
   //\r
-  Dr7Value |= (UINTN) (0x3 << (RegisterIndex * 2));\r
+  Dr7Value |= (UINTN)(0x3 << (RegisterIndex * 2));\r
   //\r
   // Set RWx and Lenx\r
   //\r
-  Dr7Value &= (UINTN) (~(0xf << (16 + RegisterIndex * 4)));\r
-  Dr7Value |= (UINTN) ((SetHwBreakpoint->Type.Length << 2) | SetHwBreakpoint->Type.Access) << (16 + RegisterIndex * 4);\r
+  Dr7Value &= (UINTN)(~(0xf << (16 + RegisterIndex * 4)));\r
+  Dr7Value |= (UINTN)((SetHwBreakpoint->Type.Length << 2) | SetHwBreakpoint->Type.Access) << (16 + RegisterIndex * 4);\r
   //\r
   // Enable GE, LE\r
   //\r
@@ -842,29 +849,31 @@ SetDebugRegister (
 **/\r
 VOID\r
 ClearDebugRegister (\r
-  IN DEBUG_CPU_CONTEXT                 *CpuContext,\r
-  IN DEBUG_DATA_CLEAR_HW_BREAKPOINT    *ClearHwBreakpoint\r
+  IN DEBUG_CPU_CONTEXT               *CpuContext,\r
+  IN DEBUG_DATA_CLEAR_HW_BREAKPOINT  *ClearHwBreakpoint\r
   )\r
 {\r
   if ((ClearHwBreakpoint->IndexMask & BIT0) != 0) {\r
-    CpuContext->Dr0 = 0;\r
+    CpuContext->Dr0  = 0;\r
     CpuContext->Dr7 &= (UINTN)(~(0x3 << 0));\r
   }\r
+\r
   if ((ClearHwBreakpoint->IndexMask & BIT1) != 0) {\r
-    CpuContext->Dr1 = 0;\r
+    CpuContext->Dr1  = 0;\r
     CpuContext->Dr7 &= (UINTN)(~(0x3 << 2));\r
   }\r
+\r
   if ((ClearHwBreakpoint->IndexMask & BIT2) != 0) {\r
-    CpuContext->Dr2 = 0;\r
+    CpuContext->Dr2  = 0;\r
     CpuContext->Dr7 &= (UINTN)(~(0x3 << 4));\r
   }\r
+\r
   if ((ClearHwBreakpoint->IndexMask & BIT3) != 0) {\r
-    CpuContext->Dr3 = 0;\r
+    CpuContext->Dr3  = 0;\r
     CpuContext->Dr7 &= (UINTN)(~(0x3 << 6));\r
   }\r
 }\r
 \r
-\r
 /**\r
   Return the offset of FP / MMX / XMM registers in the FPU saved state by register index.\r
 \r
@@ -876,51 +885,51 @@ ClearDebugRegister (
 **/\r
 UINT16\r
 ArchReadFxStatOffset (\r
-  IN  UINT8                     Index,\r
-  OUT UINT8                     *Width\r
+  IN  UINT8  Index,\r
+  OUT UINT8  *Width\r
   )\r
 {\r
   if (Index < SOFT_DEBUGGER_REGISTER_ST0) {\r
     switch (Index) {\r
-    case SOFT_DEBUGGER_REGISTER_FP_FCW:\r
-      *Width = (UINT8) sizeof (UINT16);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Fcw);\r
+      case SOFT_DEBUGGER_REGISTER_FP_FCW:\r
+        *Width = (UINT8)sizeof (UINT16);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Fcw);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_FSW:\r
-      *Width = (UINT8) sizeof (UINT16);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Fsw);\r
+      case SOFT_DEBUGGER_REGISTER_FP_FSW:\r
+        *Width = (UINT8)sizeof (UINT16);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Fsw);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_FTW:\r
-      *Width = (UINT8) sizeof (UINT16);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Ftw);\r
+      case SOFT_DEBUGGER_REGISTER_FP_FTW:\r
+        *Width = (UINT8)sizeof (UINT16);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Ftw);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_OPCODE:\r
-      *Width = (UINT8) sizeof (UINT16);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Opcode);\r
+      case SOFT_DEBUGGER_REGISTER_FP_OPCODE:\r
+        *Width = (UINT8)sizeof (UINT16);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Opcode);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_EIP:\r
-      *Width = (UINT8) sizeof (UINT32);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Eip);\r
+      case SOFT_DEBUGGER_REGISTER_FP_EIP:\r
+        *Width = (UINT8)sizeof (UINT32);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Eip);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_CS:\r
-      *Width = (UINT8) sizeof (UINT16);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Cs);\r
+      case SOFT_DEBUGGER_REGISTER_FP_CS:\r
+        *Width = (UINT8)sizeof (UINT16);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Cs);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_DATAOFFSET:\r
-      *Width = (UINT8) sizeof (UINT32);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, DataOffset);\r
+      case SOFT_DEBUGGER_REGISTER_FP_DATAOFFSET:\r
+        *Width = (UINT8)sizeof (UINT32);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, DataOffset);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_DS:\r
-      *Width = (UINT8) sizeof (UINT16);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Ds);\r
+      case SOFT_DEBUGGER_REGISTER_FP_DS:\r
+        *Width = (UINT8)sizeof (UINT16);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Ds);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_MXCSR:\r
-      *Width = (UINT8) sizeof (UINT32);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Mxcsr);\r
+      case SOFT_DEBUGGER_REGISTER_FP_MXCSR:\r
+        *Width = (UINT8)sizeof (UINT32);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Mxcsr);\r
 \r
-    case SOFT_DEBUGGER_REGISTER_FP_MXCSR_MASK:\r
-      *Width = (UINT8) sizeof (UINT32);\r
-      return OFFSET_OF(DEBUG_DATA_FX_SAVE_STATE, Mxcsr_Mask);\r
+      case SOFT_DEBUGGER_REGISTER_FP_MXCSR_MASK:\r
+        *Width = (UINT8)sizeof (UINT32);\r
+        return OFFSET_OF (DEBUG_DATA_FX_SAVE_STATE, Mxcsr_Mask);\r
     }\r
   }\r
 \r
@@ -951,21 +960,21 @@ ArchReadFxStatOffset (
 **/\r
 UINT8 *\r
 ArchReadRegisterBuffer (\r
-  IN DEBUG_CPU_CONTEXT               *CpuContext,\r
-  IN UINT8                           Index,\r
-  OUT UINT8                          *Width\r
+  IN DEBUG_CPU_CONTEXT  *CpuContext,\r
+  IN UINT8              Index,\r
+  OUT UINT8             *Width\r
   )\r
 {\r
-  UINT8           *Buffer;\r
+  UINT8  *Buffer;\r
 \r
   if (Index < SOFT_DEBUGGER_REGISTER_FP_BASE) {\r
-    Buffer = (UINT8 *) CpuContext + OFFSET_OF (DEBUG_CPU_CONTEXT, Dr0) + Index * sizeof (UINTN);\r
-    *Width = (UINT8) sizeof (UINTN);\r
+    Buffer = (UINT8 *)CpuContext + OFFSET_OF (DEBUG_CPU_CONTEXT, Dr0) + Index * sizeof (UINTN);\r
+    *Width = (UINT8)sizeof (UINTN);\r
   } else {\r
     //\r
     // FPU/MMX/XMM registers\r
     //\r
-    Buffer = (UINT8 *) CpuContext + OFFSET_OF (DEBUG_CPU_CONTEXT, FxSaveState) + ArchReadFxStatOffset (Index, Width);\r
+    Buffer = (UINT8 *)CpuContext + OFFSET_OF (DEBUG_CPU_CONTEXT, FxSaveState) + ArchReadFxStatOffset (Index, Width);\r
   }\r
 \r
   return Buffer;\r
@@ -980,14 +989,14 @@ ArchReadRegisterBuffer (
 **/\r
 VOID\r
 SendPacketWithoutData (\r
-  IN UINT8                  CommandType,\r
-  IN UINT8                  SequenceNo\r
+  IN UINT8  CommandType,\r
+  IN UINT8  SequenceNo\r
   )\r
 {\r
-  DEBUG_PACKET_HEADER       DebugHeader;\r
-  DEBUG_PORT_HANDLE         Handle;\r
+  DEBUG_PACKET_HEADER  DebugHeader;\r
+  DEBUG_PORT_HANDLE    Handle;\r
 \r
-  Handle = GetDebugPortHandle();\r
+  Handle = GetDebugPortHandle ();\r
 \r
   DebugHeader.StartSymbol = DEBUG_STARTING_SYMBOL_NORMAL;\r
   DebugHeader.Command     = CommandType;\r
@@ -996,8 +1005,8 @@ SendPacketWithoutData (
   DebugHeader.Crc         = 0;\r
   DebugHeader.Crc         = CalculateCrc16 ((UINT8 *)&DebugHeader, sizeof (DEBUG_PACKET_HEADER), 0);\r
 \r
-  DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, TRUE, (UINT8 *) &DebugHeader, DebugHeader.Length);\r
-  DebugPortWriteBuffer (Handle, (UINT8 *) &DebugHeader, DebugHeader.Length);\r
+  DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, TRUE, (UINT8 *)&DebugHeader, DebugHeader.Length);\r
+  DebugPortWriteBuffer (Handle, (UINT8 *)&DebugHeader, DebugHeader.Length);\r
 }\r
 \r
 /**\r
@@ -1008,11 +1017,11 @@ SendPacketWithoutData (
 **/\r
 VOID\r
 SendAckPacket (\r
-  IN UINT8                AckCommand\r
+  IN UINT8  AckCommand\r
   )\r
 {\r
-  UINT8                   SequenceNo;\r
-  DEBUG_AGENT_MAILBOX     *Mailbox;\r
+  UINT8                SequenceNo;\r
+  DEBUG_AGENT_MAILBOX  *Mailbox;\r
 \r
   if (AckCommand != DEBUG_COMMAND_OK) {\r
     //\r
@@ -1020,7 +1029,8 @@ SendAckPacket (
     //\r
     DebugAgentMsgPrint (DEBUG_AGENT_ERROR, "Send ACK(%d)\n", AckCommand);\r
   }\r
-  Mailbox = GetMailboxPointer();\r
+\r
+  Mailbox    = GetMailboxPointer ();\r
   SequenceNo = Mailbox->HostSequenceNo;\r
   DebugAgentMsgPrint (DEBUG_AGENT_INFO, "SendAckPacket: SequenceNo = %x\n", SequenceNo);\r
   SendPacketWithoutData (AckCommand, SequenceNo);\r
@@ -1038,30 +1048,31 @@ SendAckPacket (
 **/\r
 UINT8\r
 DecompressDataInPlace (\r
-  IN OUT UINT8   *Data,\r
-  IN UINTN       Length\r
+  IN OUT UINT8  *Data,\r
+  IN UINTN      Length\r
   )\r
 {\r
-  UINTN  Index;\r
-  UINT16 LastChar;\r
-  UINTN  LastCharCount;\r
-  UINT8  CurrentChar;\r
+  UINTN   Index;\r
+  UINT16  LastChar;\r
+  UINTN   LastCharCount;\r
+  UINT8   CurrentChar;\r
 \r
-  LastChar = (UINT16) -1;\r
+  LastChar      = (UINT16)-1;\r
   LastCharCount = 0;\r
   for (Index = 0; Index < Length; Index++) {\r
     CurrentChar = Data[Index];\r
     if (LastCharCount == 2) {\r
       LastCharCount = 0;\r
       CopyMem (&Data[Index + CurrentChar], &Data[Index + 1], Length - Index - 1);\r
-      SetMem (&Data[Index], CurrentChar, (UINT8) LastChar);\r
-      LastChar = (UINT16) -1;\r
-      Index += CurrentChar - 1;\r
-      Length += CurrentChar - 1;\r
+      SetMem (&Data[Index], CurrentChar, (UINT8)LastChar);\r
+      LastChar = (UINT16)-1;\r
+      Index   += CurrentChar - 1;\r
+      Length  += CurrentChar - 1;\r
     } else {\r
       if (LastChar != CurrentChar) {\r
         LastCharCount = 0;\r
       }\r
+\r
       LastCharCount++;\r
       LastChar = CurrentChar;\r
     }\r
@@ -1069,7 +1080,7 @@ DecompressDataInPlace (
 \r
   ASSERT (Length <= DEBUG_DATA_MAXIMUM_REAL_DATA);\r
 \r
-  return (UINT8) Length;\r
+  return (UINT8)Length;\r
 }\r
 \r
 /**\r
@@ -1092,27 +1103,27 @@ DecompressDataInPlace (
 **/\r
 RETURN_STATUS\r
 ReceivePacket (\r
-  OUT UINT8             *InputPacket,\r
-  OUT BOOLEAN           *BreakReceived,\r
-  OUT BOOLEAN           *IncompatibilityFlag  OPTIONAL,\r
-  IN  UINTN             Timeout,\r
-  IN  BOOLEAN           SkipStartSymbol\r
+  OUT UINT8    *InputPacket,\r
+  OUT BOOLEAN  *BreakReceived,\r
+  OUT BOOLEAN  *IncompatibilityFlag  OPTIONAL,\r
+  IN  UINTN    Timeout,\r
+  IN  BOOLEAN  SkipStartSymbol\r
   )\r
 {\r
-  DEBUG_PACKET_HEADER   *DebugHeader;\r
-  UINTN                 Received;\r
-  DEBUG_PORT_HANDLE     Handle;\r
-  UINT16                Crc;\r
-  UINTN                 TimeoutForStartSymbol;\r
+  DEBUG_PACKET_HEADER  *DebugHeader;\r
+  UINTN                Received;\r
+  DEBUG_PORT_HANDLE    Handle;\r
+  UINT16               Crc;\r
+  UINTN                TimeoutForStartSymbol;\r
 \r
-  Handle = GetDebugPortHandle();\r
+  Handle = GetDebugPortHandle ();\r
   if (SkipStartSymbol) {\r
     TimeoutForStartSymbol = 0;\r
   } else {\r
     TimeoutForStartSymbol = Timeout;\r
   }\r
 \r
-  DebugHeader = (DEBUG_PACKET_HEADER *) InputPacket;\r
+  DebugHeader = (DEBUG_PACKET_HEADER *)InputPacket;\r
   while (TRUE) {\r
     //\r
     // Find the valid start symbol\r
@@ -1133,7 +1144,7 @@ ReceivePacket (
     //\r
     Received = DebugAgentReadBuffer (\r
                  Handle,\r
-                 (UINT8 *) DebugHeader + OFFSET_OF (DEBUG_PACKET_HEADER, Command),\r
+                 (UINT8 *)DebugHeader + OFFSET_OF (DEBUG_PACKET_HEADER, Command),\r
                  OFFSET_OF (DEBUG_PACKET_HEADER, Length) + sizeof (DebugHeader->Length) - sizeof (DebugHeader->StartSymbol),\r
                  Timeout\r
                  );\r
@@ -1141,6 +1152,7 @@ ReceivePacket (
       DebugAgentMsgPrint (DEBUG_AGENT_ERROR, "DebugAgentReadBuffer(Command) timeout\n");\r
       return RETURN_TIMEOUT;\r
     }\r
+\r
     if (DebugHeader->Length < sizeof (DEBUG_PACKET_HEADER)) {\r
       if (IncompatibilityFlag != NULL) {\r
         //\r
@@ -1157,32 +1169,36 @@ ReceivePacket (
       //\r
       // Read the payload data include the CRC field\r
       //\r
-      Received = DebugAgentReadBuffer (Handle, &DebugHeader->SequenceNo, (UINT8) (DebugHeader->Length - OFFSET_OF (DEBUG_PACKET_HEADER, SequenceNo)), Timeout);\r
+      Received = DebugAgentReadBuffer (Handle, &DebugHeader->SequenceNo, (UINT8)(DebugHeader->Length - OFFSET_OF (DEBUG_PACKET_HEADER, SequenceNo)), Timeout);\r
       if (Received == 0) {\r
         DebugAgentMsgPrint (DEBUG_AGENT_ERROR, "DebugAgentReadBuffer(SequenceNo) timeout\n");\r
         return RETURN_TIMEOUT;\r
       }\r
+\r
       //\r
       // Calculate the CRC of Debug Packet\r
       //\r
-      Crc = DebugHeader->Crc;\r
+      Crc              = DebugHeader->Crc;\r
       DebugHeader->Crc = 0;\r
-      if (Crc == CalculateCrc16 ((UINT8 *) DebugHeader, DebugHeader->Length, 0)) {\r
+      if (Crc == CalculateCrc16 ((UINT8 *)DebugHeader, DebugHeader->Length, 0)) {\r
         break;\r
       }\r
+\r
       DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "CRC Error (received CRC is %x)\n", Crc);\r
-      DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, FALSE, (UINT8 *) DebugHeader, DebugHeader->Length);\r
+      DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, FALSE, (UINT8 *)DebugHeader, DebugHeader->Length);\r
     }\r
   }\r
 \r
-  DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, FALSE, (UINT8 *) DebugHeader, DebugHeader->Length);\r
+  DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, FALSE, (UINT8 *)DebugHeader, DebugHeader->Length);\r
 \r
   if (DebugHeader->StartSymbol == DEBUG_STARTING_SYMBOL_COMPRESS) {\r
     DebugHeader->StartSymbol = DEBUG_STARTING_SYMBOL_NORMAL;\r
     DebugHeader->Length      = DecompressDataInPlace (\r
-                                 (UINT8 *) (DebugHeader + 1), DebugHeader->Length - sizeof (DEBUG_PACKET_HEADER)\r
+                                 (UINT8 *)(DebugHeader + 1),\r
+                                 DebugHeader->Length - sizeof (DEBUG_PACKET_HEADER)\r
                                  ) + sizeof (DEBUG_PACKET_HEADER);\r
   }\r
+\r
   return RETURN_SUCCESS;\r
 }\r
 \r
@@ -1206,53 +1222,57 @@ ReceivePacket (
 **/\r
 RETURN_STATUS\r
 SendCommandAndWaitForAckOK (\r
-  IN  UINT8               Command,\r
-  IN  UINTN               Timeout,\r
-  OUT BOOLEAN             *BreakReceived  OPTIONAL,\r
-  OUT BOOLEAN             *IncompatibilityFlag OPTIONAL\r
+  IN  UINT8    Command,\r
+  IN  UINTN    Timeout,\r
+  OUT BOOLEAN  *BreakReceived  OPTIONAL,\r
+  OUT BOOLEAN  *IncompatibilityFlag OPTIONAL\r
   )\r
 {\r
-  RETURN_STATUS           Status;\r
-  UINT8                   InputPacketBuffer[DEBUG_DATA_UPPER_LIMIT];\r
-  DEBUG_PACKET_HEADER     *DebugHeader;\r
-  UINT8                   SequenceNo;\r
-  UINT8                   HostSequenceNo;\r
-  UINT8                   RetryCount;\r
+  RETURN_STATUS        Status;\r
+  UINT8                InputPacketBuffer[DEBUG_DATA_UPPER_LIMIT];\r
+  DEBUG_PACKET_HEADER  *DebugHeader;\r
+  UINT8                SequenceNo;\r
+  UINT8                HostSequenceNo;\r
+  UINT8                RetryCount;\r
 \r
   RetryCount  = 3;\r
-  DebugHeader = (DEBUG_PACKET_HEADER *) InputPacketBuffer;\r
+  DebugHeader = (DEBUG_PACKET_HEADER *)InputPacketBuffer;\r
   Status      = RETURN_TIMEOUT;\r
   while (RetryCount > 0) {\r
-    SequenceNo = GetMailboxPointer()->SequenceNo;\r
-    HostSequenceNo = GetMailboxPointer()->HostSequenceNo;\r
+    SequenceNo     = GetMailboxPointer ()->SequenceNo;\r
+    HostSequenceNo = GetMailboxPointer ()->HostSequenceNo;\r
     SendPacketWithoutData (Command, SequenceNo);\r
-    Status = ReceivePacket ((UINT8 *) DebugHeader, BreakReceived, IncompatibilityFlag, Timeout, FALSE);\r
+    Status = ReceivePacket ((UINT8 *)DebugHeader, BreakReceived, IncompatibilityFlag, Timeout, FALSE);\r
     if (Status == RETURN_TIMEOUT) {\r
       if (Command == DEBUG_COMMAND_INIT_BREAK) {\r
         RetryCount--;\r
       } else {\r
         DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "TARGET: Timeout when waiting for ACK packet.\n");\r
       }\r
+\r
       continue;\r
     }\r
+\r
     ASSERT_EFI_ERROR (Status);\r
     //\r
     // Status == RETURN_SUCCESS\r
     //\r
-    if (DebugHeader->Command == DEBUG_COMMAND_OK && DebugHeader->SequenceNo == SequenceNo) {\r
+    if ((DebugHeader->Command == DEBUG_COMMAND_OK) && (DebugHeader->SequenceNo == SequenceNo)) {\r
       //\r
       // Received Ack OK\r
       //\r
-      UpdateMailboxContent (GetMailboxPointer(), DEBUG_MAILBOX_SEQUENCE_NO_INDEX, ++SequenceNo);\r
+      UpdateMailboxContent (GetMailboxPointer (), DEBUG_MAILBOX_SEQUENCE_NO_INDEX, ++SequenceNo);\r
       return Status;\r
     }\r
-    if (DebugHeader->Command == DEBUG_COMMAND_GO && (DebugHeader->SequenceNo == HostSequenceNo || Command == DEBUG_COMMAND_INIT_BREAK)) {\r
+\r
+    if ((DebugHeader->Command == DEBUG_COMMAND_GO) && ((DebugHeader->SequenceNo == HostSequenceNo) || (Command == DEBUG_COMMAND_INIT_BREAK))) {\r
       //\r
       // Received Old GO\r
       //\r
       if (Command == DEBUG_COMMAND_INIT_BREAK) {\r
         DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "TARGET: Receive GO() in last boot\n");\r
       }\r
+\r
       SendPacketWithoutData (DEBUG_COMMAND_OK, DebugHeader->SequenceNo);\r
     }\r
   }\r
@@ -1272,89 +1292,89 @@ SendCommandAndWaitForAckOK (
 **/\r
 UINT8\r
 GetBreakCause (\r
-  IN UINTN                    Vector,\r
-  IN DEBUG_CPU_CONTEXT        *CpuContext\r
+  IN UINTN              Vector,\r
+  IN DEBUG_CPU_CONTEXT  *CpuContext\r
   )\r
 {\r
-  UINT8                    Cause;\r
+  UINT8  Cause;\r
 \r
   Cause = DEBUG_DATA_BREAK_CAUSE_UNKNOWN;\r
 \r
   switch (Vector) {\r
-  case DEBUG_INT1_VECTOR:\r
-  case DEBUG_INT3_VECTOR:\r
+    case DEBUG_INT1_VECTOR:\r
+    case DEBUG_INT3_VECTOR:\r
 \r
-    if (Vector == DEBUG_INT1_VECTOR) {\r
-      //\r
-      // INT 1\r
-      //\r
-      if ((CpuContext->Dr6 & BIT14) != 0) {\r
-        Cause = DEBUG_DATA_BREAK_CAUSE_STEPPING;\r
+      if (Vector == DEBUG_INT1_VECTOR) {\r
         //\r
-        // DR6.BIT14 Indicates (when set) that the debug exception was\r
-        // triggered by the single step execution mode.\r
-        // The single-step mode is the highest priority debug exception.\r
-        // This is single step, no need to check DR0, to ensure single step\r
-        // work in PeCoffExtraActionLib (right after triggering a breakpoint\r
-        // to report image load/unload).\r
+        // INT 1\r
         //\r
-        return Cause;\r
-\r
+        if ((CpuContext->Dr6 & BIT14) != 0) {\r
+          Cause = DEBUG_DATA_BREAK_CAUSE_STEPPING;\r
+          //\r
+          // DR6.BIT14 Indicates (when set) that the debug exception was\r
+          // triggered by the single step execution mode.\r
+          // The single-step mode is the highest priority debug exception.\r
+          // This is single step, no need to check DR0, to ensure single step\r
+          // work in PeCoffExtraActionLib (right after triggering a breakpoint\r
+          // to report image load/unload).\r
+          //\r
+          return Cause;\r
+        } else {\r
+          Cause = DEBUG_DATA_BREAK_CAUSE_HW_BREAKPOINT;\r
+        }\r
       } else {\r
-        Cause = DEBUG_DATA_BREAK_CAUSE_HW_BREAKPOINT;\r
+        //\r
+        // INT 3\r
+        //\r
+        Cause = DEBUG_DATA_BREAK_CAUSE_SW_BREAKPOINT;\r
       }\r
-    } else {\r
-      //\r
-      // INT 3\r
-      //\r
-      Cause = DEBUG_DATA_BREAK_CAUSE_SW_BREAKPOINT;\r
-    }\r
 \r
-    switch (CpuContext->Dr0) {\r
-    case IMAGE_LOAD_SIGNATURE:\r
-    case IMAGE_UNLOAD_SIGNATURE:\r
+      switch (CpuContext->Dr0) {\r
+        case IMAGE_LOAD_SIGNATURE:\r
+        case IMAGE_UNLOAD_SIGNATURE:\r
 \r
-      if (CpuContext->Dr3 == IO_PORT_BREAKPOINT_ADDRESS) {\r
+          if (CpuContext->Dr3 == IO_PORT_BREAKPOINT_ADDRESS) {\r
+            Cause = (UINT8)((CpuContext->Dr0 == IMAGE_LOAD_SIGNATURE) ?\r
+                            DEBUG_DATA_BREAK_CAUSE_IMAGE_LOAD : DEBUG_DATA_BREAK_CAUSE_IMAGE_UNLOAD);\r
+          }\r
 \r
-        Cause = (UINT8) ((CpuContext->Dr0 == IMAGE_LOAD_SIGNATURE) ?\r
-          DEBUG_DATA_BREAK_CAUSE_IMAGE_LOAD : DEBUG_DATA_BREAK_CAUSE_IMAGE_UNLOAD);\r
-      }\r
-      break;\r
+          break;\r
 \r
-    case SOFT_INTERRUPT_SIGNATURE:\r
+        case SOFT_INTERRUPT_SIGNATURE:\r
 \r
-      if (CpuContext->Dr1 == MEMORY_READY_SIGNATURE) {\r
-        Cause = DEBUG_DATA_BREAK_CAUSE_MEMORY_READY;\r
-        CpuContext->Dr0 = 0;\r
-      } else if (CpuContext->Dr1 == SYSTEM_RESET_SIGNATURE) {\r
-        Cause = DEBUG_DATA_BREAK_CAUSE_SYSTEM_RESET;\r
-        CpuContext->Dr0 = 0;\r
-      }\r
-      break;\r
+          if (CpuContext->Dr1 == MEMORY_READY_SIGNATURE) {\r
+            Cause           = DEBUG_DATA_BREAK_CAUSE_MEMORY_READY;\r
+            CpuContext->Dr0 = 0;\r
+          } else if (CpuContext->Dr1 == SYSTEM_RESET_SIGNATURE) {\r
+            Cause           = DEBUG_DATA_BREAK_CAUSE_SYSTEM_RESET;\r
+            CpuContext->Dr0 = 0;\r
+          }\r
 \r
-    default:\r
-      break;\r
+          break;\r
 \r
-    }\r
+        default:\r
+          break;\r
+      }\r
 \r
-    break;\r
+      break;\r
 \r
-  case DEBUG_TIMER_VECTOR:\r
-    Cause = DEBUG_DATA_BREAK_CAUSE_USER_HALT;\r
-    break;\r
+    case DEBUG_TIMER_VECTOR:\r
+      Cause = DEBUG_DATA_BREAK_CAUSE_USER_HALT;\r
+      break;\r
 \r
-  default:\r
-    if (Vector < 20) {\r
-      if (GetDebugFlag (DEBUG_AGENT_FLAG_STEPPING) == 1) {\r
-        //\r
-        // If stepping command is executing\r
-        //\r
-        Cause = DEBUG_DATA_BREAK_CAUSE_STEPPING;\r
-      } else {\r
-        Cause = DEBUG_DATA_BREAK_CAUSE_EXCEPTION;\r
+    default:\r
+      if (Vector < 20) {\r
+        if (GetDebugFlag (DEBUG_AGENT_FLAG_STEPPING) == 1) {\r
+          //\r
+          // If stepping command is executing\r
+          //\r
+          Cause = DEBUG_DATA_BREAK_CAUSE_STEPPING;\r
+        } else {\r
+          Cause = DEBUG_DATA_BREAK_CAUSE_EXCEPTION;\r
+        }\r
       }\r
-    }\r
-    break;\r
+\r
+      break;\r
   }\r
 \r
   return Cause;\r
@@ -1371,15 +1391,15 @@ GetBreakCause (
 **/\r
 VOID\r
 CopyMemByWidth (\r
-  OUT UINT8               *Dest,\r
-  IN  UINT8               *Src,\r
-  IN  UINT16              Count,\r
-  IN  UINT8               Width\r
+  OUT UINT8   *Dest,\r
+  IN  UINT8   *Src,\r
+  IN  UINT16  Count,\r
+  IN  UINT8   Width\r
   )\r
 {\r
-  UINT8                   *Destination;\r
-  UINT8                   *Source;\r
-  INT8                    Step;\r
+  UINT8  *Destination;\r
+  UINT8  *Source;\r
+  INT8   Step;\r
 \r
   if (Src > Dest) {\r
     Destination = Dest;\r
@@ -1396,21 +1416,22 @@ CopyMemByWidth (
 \r
   while (Count-- != 0) {\r
     switch (Width) {\r
-    case 1:\r
-      *(UINT8 *) Destination = MmioRead8 ((UINTN) Source);\r
-      break;\r
-    case 2:\r
-      *(UINT16 *) Destination = MmioRead16 ((UINTN) Source);\r
-      break;\r
-    case 4:\r
-      *(UINT32 *) Destination = MmioRead32 ((UINTN) Source);\r
-      break;\r
-    case 8:\r
-      *(UINT64 *) Destination = MmioRead64 ((UINTN) Source);\r
-      break;\r
-    default:\r
-      ASSERT (FALSE);\r
+      case 1:\r
+        *(UINT8 *)Destination = MmioRead8 ((UINTN)Source);\r
+        break;\r
+      case 2:\r
+        *(UINT16 *)Destination = MmioRead16 ((UINTN)Source);\r
+        break;\r
+      case 4:\r
+        *(UINT32 *)Destination = MmioRead32 ((UINTN)Source);\r
+        break;\r
+      case 8:\r
+        *(UINT64 *)Destination = MmioRead64 ((UINTN)Source);\r
+        break;\r
+      default:\r
+        ASSERT (FALSE);\r
     }\r
+\r
     Source      += Step;\r
     Destination += Step;\r
   }\r
@@ -1437,19 +1458,19 @@ CopyMemByWidth (
 **/\r
 VOID\r
 CompressData (\r
-  IN  DEBUG_PORT_HANDLE Handle,\r
-  IN  UINT8             *Data,\r
-  IN  UINT8             Length,\r
-  IN  BOOLEAN           Send,\r
-  OUT UINTN             *CompressedLength   OPTIONAL,\r
-  OUT UINT16            *CompressedCrc      OPTIONAL\r
+  IN  DEBUG_PORT_HANDLE  Handle,\r
+  IN  UINT8              *Data,\r
+  IN  UINT8              Length,\r
+  IN  BOOLEAN            Send,\r
+  OUT UINTN              *CompressedLength   OPTIONAL,\r
+  OUT UINT16             *CompressedCrc      OPTIONAL\r
   )\r
 {\r
-  UINTN                 Index;\r
-  UINT8                 LastChar;\r
-  UINT8                 LastCharCount;\r
-  UINT8                 CurrentChar;\r
-  UINTN                 CompressedIndex;\r
+  UINTN  Index;\r
+  UINT8  LastChar;\r
+  UINT8  LastCharCount;\r
+  UINT8  CurrentChar;\r
+  UINTN  CompressedIndex;\r
 \r
   ASSERT (Length > 0);\r
   LastChar      = Data[0] + 1; // Just ensure it's different from the first byte.\r
@@ -1459,34 +1480,38 @@ CompressData (
     if (Index < Length) {\r
       CurrentChar = Data[Index];\r
     } else {\r
-      CurrentChar = (UINT8) LastChar + 1; // just ensure it's different from LastChar\r
+      CurrentChar = (UINT8)LastChar + 1;  // just ensure it's different from LastChar\r
     }\r
+\r
     if (LastChar != CurrentChar) {\r
       if (LastCharCount == 1) {\r
         CompressedIndex++;\r
         if (CompressedCrc != NULL) {\r
           *CompressedCrc = CalculateCrc16 (&LastChar, 1, *CompressedCrc);\r
         }\r
+\r
         if (Send) {\r
           DebugPortWriteBuffer (Handle, &LastChar, 1);\r
         }\r
-\r
       } else if (LastCharCount >= 2) {\r
         CompressedIndex += 3;\r
-        LastCharCount -= 2;\r
+        LastCharCount   -= 2;\r
         if (CompressedCrc != NULL) {\r
           *CompressedCrc = CalculateCrc16 (&LastChar, 1, *CompressedCrc);\r
           *CompressedCrc = CalculateCrc16 (&LastChar, 1, *CompressedCrc);\r
           *CompressedCrc = CalculateCrc16 (&LastCharCount, 1, *CompressedCrc);\r
         }\r
+\r
         if (Send) {\r
           DebugPortWriteBuffer (Handle, &LastChar, 1);\r
           DebugPortWriteBuffer (Handle, &LastChar, 1);\r
           DebugPortWriteBuffer (Handle, &LastCharCount, 1);\r
         }\r
       }\r
+\r
       LastCharCount = 0;\r
     }\r
+\r
     LastCharCount++;\r
     LastChar = CurrentChar;\r
   }\r
@@ -1510,41 +1535,42 @@ CompressData (
 **/\r
 RETURN_STATUS\r
 ReadMemoryAndSendResponsePacket (\r
-  IN UINT8                   *Data,\r
-  IN UINT16                  Count,\r
-  IN UINT8                   Width,\r
-  IN DEBUG_PACKET_HEADER     *DebugHeader\r
+  IN UINT8                *Data,\r
+  IN UINT16               Count,\r
+  IN UINT8                Width,\r
+  IN DEBUG_PACKET_HEADER  *DebugHeader\r
   )\r
 {\r
-  RETURN_STATUS        Status;\r
-  BOOLEAN              LastPacket;\r
-  DEBUG_PORT_HANDLE    Handle;\r
-  UINT8                SequenceNo;\r
-  UINTN                RemainingDataSize;\r
-  UINT8                CurrentDataSize;\r
-  UINTN                CompressedDataSize;\r
+  RETURN_STATUS      Status;\r
+  BOOLEAN            LastPacket;\r
+  DEBUG_PORT_HANDLE  Handle;\r
+  UINT8              SequenceNo;\r
+  UINTN              RemainingDataSize;\r
+  UINT8              CurrentDataSize;\r
+  UINTN              CompressedDataSize;\r
 \r
-  Handle = GetDebugPortHandle();\r
+  Handle = GetDebugPortHandle ();\r
 \r
   RemainingDataSize = Count * Width;\r
   while (TRUE) {\r
-    SequenceNo = GetMailboxPointer()->HostSequenceNo;\r
+    SequenceNo = GetMailboxPointer ()->HostSequenceNo;\r
     if (RemainingDataSize <= DEBUG_DATA_MAXIMUM_REAL_DATA) {\r
       //\r
       // If the remaining data is less one real packet size, this is the last data packet\r
       //\r
-      CurrentDataSize = (UINT8) RemainingDataSize;\r
-      LastPacket = TRUE;\r
+      CurrentDataSize      = (UINT8)RemainingDataSize;\r
+      LastPacket           = TRUE;\r
       DebugHeader->Command = DEBUG_COMMAND_OK;\r
     } else {\r
       //\r
       // Data is too larger to be sent in one packet, calculate the actual data size could\r
       // be sent in one Maximum data packet\r
       //\r
-      CurrentDataSize = (DEBUG_DATA_MAXIMUM_REAL_DATA / Width) * Width;\r
-      LastPacket = FALSE;\r
+      CurrentDataSize      = (DEBUG_DATA_MAXIMUM_REAL_DATA / Width) * Width;\r
+      LastPacket           = FALSE;\r
       DebugHeader->Command = DEBUG_COMMAND_IN_PROGRESS;\r
     }\r
+\r
     //\r
     // Construct the rest Debug header\r
     //\r
@@ -1552,19 +1578,19 @@ ReadMemoryAndSendResponsePacket (
     DebugHeader->Length      = CurrentDataSize + sizeof (DEBUG_PACKET_HEADER);\r
     DebugHeader->SequenceNo  = SequenceNo;\r
     DebugHeader->Crc         = 0;\r
-    CopyMemByWidth ((UINT8 *) (DebugHeader + 1), Data, CurrentDataSize / Width, Width);\r
+    CopyMemByWidth ((UINT8 *)(DebugHeader + 1), Data, CurrentDataSize / Width, Width);\r
 \r
     //\r
     // Compression/decompression support was added since revision 0.4.\r
     // Revision 0.3 shouldn't compress the packet.\r
     //\r
-    if (PcdGet32(PcdTransferProtocolRevision) >= DEBUG_AGENT_REVISION_04) {\r
+    if (PcdGet32 (PcdTransferProtocolRevision) >= DEBUG_AGENT_REVISION_04) {\r
       //\r
       // Get the compressed data size without modifying the packet.\r
       //\r
       CompressData (\r
         Handle,\r
-        (UINT8 *) (DebugHeader + 1),\r
+        (UINT8 *)(DebugHeader + 1),\r
         CurrentDataSize,\r
         FALSE,\r
         &CompressedDataSize,\r
@@ -1573,16 +1599,17 @@ ReadMemoryAndSendResponsePacket (
     } else {\r
       CompressedDataSize = CurrentDataSize;\r
     }\r
+\r
     if (CompressedDataSize < CurrentDataSize) {\r
-      DebugHeader->Length = (UINT8) CompressedDataSize + sizeof (DEBUG_PACKET_HEADER);\r
+      DebugHeader->Length      = (UINT8)CompressedDataSize + sizeof (DEBUG_PACKET_HEADER);\r
       DebugHeader->StartSymbol = DEBUG_STARTING_SYMBOL_COMPRESS;\r
       //\r
       // Compute the CRC of the packet head without modifying the packet.\r
       //\r
-      DebugHeader->Crc = CalculateCrc16 ((UINT8 *) DebugHeader, sizeof (DEBUG_PACKET_HEADER), 0);\r
+      DebugHeader->Crc = CalculateCrc16 ((UINT8 *)DebugHeader, sizeof (DEBUG_PACKET_HEADER), 0);\r
       CompressData (\r
         Handle,\r
-        (UINT8 *) (DebugHeader + 1),\r
+        (UINT8 *)(DebugHeader + 1),\r
         CurrentDataSize,\r
         FALSE,\r
         NULL,\r
@@ -1591,51 +1618,53 @@ ReadMemoryAndSendResponsePacket (
       //\r
       // Send out the packet head.\r
       //\r
-      DebugPortWriteBuffer (Handle, (UINT8 *) DebugHeader, sizeof (DEBUG_PACKET_HEADER));\r
+      DebugPortWriteBuffer (Handle, (UINT8 *)DebugHeader, sizeof (DEBUG_PACKET_HEADER));\r
       //\r
       // Compress and send out the packet data.\r
       //\r
       CompressData (\r
         Handle,\r
-        (UINT8 *) (DebugHeader + 1),\r
+        (UINT8 *)(DebugHeader + 1),\r
         CurrentDataSize,\r
         TRUE,\r
         NULL,\r
         NULL\r
         );\r
     } else {\r
-\r
       //\r
       // Calculate and fill the checksum, DebugHeader->Crc should be 0 before invoking CalculateCrc16 ()\r
       //\r
-      DebugHeader->Crc = CalculateCrc16 ((UINT8 *) DebugHeader, DebugHeader->Length, 0);\r
+      DebugHeader->Crc = CalculateCrc16 ((UINT8 *)DebugHeader, DebugHeader->Length, 0);\r
 \r
-      DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, TRUE, (UINT8 *) DebugHeader, DebugHeader->Length);\r
+      DebugAgentDataMsgPrint (DEBUG_AGENT_VERBOSE, TRUE, (UINT8 *)DebugHeader, DebugHeader->Length);\r
 \r
-      DebugPortWriteBuffer (Handle, (UINT8 *) DebugHeader, DebugHeader->Length);\r
+      DebugPortWriteBuffer (Handle, (UINT8 *)DebugHeader, DebugHeader->Length);\r
     }\r
 \r
     while (TRUE) {\r
-      Status = ReceivePacket ((UINT8 *) DebugHeader, NULL, NULL, READ_PACKET_TIMEOUT, FALSE);\r
+      Status = ReceivePacket ((UINT8 *)DebugHeader, NULL, NULL, READ_PACKET_TIMEOUT, FALSE);\r
       if (Status == RETURN_TIMEOUT) {\r
         DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "TARGET: Timeout in SendDataResponsePacket()\n");\r
         break;\r
       }\r
+\r
       if ((DebugHeader->Command == DEBUG_COMMAND_OK) && (DebugHeader->SequenceNo == SequenceNo) && LastPacket) {\r
         //\r
         // If this is the last packet, return RETURN_SUCCESS.\r
         //\r
         return RETURN_SUCCESS;\r
       }\r
-      if ((DebugHeader->Command == DEBUG_COMMAND_CONTINUE) && (DebugHeader->SequenceNo == (UINT8) (SequenceNo + 1))) {\r
+\r
+      if ((DebugHeader->Command == DEBUG_COMMAND_CONTINUE) && (DebugHeader->SequenceNo == (UINT8)(SequenceNo + 1))) {\r
         //\r
         // Calculate the rest data size\r
         //\r
         Data              += CurrentDataSize;\r
         RemainingDataSize -= CurrentDataSize;\r
-        UpdateMailboxContent (GetMailboxPointer(), DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, DebugHeader->SequenceNo);\r
+        UpdateMailboxContent (GetMailboxPointer (), DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, DebugHeader->SequenceNo);\r
         break;\r
       }\r
+\r
       if (DebugHeader->SequenceNo >= SequenceNo) {\r
         DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "TARGET: Received one old or new command(SequenceNo is %x, last SequenceNo is %x)\n", SequenceNo, DebugHeader->SequenceNo);\r
         break;\r
@@ -1657,9 +1686,9 @@ ReadMemoryAndSendResponsePacket (
 **/\r
 RETURN_STATUS\r
 SendDataResponsePacket (\r
-  IN UINT8                   *Data,\r
-  IN UINT16                  DataSize,\r
-  IN OUT DEBUG_PACKET_HEADER *DebugHeader\r
+  IN UINT8                    *Data,\r
+  IN UINT16                   DataSize,\r
+  IN OUT DEBUG_PACKET_HEADER  *DebugHeader\r
   )\r
 {\r
   return ReadMemoryAndSendResponsePacket (Data, DataSize, 1, DebugHeader);\r
@@ -1682,45 +1711,47 @@ SendDataResponsePacket (
 **/\r
 RETURN_STATUS\r
 AttachHost (\r
-  IN  UINT8                BreakCause,\r
-  IN  UINTN                Timeout,\r
-  OUT BOOLEAN              *BreakReceived\r
+  IN  UINT8    BreakCause,\r
+  IN  UINTN    Timeout,\r
+  OUT BOOLEAN  *BreakReceived\r
   )\r
 {\r
-  RETURN_STATUS                    Status;\r
-  DEBUG_PORT_HANDLE                Handle;\r
-  BOOLEAN                          IncompatibilityFlag;\r
+  RETURN_STATUS      Status;\r
+  DEBUG_PORT_HANDLE  Handle;\r
+  BOOLEAN            IncompatibilityFlag;\r
 \r
   IncompatibilityFlag = FALSE;\r
-  Handle = GetDebugPortHandle();\r
+  Handle              = GetDebugPortHandle ();\r
 \r
   //\r
   // Send init break and wait ack in Timeout\r
   //\r
-  DebugPortWriteBuffer (Handle, (UINT8 *) mErrorMsgSendInitPacket, AsciiStrLen (mErrorMsgSendInitPacket));\r
+  DebugPortWriteBuffer (Handle, (UINT8 *)mErrorMsgSendInitPacket, AsciiStrLen (mErrorMsgSendInitPacket));\r
   if (BreakCause == DEBUG_DATA_BREAK_CAUSE_SYSTEM_RESET) {\r
     Status = SendCommandAndWaitForAckOK (DEBUG_COMMAND_INIT_BREAK, Timeout, BreakReceived, &IncompatibilityFlag);\r
   } else {\r
     Status = SendCommandAndWaitForAckOK (DEBUG_COMMAND_ATTACH_BREAK, Timeout, BreakReceived, &IncompatibilityFlag);\r
   }\r
+\r
   if (IncompatibilityFlag) {\r
     //\r
     // If the incompatible Debug Packet received, the HOST should be running transfer protocol before PcdTransferProtocolRevision.\r
     // It could be UDK Debugger for Windows v1.1/v1.2 or for Linux v0.8/v1.2.\r
     //\r
-    DebugPortWriteBuffer (Handle, (UINT8 *) mErrorMsgVersionAlert, AsciiStrLen (mErrorMsgVersionAlert));\r
+    DebugPortWriteBuffer (Handle, (UINT8 *)mErrorMsgVersionAlert, AsciiStrLen (mErrorMsgVersionAlert));\r
     CpuDeadLoop ();\r
   }\r
 \r
   if (RETURN_ERROR (Status)) {\r
-    DebugPortWriteBuffer (Handle, (UINT8 *) mErrorMsgConnectFail, AsciiStrLen (mErrorMsgConnectFail));\r
+    DebugPortWriteBuffer (Handle, (UINT8 *)mErrorMsgConnectFail, AsciiStrLen (mErrorMsgConnectFail));\r
   } else {\r
-    DebugPortWriteBuffer (Handle, (UINT8 *) mErrorMsgConnectOK, AsciiStrLen (mErrorMsgConnectOK));\r
+    DebugPortWriteBuffer (Handle, (UINT8 *)mErrorMsgConnectOK, AsciiStrLen (mErrorMsgConnectOK));\r
     //\r
     // Set Attach flag\r
     //\r
     SetHostAttached (TRUE);\r
   }\r
+\r
   return Status;\r
 }\r
 \r
@@ -1738,15 +1769,15 @@ AttachHost (
 **/\r
 VOID\r
 SendBreakPacketToHost (\r
-  IN  UINT8                BreakCause,\r
-  IN  UINT32               ProcessorIndex,\r
-  OUT BOOLEAN              *BreakReceived\r
+  IN  UINT8    BreakCause,\r
+  IN  UINT32   ProcessorIndex,\r
+  OUT BOOLEAN  *BreakReceived\r
   )\r
 {\r
-  UINT8                 InputCharacter;\r
-  DEBUG_PORT_HANDLE     Handle;\r
+  UINT8              InputCharacter;\r
+  DEBUG_PORT_HANDLE  Handle;\r
 \r
-  Handle = GetDebugPortHandle();\r
+  Handle = GetDebugPortHandle ();\r
 \r
   if (IsHostAttached ()) {\r
     DebugAgentMsgPrint (DEBUG_AGENT_INFO, "processor[%x]:Send Break Packet to HOST.\n", ProcessorIndex);\r
@@ -1762,13 +1793,14 @@ SendBreakPacketToHost (
     do {\r
       DebugAgentReadBuffer (Handle, &InputCharacter, 1, 0);\r
     } while (InputCharacter != DEBUG_STARTING_SYMBOL_ATTACH);\r
+\r
     SendAckPacket (DEBUG_COMMAND_OK);\r
 \r
     //\r
     // Try to attach HOST\r
     //\r
-    while (AttachHost (BreakCause, 0, NULL) != RETURN_SUCCESS);\r
-\r
+    while (AttachHost (BreakCause, 0, NULL) != RETURN_SUCCESS) {\r
+    }\r
   }\r
 }\r
 \r
@@ -1785,46 +1817,46 @@ SendBreakPacketToHost (
 **/\r
 VOID\r
 CommandCommunication (\r
-  IN     UINTN                   Vector,\r
-  IN OUT DEBUG_CPU_CONTEXT       *CpuContext,\r
-  IN     BOOLEAN                 BreakReceived\r
+  IN     UINTN              Vector,\r
+  IN OUT DEBUG_CPU_CONTEXT  *CpuContext,\r
+  IN     BOOLEAN            BreakReceived\r
   )\r
 {\r
-  RETURN_STATUS                     Status;\r
-  UINT8                             InputPacketBuffer[DEBUG_DATA_UPPER_LIMIT + sizeof (UINT64) - 1];\r
-  DEBUG_PACKET_HEADER               *DebugHeader;\r
-  UINT8                             Width;\r
-  UINT8                             Data8;\r
-  UINT32                            Data32;\r
-  UINT64                            Data64;\r
-  DEBUG_DATA_READ_MEMORY            *MemoryRead;\r
-  DEBUG_DATA_WRITE_MEMORY           *MemoryWrite;\r
-  DEBUG_DATA_READ_IO                *IoRead;\r
-  DEBUG_DATA_WRITE_IO               *IoWrite;\r
-  DEBUG_DATA_READ_REGISTER          *RegisterRead;\r
-  DEBUG_DATA_WRITE_REGISTER         *RegisterWrite;\r
-  UINT8                             *RegisterBuffer;\r
-  DEBUG_DATA_READ_MSR               *MsrRegisterRead;\r
-  DEBUG_DATA_WRITE_MSR              *MsrRegisterWrite;\r
-  DEBUG_DATA_CPUID                  *Cpuid;\r
-  DEBUG_DATA_RESPONSE_BREAK_CAUSE   BreakCause;\r
-  DEBUG_DATA_RESPONSE_CPUID         CpuidResponse;\r
-  DEBUG_DATA_SEARCH_SIGNATURE       *SearchSignature;\r
-  DEBUG_DATA_RESPONSE_GET_EXCEPTION Exception;\r
-  DEBUG_DATA_RESPONSE_GET_REVISION  DebugAgentRevision;\r
-  DEBUG_DATA_SET_VIEWPOINT          *SetViewPoint;\r
-  BOOLEAN                           HaltDeferred;\r
-  UINT32                            ProcessorIndex;\r
-  DEBUG_AGENT_EXCEPTION_BUFFER      AgentExceptionBuffer;\r
-  UINT32                            IssuedViewPoint;\r
-  DEBUG_AGENT_MAILBOX               *Mailbox;\r
-  UINT8                             *AlignedDataPtr;\r
+  RETURN_STATUS                      Status;\r
+  UINT8                              InputPacketBuffer[DEBUG_DATA_UPPER_LIMIT + sizeof (UINT64) - 1];\r
+  DEBUG_PACKET_HEADER                *DebugHeader;\r
+  UINT8                              Width;\r
+  UINT8                              Data8;\r
+  UINT32                             Data32;\r
+  UINT64                             Data64;\r
+  DEBUG_DATA_READ_MEMORY             *MemoryRead;\r
+  DEBUG_DATA_WRITE_MEMORY            *MemoryWrite;\r
+  DEBUG_DATA_READ_IO                 *IoRead;\r
+  DEBUG_DATA_WRITE_IO                *IoWrite;\r
+  DEBUG_DATA_READ_REGISTER           *RegisterRead;\r
+  DEBUG_DATA_WRITE_REGISTER          *RegisterWrite;\r
+  UINT8                              *RegisterBuffer;\r
+  DEBUG_DATA_READ_MSR                *MsrRegisterRead;\r
+  DEBUG_DATA_WRITE_MSR               *MsrRegisterWrite;\r
+  DEBUG_DATA_CPUID                   *Cpuid;\r
+  DEBUG_DATA_RESPONSE_BREAK_CAUSE    BreakCause;\r
+  DEBUG_DATA_RESPONSE_CPUID          CpuidResponse;\r
+  DEBUG_DATA_SEARCH_SIGNATURE        *SearchSignature;\r
+  DEBUG_DATA_RESPONSE_GET_EXCEPTION  Exception;\r
+  DEBUG_DATA_RESPONSE_GET_REVISION   DebugAgentRevision;\r
+  DEBUG_DATA_SET_VIEWPOINT           *SetViewPoint;\r
+  BOOLEAN                            HaltDeferred;\r
+  UINT32                             ProcessorIndex;\r
+  DEBUG_AGENT_EXCEPTION_BUFFER       AgentExceptionBuffer;\r
+  UINT32                             IssuedViewPoint;\r
+  DEBUG_AGENT_MAILBOX                *Mailbox;\r
+  UINT8                              *AlignedDataPtr;\r
 \r
   ProcessorIndex  = 0;\r
   IssuedViewPoint = 0;\r
   HaltDeferred    = BreakReceived;\r
 \r
-  if (MultiProcessorDebugSupport()) {\r
+  if (MultiProcessorDebugSupport ()) {\r
     ProcessorIndex = GetProcessorIndex ();\r
     SetCpuStopFlagByIndex (ProcessorIndex, TRUE);\r
     if (mDebugMpContext.ViewPointIndex == ProcessorIndex) {\r
@@ -1843,8 +1875,7 @@ CommandCommunication (
   }\r
 \r
   while (TRUE) {\r
-\r
-    if (MultiProcessorDebugSupport()) {\r
+    if (MultiProcessorDebugSupport ()) {\r
       //\r
       // Check if the current processor is HOST view point\r
       //\r
@@ -1868,11 +1899,11 @@ CommandCommunication (
 \r
     AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
 \r
-    DebugHeader =(DEBUG_PACKET_HEADER *) InputPacketBuffer;\r
+    DebugHeader = (DEBUG_PACKET_HEADER *)InputPacketBuffer;\r
 \r
     DebugAgentMsgPrint (DEBUG_AGENT_INFO, "TARGET: Try to get command from HOST...\n");\r
-    Status = ReceivePacket ((UINT8 *) DebugHeader, &BreakReceived, NULL, READ_PACKET_TIMEOUT, TRUE);\r
-    if (Status != RETURN_SUCCESS || !IS_REQUEST (DebugHeader)) {\r
+    Status = ReceivePacket ((UINT8 *)DebugHeader, &BreakReceived, NULL, READ_PACKET_TIMEOUT, TRUE);\r
+    if ((Status != RETURN_SUCCESS) || !IS_REQUEST (DebugHeader)) {\r
       DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "TARGET: Get command[%x] sequenceno[%x] returned status is [%x] \n", DebugHeader->Command, DebugHeader->SequenceNo, Status);\r
       DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "TARGET: Get command failed or it's response packet not expected! \n");\r
       ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
@@ -1885,8 +1916,8 @@ CommandCommunication (
       SendAckPacket (Mailbox->LastAck);\r
       ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
       continue;\r
-    } else if (DebugHeader->SequenceNo == (UINT8) (Mailbox->HostSequenceNo + 1)) {\r
-      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, (UINT8) DebugHeader->SequenceNo);\r
+    } else if (DebugHeader->SequenceNo == (UINT8)(Mailbox->HostSequenceNo + 1)) {\r
+      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, (UINT8)DebugHeader->SequenceNo);\r
     } else {\r
       DebugAgentMsgPrint (DEBUG_AGENT_WARNING, "Receive one invalid command[%x] against command[%x]\n", DebugHeader->SequenceNo, Mailbox->HostSequenceNo);\r
       ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
@@ -1896,7 +1927,7 @@ CommandCommunication (
     //\r
     // Save CPU content before executing HOST command\r
     //\r
-    UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_EXCEPTION_BUFFER_POINTER_INDEX, (UINT64)(UINTN) &AgentExceptionBuffer.JumpBuffer);\r
+    UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_EXCEPTION_BUFFER_POINTER_INDEX, (UINT64)(UINTN)&AgentExceptionBuffer.JumpBuffer);\r
     if (SetJump (&AgentExceptionBuffer.JumpBuffer) != 0) {\r
       //\r
       // If HOST command failed, continue to wait for HOST's next command\r
@@ -1910,380 +1941,397 @@ CommandCommunication (
     DebugAgentMsgPrint (DEBUG_AGENT_INFO, "Processor[%x]:Received one command(%x)\n", mDebugMpContext.ViewPointIndex, DebugHeader->Command);\r
 \r
     switch (DebugHeader->Command) {\r
+      case DEBUG_COMMAND_HALT:\r
+        SendAckPacket (DEBUG_COMMAND_HALT_DEFERRED);\r
+        HaltDeferred  = TRUE;\r
+        BreakReceived = FALSE;\r
+        Status        = RETURN_SUCCESS;\r
+        break;\r
 \r
-    case DEBUG_COMMAND_HALT:\r
-      SendAckPacket (DEBUG_COMMAND_HALT_DEFERRED);\r
-      HaltDeferred = TRUE;\r
-      BreakReceived = FALSE;\r
-      Status = RETURN_SUCCESS;\r
-      break;\r
-\r
-    case DEBUG_COMMAND_RESET:\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
-\r
-      ResetCold ();\r
-      //\r
-      // Assume system resets in 2 seconds, otherwise send TIMEOUT packet.\r
-      // PCD can be used if 2 seconds isn't long enough for some platforms.\r
-      //\r
-      MicroSecondDelay (2000000);\r
-      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, Mailbox->HostSequenceNo + 1);\r
-      SendAckPacket (DEBUG_COMMAND_TIMEOUT);\r
-      SendAckPacket (DEBUG_COMMAND_TIMEOUT);\r
-      SendAckPacket (DEBUG_COMMAND_TIMEOUT);\r
-      break;\r
+      case DEBUG_COMMAND_RESET:\r
+        SendAckPacket (DEBUG_COMMAND_OK);\r
+        SendAckPacket (DEBUG_COMMAND_OK);\r
+        SendAckPacket (DEBUG_COMMAND_OK);\r
+        ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
 \r
-    case DEBUG_COMMAND_GO:\r
-      CommandGo (CpuContext);\r
-      //\r
-      // Clear Dr0 to avoid to be recognized as IMAGE_LOAD/_UNLOAD again when hitting a breakpoint after GO\r
-      // If HOST changed Dr0 before GO, we will not change Dr0 here\r
-      //\r
-      Data8 = GetBreakCause (Vector, CpuContext);\r
-      if (Data8 == DEBUG_DATA_BREAK_CAUSE_IMAGE_LOAD || Data8 == DEBUG_DATA_BREAK_CAUSE_IMAGE_UNLOAD) {\r
-        CpuContext->Dr0 = 0;\r
-      }\r
+        ResetCold ();\r
+        //\r
+        // Assume system resets in 2 seconds, otherwise send TIMEOUT packet.\r
+        // PCD can be used if 2 seconds isn't long enough for some platforms.\r
+        //\r
+        MicroSecondDelay (2000000);\r
+        UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, Mailbox->HostSequenceNo + 1);\r
+        SendAckPacket (DEBUG_COMMAND_TIMEOUT);\r
+        SendAckPacket (DEBUG_COMMAND_TIMEOUT);\r
+        SendAckPacket (DEBUG_COMMAND_TIMEOUT);\r
+        break;\r
 \r
-      if (!HaltDeferred) {\r
+      case DEBUG_COMMAND_GO:\r
+        CommandGo (CpuContext);\r
         //\r
-        // If no HALT command received when being in-active mode\r
+        // Clear Dr0 to avoid to be recognized as IMAGE_LOAD/_UNLOAD again when hitting a breakpoint after GO\r
+        // If HOST changed Dr0 before GO, we will not change Dr0 here\r
         //\r
-        if (MultiProcessorDebugSupport()) {\r
-          Data32 = FindNextPendingBreakCpu ();\r
-          if (Data32 != -1) {\r
+        Data8 = GetBreakCause (Vector, CpuContext);\r
+        if ((Data8 == DEBUG_DATA_BREAK_CAUSE_IMAGE_LOAD) || (Data8 == DEBUG_DATA_BREAK_CAUSE_IMAGE_UNLOAD)) {\r
+          CpuContext->Dr0 = 0;\r
+        }\r
+\r
+        if (!HaltDeferred) {\r
+          //\r
+          // If no HALT command received when being in-active mode\r
+          //\r
+          if (MultiProcessorDebugSupport ()) {\r
+            Data32 = FindNextPendingBreakCpu ();\r
+            if (Data32 != -1) {\r
+              //\r
+              // If there are still others processors being in break state,\r
+              // send OK packet to HOST to finish this go command\r
+              //\r
+              SendAckPacket (DEBUG_COMMAND_OK);\r
+              CpuPause ();\r
+              //\r
+              // Set current view to the next breaking processor\r
+              //\r
+              mDebugMpContext.ViewPointIndex  = Data32;\r
+              mDebugMpContext.BreakAtCpuIndex = mDebugMpContext.ViewPointIndex;\r
+              SetCpuBreakFlagByIndex (mDebugMpContext.ViewPointIndex, FALSE);\r
+              //\r
+              // Send break packet to HOST to let HOST break again\r
+              //\r
+              SendBreakPacketToHost (DEBUG_DATA_BREAK_CAUSE_UNKNOWN, mDebugMpContext.BreakAtCpuIndex, &BreakReceived);\r
+              //\r
+              // Continue to run into loop to read command packet from HOST\r
+              //\r
+              ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+              break;\r
+            }\r
+\r
             //\r
-            // If there are still others processors being in break state,\r
-            // send OK packet to HOST to finish this go command\r
+            // If no else processor break, set stop bitmask,\r
+            // and set Running flag for all processors.\r
             //\r
-            SendAckPacket (DEBUG_COMMAND_OK);\r
+            SetCpuStopFlagByIndex (ProcessorIndex, FALSE);\r
+            SetCpuRunningFlag (TRUE);\r
             CpuPause ();\r
             //\r
-            // Set current view to the next breaking processor\r
+            // Wait for all processors are in running state\r
             //\r
-            mDebugMpContext.ViewPointIndex = Data32;\r
-            mDebugMpContext.BreakAtCpuIndex = mDebugMpContext.ViewPointIndex;\r
-            SetCpuBreakFlagByIndex (mDebugMpContext.ViewPointIndex, FALSE);\r
+            while (TRUE) {\r
+              if (IsAllCpuRunning ()) {\r
+                break;\r
+              }\r
+            }\r
+\r
             //\r
-            // Send break packet to HOST to let HOST break again\r
+            // Set BSP to be current view point.\r
             //\r
-            SendBreakPacketToHost (DEBUG_DATA_BREAK_CAUSE_UNKNOWN, mDebugMpContext.BreakAtCpuIndex, &BreakReceived);\r
+            SetDebugViewPoint (mDebugMpContext.BspIndex);\r
+            CpuPause ();\r
             //\r
-            // Continue to run into loop to read command packet from HOST\r
+            // Clear breaking processor index and running flag\r
             //\r
-            ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
-            break;\r
+            mDebugMpContext.BreakAtCpuIndex = (UINT32)(-1);\r
+            SetCpuRunningFlag (FALSE);\r
           }\r
 \r
           //\r
-          // If no else processor break, set stop bitmask,\r
-          // and set Running flag for all processors.\r
-          //\r
-          SetCpuStopFlagByIndex (ProcessorIndex, FALSE);\r
-          SetCpuRunningFlag (TRUE);\r
-          CpuPause ();\r
-          //\r
-          // Wait for all processors are in running state\r
+          // Send OK packet to HOST to finish this go command\r
           //\r
-          while (TRUE) {\r
-            if (IsAllCpuRunning ()) {\r
-              break;\r
-            }\r
+          SendAckPacket (DEBUG_COMMAND_OK);\r
+\r
+          ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+\r
+          if (!IsHostAttached ()) {\r
+            UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_SEQUENCE_NO_INDEX, 0);\r
+            UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, 0);\r
           }\r
+\r
+          return;\r
+        } else {\r
           //\r
-          // Set BSP to be current view point.\r
-          //\r
-          SetDebugViewPoint (mDebugMpContext.BspIndex);\r
-          CpuPause ();\r
-          //\r
-          // Clear breaking processor index and running flag\r
+          // If received HALT command, need to defer the GO command\r
           //\r
-          mDebugMpContext.BreakAtCpuIndex = (UINT32) (-1);\r
-          SetCpuRunningFlag (FALSE);\r
+          SendAckPacket (DEBUG_COMMAND_HALT_PROCESSED);\r
+          HaltDeferred = FALSE;\r
+\r
+          Vector = DEBUG_TIMER_VECTOR;\r
         }\r
 \r
-        //\r
-        // Send OK packet to HOST to finish this go command\r
-        //\r
+        break;\r
+\r
+      case DEBUG_COMMAND_BREAK_CAUSE:\r
+        BreakCause.StopAddress = CpuContext->Eip;\r
+        if (MultiProcessorDebugSupport () && (ProcessorIndex != mDebugMpContext.BreakAtCpuIndex)) {\r
+          BreakCause.Cause = GetBreakCause (DEBUG_TIMER_VECTOR, CpuContext);\r
+        } else {\r
+          BreakCause.Cause = GetBreakCause (Vector, CpuContext);\r
+        }\r
+\r
+        SendDataResponsePacket ((UINT8 *)&BreakCause, (UINT16)sizeof (DEBUG_DATA_RESPONSE_BREAK_CAUSE), DebugHeader);\r
+        break;\r
+\r
+      case DEBUG_COMMAND_SET_HW_BREAKPOINT:\r
+        SetDebugRegister (CpuContext, (DEBUG_DATA_SET_HW_BREAKPOINT *)(DebugHeader + 1));\r
         SendAckPacket (DEBUG_COMMAND_OK);\r
+        break;\r
 \r
-        ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+      case DEBUG_COMMAND_CLEAR_HW_BREAKPOINT:\r
+        ClearDebugRegister (CpuContext, (DEBUG_DATA_CLEAR_HW_BREAKPOINT *)(DebugHeader + 1));\r
+        SendAckPacket (DEBUG_COMMAND_OK);\r
+        break;\r
 \r
-        if (!IsHostAttached()) {\r
-          UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_SEQUENCE_NO_INDEX, 0);\r
-          UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_HOST_SEQUENCE_NO_INDEX, 0);\r
+      case DEBUG_COMMAND_SINGLE_STEPPING:\r
+        CommandStepping (CpuContext);\r
+        //\r
+        // Clear Dr0 to avoid to be recognized as IMAGE_LOAD/_UNLOAD again when hitting a breakpoint after GO\r
+        // If HOST changed Dr0 before GO, we will not change Dr0 here\r
+        //\r
+        Data8 = GetBreakCause (Vector, CpuContext);\r
+        if ((Data8 == DEBUG_DATA_BREAK_CAUSE_IMAGE_LOAD) || (Data8 == DEBUG_DATA_BREAK_CAUSE_IMAGE_UNLOAD)) {\r
+          CpuContext->Dr0 = 0;\r
         }\r
-        return;\r
 \r
-      } else {\r
+        mDebugMpContext.BreakAtCpuIndex = (UINT32)(-1);\r
+        ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
         //\r
-        // If received HALT command, need to defer the GO command\r
+        // Executing stepping command directly without sending ACK packet,\r
+        // ACK packet will be sent after stepping done.\r
         //\r
-        SendAckPacket (DEBUG_COMMAND_HALT_PROCESSED);\r
-        HaltDeferred = FALSE;\r
-\r
-        Vector = DEBUG_TIMER_VECTOR;\r
-      }\r
-      break;\r
-\r
-    case DEBUG_COMMAND_BREAK_CAUSE:\r
-      BreakCause.StopAddress = CpuContext->Eip;\r
-      if (MultiProcessorDebugSupport() && ProcessorIndex != mDebugMpContext.BreakAtCpuIndex) {\r
-        BreakCause.Cause       = GetBreakCause (DEBUG_TIMER_VECTOR, CpuContext);\r
-      } else {\r
-        BreakCause.Cause       = GetBreakCause (Vector, CpuContext);\r
-      }\r
-      SendDataResponsePacket ((UINT8 *) &BreakCause, (UINT16) sizeof (DEBUG_DATA_RESPONSE_BREAK_CAUSE), DebugHeader);\r
-      break;\r
+        return;\r
 \r
-    case DEBUG_COMMAND_SET_HW_BREAKPOINT:\r
-      SetDebugRegister (CpuContext, (DEBUG_DATA_SET_HW_BREAKPOINT *) (DebugHeader + 1));\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      break;\r
+      case DEBUG_COMMAND_SET_SW_BREAKPOINT:\r
+        Data64                  = (UINTN)(((DEBUG_DATA_SET_SW_BREAKPOINT *)(DebugHeader + 1))->Address);\r
+        Data8                   = *(UINT8 *)(UINTN)Data64;\r
+        *(UINT8 *)(UINTN)Data64 = DEBUG_SW_BREAKPOINT_SYMBOL;\r
+        Status                  = SendDataResponsePacket ((UINT8 *)&Data8, (UINT16)sizeof (UINT8), DebugHeader);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_CLEAR_HW_BREAKPOINT:\r
-      ClearDebugRegister (CpuContext, (DEBUG_DATA_CLEAR_HW_BREAKPOINT *) (DebugHeader + 1));\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      break;\r
+      case DEBUG_COMMAND_READ_MEMORY:\r
+        MemoryRead = (DEBUG_DATA_READ_MEMORY *)(DebugHeader + 1);\r
+        Status     = ReadMemoryAndSendResponsePacket ((UINT8 *)(UINTN)MemoryRead->Address, MemoryRead->Count, MemoryRead->Width, DebugHeader);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_SINGLE_STEPPING:\r
-      CommandStepping (CpuContext);\r
-      //\r
-      // Clear Dr0 to avoid to be recognized as IMAGE_LOAD/_UNLOAD again when hitting a breakpoint after GO\r
-      // If HOST changed Dr0 before GO, we will not change Dr0 here\r
-      //\r
-      Data8 = GetBreakCause (Vector, CpuContext);\r
-      if (Data8 == DEBUG_DATA_BREAK_CAUSE_IMAGE_LOAD || Data8 == DEBUG_DATA_BREAK_CAUSE_IMAGE_UNLOAD) {\r
-        CpuContext->Dr0 = 0;\r
-      }\r
+      case DEBUG_COMMAND_WRITE_MEMORY:\r
+        MemoryWrite = (DEBUG_DATA_WRITE_MEMORY *)(DebugHeader + 1);\r
+        //\r
+        // Copy data into one memory with 8-byte alignment address\r
+        //\r
+        AlignedDataPtr = ALIGN_POINTER ((UINT8 *)&MemoryWrite->Data, sizeof (UINT64));\r
+        if (AlignedDataPtr != (UINT8 *)&MemoryWrite->Data) {\r
+          CopyMem (AlignedDataPtr, (UINT8 *)&MemoryWrite->Data, MemoryWrite->Count * MemoryWrite->Width);\r
+        }\r
 \r
-      mDebugMpContext.BreakAtCpuIndex = (UINT32) (-1);\r
-      ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
-      //\r
-      // Executing stepping command directly without sending ACK packet,\r
-      // ACK packet will be sent after stepping done.\r
-      //\r
-      return;\r
+        CopyMemByWidth ((UINT8 *)(UINTN)MemoryWrite->Address, AlignedDataPtr, MemoryWrite->Count, MemoryWrite->Width);\r
+        SendAckPacket (DEBUG_COMMAND_OK);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_SET_SW_BREAKPOINT:\r
-      Data64 = (UINTN) (((DEBUG_DATA_SET_SW_BREAKPOINT *) (DebugHeader + 1))->Address);\r
-      Data8 = *(UINT8 *) (UINTN) Data64;\r
-      *(UINT8 *) (UINTN) Data64 = DEBUG_SW_BREAKPOINT_SYMBOL;\r
-      Status = SendDataResponsePacket ((UINT8 *) &Data8, (UINT16) sizeof (UINT8), DebugHeader);\r
-      break;\r
+      case DEBUG_COMMAND_READ_IO:\r
+        IoRead = (DEBUG_DATA_READ_IO *)(DebugHeader + 1);\r
+        switch (IoRead->Width) {\r
+          case 1:\r
+            Data64 = IoRead8 ((UINTN)IoRead->Port);\r
+            break;\r
+          case 2:\r
+            Data64 = IoRead16 ((UINTN)IoRead->Port);\r
+            break;\r
+          case 4:\r
+            Data64 = IoRead32 ((UINTN)IoRead->Port);\r
+            break;\r
+          case 8:\r
+            Data64 = IoRead64 ((UINTN)IoRead->Port);\r
+            break;\r
+          default:\r
+            Data64 = (UINT64)-1;\r
+        }\r
 \r
-    case DEBUG_COMMAND_READ_MEMORY:\r
-      MemoryRead = (DEBUG_DATA_READ_MEMORY *) (DebugHeader + 1);\r
-      Status = ReadMemoryAndSendResponsePacket ((UINT8 *) (UINTN) MemoryRead->Address, MemoryRead->Count, MemoryRead->Width, DebugHeader);\r
-      break;\r
+        Status = SendDataResponsePacket ((UINT8 *)&Data64, IoRead->Width, DebugHeader);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_WRITE_MEMORY:\r
-      MemoryWrite = (DEBUG_DATA_WRITE_MEMORY *) (DebugHeader + 1);\r
-      //\r
-      // Copy data into one memory with 8-byte alignment address\r
-      //\r
-      AlignedDataPtr = ALIGN_POINTER ((UINT8 *) &MemoryWrite->Data, sizeof (UINT64));\r
-      if (AlignedDataPtr != (UINT8 *) &MemoryWrite->Data) {\r
-        CopyMem (AlignedDataPtr, (UINT8 *) &MemoryWrite->Data, MemoryWrite->Count * MemoryWrite->Width);\r
-      }\r
-      CopyMemByWidth ((UINT8 *) (UINTN) MemoryWrite->Address, AlignedDataPtr, MemoryWrite->Count, MemoryWrite->Width);\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      break;\r
+      case DEBUG_COMMAND_WRITE_IO:\r
+        IoWrite = (DEBUG_DATA_WRITE_IO *)(DebugHeader + 1);\r
+        switch (IoWrite->Width) {\r
+          case 1:\r
+            Data64 = IoWrite8 ((UINTN)IoWrite->Port, *(UINT8 *)&IoWrite->Data);\r
+            break;\r
+          case 2:\r
+            Data64 = IoWrite16 ((UINTN)IoWrite->Port, *(UINT16 *)&IoWrite->Data);\r
+            break;\r
+          case 4:\r
+            Data64 = IoWrite32 ((UINTN)IoWrite->Port, *(UINT32 *)&IoWrite->Data);\r
+            break;\r
+          case 8:\r
+            Data64 = IoWrite64 ((UINTN)IoWrite->Port, *(UINT64 *)&IoWrite->Data);\r
+            break;\r
+          default:\r
+            Data64 = (UINT64)-1;\r
+        }\r
 \r
-    case DEBUG_COMMAND_READ_IO:\r
-      IoRead = (DEBUG_DATA_READ_IO *) (DebugHeader + 1);\r
-      switch (IoRead->Width) {\r
-      case 1:\r
-        Data64  = IoRead8 ((UINTN) IoRead->Port);\r
-        break;\r
-      case 2:\r
-        Data64  = IoRead16 ((UINTN) IoRead->Port);\r
-        break;\r
-      case 4:\r
-        Data64  = IoRead32 ((UINTN) IoRead->Port);\r
-        break;\r
-      case 8:\r
-        Data64  = IoRead64 ((UINTN) IoRead->Port);\r
+        SendAckPacket (DEBUG_COMMAND_OK);\r
         break;\r
-      default:\r
-        Data64  = (UINT64) -1;\r
-      }\r
-      Status = SendDataResponsePacket ((UINT8 *) &Data64, IoRead->Width, DebugHeader);\r
-      break;\r
 \r
-    case DEBUG_COMMAND_WRITE_IO:\r
-      IoWrite = (DEBUG_DATA_WRITE_IO *) (DebugHeader + 1);\r
-      switch (IoWrite->Width) {\r
-      case 1:\r
-        Data64  = IoWrite8 ((UINTN) IoWrite->Port, *(UINT8 *) &IoWrite->Data);\r
-        break;\r
-      case 2:\r
-        Data64  = IoWrite16 ((UINTN) IoWrite->Port, *(UINT16 *) &IoWrite->Data);\r
-        break;\r
-      case 4:\r
-        Data64  = IoWrite32 ((UINTN) IoWrite->Port, *(UINT32 *) &IoWrite->Data);\r
-        break;\r
-      case 8:\r
-        Data64  = IoWrite64 ((UINTN) IoWrite->Port, *(UINT64 *) &IoWrite->Data);\r
+      case DEBUG_COMMAND_READ_ALL_REGISTERS:\r
+        Status = SendDataResponsePacket ((UINT8 *)CpuContext, sizeof (*CpuContext), DebugHeader);\r
         break;\r
-      default:\r
-        Data64  = (UINT64) -1;\r
-      }\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      break;\r
 \r
-    case DEBUG_COMMAND_READ_ALL_REGISTERS:\r
-      Status = SendDataResponsePacket ((UINT8 *) CpuContext, sizeof (*CpuContext), DebugHeader);\r
-      break;\r
+      case DEBUG_COMMAND_READ_REGISTER:\r
+        RegisterRead = (DEBUG_DATA_READ_REGISTER *)(DebugHeader + 1);\r
 \r
-    case DEBUG_COMMAND_READ_REGISTER:\r
-      RegisterRead = (DEBUG_DATA_READ_REGISTER *) (DebugHeader + 1);\r
+        if (RegisterRead->Index <= SOFT_DEBUGGER_REGISTER_MAX) {\r
+          RegisterBuffer = ArchReadRegisterBuffer (CpuContext, RegisterRead->Index, &Width);\r
+          Status         = SendDataResponsePacket (RegisterBuffer, Width, DebugHeader);\r
+        } else {\r
+          Status = RETURN_UNSUPPORTED;\r
+        }\r
 \r
-      if (RegisterRead->Index <= SOFT_DEBUGGER_REGISTER_MAX) {\r
-        RegisterBuffer = ArchReadRegisterBuffer (CpuContext, RegisterRead->Index, &Width);\r
-        Status = SendDataResponsePacket (RegisterBuffer, Width, DebugHeader);\r
-      } else {\r
-        Status = RETURN_UNSUPPORTED;\r
-      }\r
-      break;\r
+        break;\r
 \r
-    case DEBUG_COMMAND_WRITE_REGISTER:\r
-      RegisterWrite = (DEBUG_DATA_WRITE_REGISTER *) (DebugHeader + 1);\r
-      if (RegisterWrite->Index <= SOFT_DEBUGGER_REGISTER_MAX) {\r
-        RegisterBuffer = ArchReadRegisterBuffer (CpuContext, RegisterWrite->Index, &Width);\r
-        ASSERT (Width == RegisterWrite->Length);\r
-        CopyMem (RegisterBuffer, RegisterWrite->Data, Width);\r
-        SendAckPacket (DEBUG_COMMAND_OK);\r
-      } else {\r
-        Status = RETURN_UNSUPPORTED;\r
-      }\r
-      break;\r
+      case DEBUG_COMMAND_WRITE_REGISTER:\r
+        RegisterWrite = (DEBUG_DATA_WRITE_REGISTER *)(DebugHeader + 1);\r
+        if (RegisterWrite->Index <= SOFT_DEBUGGER_REGISTER_MAX) {\r
+          RegisterBuffer = ArchReadRegisterBuffer (CpuContext, RegisterWrite->Index, &Width);\r
+          ASSERT (Width == RegisterWrite->Length);\r
+          CopyMem (RegisterBuffer, RegisterWrite->Data, Width);\r
+          SendAckPacket (DEBUG_COMMAND_OK);\r
+        } else {\r
+          Status = RETURN_UNSUPPORTED;\r
+        }\r
 \r
-    case DEBUG_COMMAND_ARCH_MODE:\r
-      Data8 = DEBUG_ARCH_SYMBOL;\r
-      Status = SendDataResponsePacket ((UINT8 *) &Data8, (UINT16) sizeof (UINT8), DebugHeader);\r
-      break;\r
+        break;\r
 \r
-    case DEBUG_COMMAND_READ_MSR:\r
-      MsrRegisterRead = (DEBUG_DATA_READ_MSR *) (DebugHeader + 1);\r
-      Data64 = AsmReadMsr64 (MsrRegisterRead->Index);\r
-      Status = SendDataResponsePacket ((UINT8 *) &Data64, (UINT16) sizeof (UINT64), DebugHeader);\r
-      break;\r
+      case DEBUG_COMMAND_ARCH_MODE:\r
+        Data8  = DEBUG_ARCH_SYMBOL;\r
+        Status = SendDataResponsePacket ((UINT8 *)&Data8, (UINT16)sizeof (UINT8), DebugHeader);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_WRITE_MSR:\r
-      MsrRegisterWrite = (DEBUG_DATA_WRITE_MSR *) (DebugHeader + 1);\r
-      AsmWriteMsr64 (MsrRegisterWrite->Index, MsrRegisterWrite->Value);\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      break;\r
+      case DEBUG_COMMAND_READ_MSR:\r
+        MsrRegisterRead = (DEBUG_DATA_READ_MSR *)(DebugHeader + 1);\r
+        Data64          = AsmReadMsr64 (MsrRegisterRead->Index);\r
+        Status          = SendDataResponsePacket ((UINT8 *)&Data64, (UINT16)sizeof (UINT64), DebugHeader);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_SET_DEBUG_SETTING:\r
-      Status = SetDebugSetting ((DEBUG_DATA_SET_DEBUG_SETTING *)(DebugHeader + 1));\r
-      if (Status == RETURN_SUCCESS) {\r
+      case DEBUG_COMMAND_WRITE_MSR:\r
+        MsrRegisterWrite = (DEBUG_DATA_WRITE_MSR *)(DebugHeader + 1);\r
+        AsmWriteMsr64 (MsrRegisterWrite->Index, MsrRegisterWrite->Value);\r
         SendAckPacket (DEBUG_COMMAND_OK);\r
-      }\r
-      break;\r
+        break;\r
 \r
-    case DEBUG_COMMAND_GET_REVISION:\r
-      DebugAgentRevision.Revision = PcdGet32(PcdTransferProtocolRevision);\r
-      DebugAgentRevision.Capabilities = DEBUG_AGENT_CAPABILITIES;\r
-      Status = SendDataResponsePacket ((UINT8 *) &DebugAgentRevision, (UINT16) sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader);\r
-      break;\r
+      case DEBUG_COMMAND_SET_DEBUG_SETTING:\r
+        Status = SetDebugSetting ((DEBUG_DATA_SET_DEBUG_SETTING *)(DebugHeader + 1));\r
+        if (Status == RETURN_SUCCESS) {\r
+          SendAckPacket (DEBUG_COMMAND_OK);\r
+        }\r
 \r
-    case DEBUG_COMMAND_GET_EXCEPTION:\r
-      Exception.ExceptionNum  = (UINT8) Vector;\r
-      Exception.ExceptionData = (UINT32) CpuContext->ExceptionData;\r
-      Status = SendDataResponsePacket ((UINT8 *) &Exception, (UINT16) sizeof (DEBUG_DATA_RESPONSE_GET_EXCEPTION), DebugHeader);\r
-      break;\r
+        break;\r
 \r
-    case DEBUG_COMMAND_SET_VIEWPOINT:\r
-      SetViewPoint = (DEBUG_DATA_SET_VIEWPOINT *) (DebugHeader + 1);\r
-      if (MultiProcessorDebugSupport()) {\r
-        if (IsCpuStopped (SetViewPoint->ViewPoint)) {\r
-          SetDebugViewPoint (SetViewPoint->ViewPoint);\r
+      case DEBUG_COMMAND_GET_REVISION:\r
+        DebugAgentRevision.Revision     = PcdGet32 (PcdTransferProtocolRevision);\r
+        DebugAgentRevision.Capabilities = DEBUG_AGENT_CAPABILITIES;\r
+        Status                          = SendDataResponsePacket ((UINT8 *)&DebugAgentRevision, (UINT16)sizeof (DEBUG_DATA_RESPONSE_GET_REVISION), DebugHeader);\r
+        break;\r
+\r
+      case DEBUG_COMMAND_GET_EXCEPTION:\r
+        Exception.ExceptionNum  = (UINT8)Vector;\r
+        Exception.ExceptionData = (UINT32)CpuContext->ExceptionData;\r
+        Status                  = SendDataResponsePacket ((UINT8 *)&Exception, (UINT16)sizeof (DEBUG_DATA_RESPONSE_GET_EXCEPTION), DebugHeader);\r
+        break;\r
+\r
+      case DEBUG_COMMAND_SET_VIEWPOINT:\r
+        SetViewPoint = (DEBUG_DATA_SET_VIEWPOINT *)(DebugHeader + 1);\r
+        if (MultiProcessorDebugSupport ()) {\r
+          if (IsCpuStopped (SetViewPoint->ViewPoint)) {\r
+            SetDebugViewPoint (SetViewPoint->ViewPoint);\r
+            SendAckPacket (DEBUG_COMMAND_OK);\r
+          } else {\r
+            //\r
+            // If CPU is not halted\r
+            //\r
+            SendAckPacket (DEBUG_COMMAND_NOT_SUPPORTED);\r
+          }\r
+        } else if (SetViewPoint->ViewPoint == 0) {\r
           SendAckPacket (DEBUG_COMMAND_OK);\r
         } else {\r
-          //\r
-          // If CPU is not halted\r
-          //\r
           SendAckPacket (DEBUG_COMMAND_NOT_SUPPORTED);\r
         }\r
-      } else if (SetViewPoint->ViewPoint == 0) {\r
-        SendAckPacket (DEBUG_COMMAND_OK);\r
 \r
-      } else {\r
-        SendAckPacket (DEBUG_COMMAND_NOT_SUPPORTED);\r
-      }\r
+        break;\r
 \r
-      break;\r
+      case DEBUG_COMMAND_GET_VIEWPOINT:\r
+        Data32 = mDebugMpContext.ViewPointIndex;\r
+        SendDataResponsePacket ((UINT8 *)&Data32, (UINT16)sizeof (UINT32), DebugHeader);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_GET_VIEWPOINT:\r
-      Data32 = mDebugMpContext.ViewPointIndex;\r
-      SendDataResponsePacket((UINT8 *) &Data32, (UINT16) sizeof (UINT32), DebugHeader);\r
-      break;\r
+      case DEBUG_COMMAND_MEMORY_READY:\r
+        Data8 = (UINT8)GetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY);\r
+        SendDataResponsePacket (&Data8, (UINT16)sizeof (UINT8), DebugHeader);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_MEMORY_READY:\r
-      Data8 = (UINT8) GetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY);\r
-      SendDataResponsePacket (&Data8, (UINT16) sizeof (UINT8), DebugHeader);\r
-      break;\r
+      case DEBUG_COMMAND_DETACH:\r
+        SetHostAttached (FALSE);\r
+        SendAckPacket (DEBUG_COMMAND_OK);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_DETACH:\r
-      SetHostAttached (FALSE);\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      break;\r
+      case DEBUG_COMMAND_CPUID:\r
+        Cpuid = (DEBUG_DATA_CPUID *)(DebugHeader + 1);\r
+        AsmCpuidEx (\r
+          Cpuid->Eax,\r
+          Cpuid->Ecx,\r
+          &CpuidResponse.Eax,\r
+          &CpuidResponse.Ebx,\r
+          &CpuidResponse.Ecx,\r
+          &CpuidResponse.Edx\r
+          );\r
+        SendDataResponsePacket ((UINT8 *)&CpuidResponse, (UINT16)sizeof (CpuidResponse), DebugHeader);\r
+        break;\r
 \r
-    case DEBUG_COMMAND_CPUID:\r
-      Cpuid = (DEBUG_DATA_CPUID *) (DebugHeader + 1);\r
-      AsmCpuidEx (\r
-        Cpuid->Eax, Cpuid->Ecx,\r
-        &CpuidResponse.Eax, &CpuidResponse.Ebx,\r
-        &CpuidResponse.Ecx, &CpuidResponse.Edx\r
-        );\r
-      SendDataResponsePacket ((UINT8 *) &CpuidResponse, (UINT16) sizeof (CpuidResponse), DebugHeader);\r
-      break;\r
+      case DEBUG_COMMAND_SEARCH_SIGNATURE:\r
+        SearchSignature = (DEBUG_DATA_SEARCH_SIGNATURE *)(DebugHeader + 1);\r
+        if ((SearchSignature->Alignment != 0) &&\r
+            (SearchSignature->Alignment == GetPowerOfTwo32 (SearchSignature->Alignment))\r
+            )\r
+        {\r
+          if (SearchSignature->Positive) {\r
+            for (\r
+                 Data64 = ALIGN_VALUE ((UINTN)SearchSignature->Start, SearchSignature->Alignment);\r
+                 Data64 <= SearchSignature->Start + SearchSignature->Count - SearchSignature->DataLength;\r
+                 Data64 += SearchSignature->Alignment\r
+                 )\r
+            {\r
+              if (CompareMem ((VOID *)(UINTN)Data64, &SearchSignature->Data, SearchSignature->DataLength) == 0) {\r
+                break;\r
+              }\r
+            }\r
 \r
-   case DEBUG_COMMAND_SEARCH_SIGNATURE:\r
-      SearchSignature = (DEBUG_DATA_SEARCH_SIGNATURE *) (DebugHeader + 1);\r
-      if ((SearchSignature->Alignment != 0) &&\r
-          (SearchSignature->Alignment == GetPowerOfTwo32 (SearchSignature->Alignment))\r
-         ) {\r
-        if (SearchSignature->Positive) {\r
-          for (\r
-            Data64 = ALIGN_VALUE ((UINTN) SearchSignature->Start, SearchSignature->Alignment);\r
-            Data64 <= SearchSignature->Start + SearchSignature->Count - SearchSignature->DataLength;\r
-            Data64 += SearchSignature->Alignment\r
-              ) {\r
-            if (CompareMem ((VOID *) (UINTN) Data64, &SearchSignature->Data, SearchSignature->DataLength) == 0) {\r
-              break;\r
+            if (Data64 > SearchSignature->Start + SearchSignature->Count - SearchSignature->DataLength) {\r
+              Data64 = (UINT64)-1;\r
             }\r
-          }\r
-          if (Data64 > SearchSignature->Start + SearchSignature->Count - SearchSignature->DataLength) {\r
-            Data64 = (UINT64) -1;\r
-          }\r
-        } else {\r
-          for (\r
-            Data64 = ALIGN_VALUE ((UINTN) SearchSignature->Start - SearchSignature->Alignment, SearchSignature->Alignment);\r
-            Data64 >= SearchSignature->Start - SearchSignature->Count;\r
-            Data64 -= SearchSignature->Alignment\r
-              ) {\r
-            if (CompareMem ((VOID *) (UINTN) Data64, &SearchSignature->Data, SearchSignature->DataLength) == 0) {\r
-              break;\r
+          } else {\r
+            for (\r
+                 Data64 = ALIGN_VALUE ((UINTN)SearchSignature->Start - SearchSignature->Alignment, SearchSignature->Alignment);\r
+                 Data64 >= SearchSignature->Start - SearchSignature->Count;\r
+                 Data64 -= SearchSignature->Alignment\r
+                 )\r
+            {\r
+              if (CompareMem ((VOID *)(UINTN)Data64, &SearchSignature->Data, SearchSignature->DataLength) == 0) {\r
+                break;\r
+              }\r
+            }\r
+\r
+            if (Data64 < SearchSignature->Start - SearchSignature->Count) {\r
+              Data64 = (UINT64)-1;\r
             }\r
           }\r
-          if (Data64 < SearchSignature->Start - SearchSignature->Count) {\r
-            Data64 = (UINT64) -1;\r
-          }\r
+\r
+          SendDataResponsePacket ((UINT8 *)&Data64, (UINT16)sizeof (Data64), DebugHeader);\r
+        } else {\r
+          Status = RETURN_UNSUPPORTED;\r
         }\r
-        SendDataResponsePacket ((UINT8 *) &Data64, (UINT16) sizeof (Data64), DebugHeader);\r
-      } else {\r
-        Status = RETURN_UNSUPPORTED;\r
-      }\r
-      break;\r
 \r
-    default:\r
-      SendAckPacket (DEBUG_COMMAND_NOT_SUPPORTED);\r
-      break;\r
+        break;\r
+\r
+      default:\r
+        SendAckPacket (DEBUG_COMMAND_NOT_SUPPORTED);\r
+        break;\r
     }\r
 \r
     if (Status == RETURN_UNSUPPORTED) {\r
@@ -2307,21 +2355,21 @@ CommandCommunication (
 VOID\r
 EFIAPI\r
 InterruptProcess (\r
-  IN UINT32                          Vector,\r
-  IN DEBUG_CPU_CONTEXT               *CpuContext\r
+  IN UINT32             Vector,\r
+  IN DEBUG_CPU_CONTEXT  *CpuContext\r
   )\r
 {\r
-  UINT8                            InputCharacter;\r
-  UINT8                            BreakCause;\r
-  UINTN                            SavedEip;\r
-  BOOLEAN                          BreakReceived;\r
-  UINT32                           ProcessorIndex;\r
-  UINT32                           CurrentDebugTimerInitCount;\r
-  DEBUG_PORT_HANDLE                Handle;\r
-  UINT8                            Data8;\r
-  UINT8                            *Al;\r
-  UINT32                           IssuedViewPoint;\r
-  DEBUG_AGENT_EXCEPTION_BUFFER     *ExceptionBuffer;\r
+  UINT8                         InputCharacter;\r
+  UINT8                         BreakCause;\r
+  UINTN                         SavedEip;\r
+  BOOLEAN                       BreakReceived;\r
+  UINT32                        ProcessorIndex;\r
+  UINT32                        CurrentDebugTimerInitCount;\r
+  DEBUG_PORT_HANDLE             Handle;\r
+  UINT8                         Data8;\r
+  UINT8                         *Al;\r
+  UINT32                        IssuedViewPoint;\r
+  DEBUG_AGENT_EXCEPTION_BUFFER  *ExceptionBuffer;\r
 \r
   InputCharacter  = 0;\r
   ProcessorIndex  = 0;\r
@@ -2333,12 +2381,12 @@ InterruptProcess (
     // If Skip Breakpoint flag is set, means communication is disturbed by hardware SMI, we need to ignore the break points in SMM\r
     //\r
     if ((Vector == DEBUG_INT1_VECTOR) || (Vector == DEBUG_INT3_VECTOR)) {\r
-      DebugPortWriteBuffer (GetDebugPortHandle(), (UINT8 *) mWarningMsgIngoreBreakpoint, AsciiStrLen (mWarningMsgIngoreBreakpoint));\r
+      DebugPortWriteBuffer (GetDebugPortHandle (), (UINT8 *)mWarningMsgIngoreBreakpoint, AsciiStrLen (mWarningMsgIngoreBreakpoint));\r
       return;\r
     }\r
   }\r
 \r
-  if (MultiProcessorDebugSupport()) {\r
+  if (MultiProcessorDebugSupport ()) {\r
     ProcessorIndex = GetProcessorIndex ();\r
     //\r
     // If this processor has already halted before, need to check it later\r
@@ -2348,7 +2396,7 @@ InterruptProcess (
     }\r
   }\r
 \r
-  if (IssuedViewPoint == ProcessorIndex && GetDebugFlag (DEBUG_AGENT_FLAG_STEPPING) != 1) {\r
+  if ((IssuedViewPoint == ProcessorIndex) && (GetDebugFlag (DEBUG_AGENT_FLAG_STEPPING) != 1)) {\r
     //\r
     // Check if this exception is issued by Debug Agent itself\r
     // If yes, fill the debug agent exception buffer and LongJump() back to\r
@@ -2363,14 +2411,14 @@ InterruptProcess (
         Vector,\r
         (UINTN)CpuContext->Eip\r
         );\r
-      ExceptionBuffer = (DEBUG_AGENT_EXCEPTION_BUFFER *) (UINTN) GetMailboxPointer()->ExceptionBufferPointer;\r
-      ExceptionBuffer->ExceptionContent.ExceptionNum  = (UINT8) Vector;\r
-      ExceptionBuffer->ExceptionContent.ExceptionData = (UINT32) CpuContext->ExceptionData;\r
+      ExceptionBuffer                                 = (DEBUG_AGENT_EXCEPTION_BUFFER *)(UINTN)GetMailboxPointer ()->ExceptionBufferPointer;\r
+      ExceptionBuffer->ExceptionContent.ExceptionNum  = (UINT8)Vector;\r
+      ExceptionBuffer->ExceptionContent.ExceptionData = (UINT32)CpuContext->ExceptionData;\r
       LongJump ((BASE_LIBRARY_JUMP_BUFFER *)(UINTN)(ExceptionBuffer), 1);\r
     }\r
   }\r
 \r
-  if (MultiProcessorDebugSupport()) {\r
+  if (MultiProcessorDebugSupport ()) {\r
     //\r
     // If RUN command is executing, wait for it done.\r
     //\r
@@ -2379,239 +2427,250 @@ InterruptProcess (
     }\r
   }\r
 \r
-  Handle     = GetDebugPortHandle();\r
+  Handle     = GetDebugPortHandle ();\r
   BreakCause = GetBreakCause (Vector, CpuContext);\r
   switch (Vector) {\r
-  case DEBUG_INT1_VECTOR:\r
-  case DEBUG_INT3_VECTOR:\r
-    switch (BreakCause) {\r
-    case DEBUG_DATA_BREAK_CAUSE_SYSTEM_RESET:\r
-      if (AttachHost (BreakCause, READ_PACKET_TIMEOUT, &BreakReceived) != RETURN_SUCCESS) {\r
-        //\r
-        // Try to connect HOST, return if fails\r
-        //\r
-        break;\r
-      }\r
-      CommandCommunication (Vector, CpuContext, BreakReceived);\r
-      break;\r
+    case DEBUG_INT1_VECTOR:\r
+    case DEBUG_INT3_VECTOR:\r
+      switch (BreakCause) {\r
+        case DEBUG_DATA_BREAK_CAUSE_SYSTEM_RESET:\r
+          if (AttachHost (BreakCause, READ_PACKET_TIMEOUT, &BreakReceived) != RETURN_SUCCESS) {\r
+            //\r
+            // Try to connect HOST, return if fails\r
+            //\r
+            break;\r
+          }\r
 \r
-    case DEBUG_DATA_BREAK_CAUSE_STEPPING:\r
-      //\r
-      // Stepping is finished, send Ack package.\r
-      //\r
-      if (MultiProcessorDebugSupport()) {\r
-        mDebugMpContext.BreakAtCpuIndex = ProcessorIndex;\r
-      }\r
-      //\r
-      // Clear Stepping Flag and restore EFLAGS.IF\r
-      //\r
-      CommandSteppingCleanup (CpuContext);\r
-      SendAckPacket (DEBUG_COMMAND_OK);\r
-      CommandCommunication (Vector, CpuContext, BreakReceived);\r
-      break;\r
+          CommandCommunication (Vector, CpuContext, BreakReceived);\r
+          break;\r
 \r
-    case DEBUG_DATA_BREAK_CAUSE_MEMORY_READY:\r
-      //\r
-      // Memory is ready\r
-      //\r
-      SendCommandAndWaitForAckOK (DEBUG_COMMAND_MEMORY_READY, READ_PACKET_TIMEOUT, &BreakReceived, NULL);\r
-      CommandCommunication (Vector, CpuContext, BreakReceived);\r
-      break;\r
+        case DEBUG_DATA_BREAK_CAUSE_STEPPING:\r
+          //\r
+          // Stepping is finished, send Ack package.\r
+          //\r
+          if (MultiProcessorDebugSupport ()) {\r
+            mDebugMpContext.BreakAtCpuIndex = ProcessorIndex;\r
+          }\r
 \r
-    case DEBUG_DATA_BREAK_CAUSE_IMAGE_LOAD:\r
-    case DEBUG_DATA_BREAK_CAUSE_IMAGE_UNLOAD:\r
-      //\r
-      // Set AL to DEBUG_AGENT_IMAGE_CONTINUE\r
-      //\r
-      Al = ArchReadRegisterBuffer (CpuContext, SOFT_DEBUGGER_REGISTER_AX, &Data8);\r
-      *Al = DEBUG_AGENT_IMAGE_CONTINUE;\r
+          //\r
+          // Clear Stepping Flag and restore EFLAGS.IF\r
+          //\r
+          CommandSteppingCleanup (CpuContext);\r
+          SendAckPacket (DEBUG_COMMAND_OK);\r
+          CommandCommunication (Vector, CpuContext, BreakReceived);\r
+          break;\r
 \r
-      if (!IsHostAttached ()) {\r
-        //\r
-        // If HOST is not connected for image load/unload, return\r
-        //\r
-        break;\r
-      }\r
-      //\r
-      // Continue to run the following common code\r
-      //\r
+        case DEBUG_DATA_BREAK_CAUSE_MEMORY_READY:\r
+          //\r
+          // Memory is ready\r
+          //\r
+          SendCommandAndWaitForAckOK (DEBUG_COMMAND_MEMORY_READY, READ_PACKET_TIMEOUT, &BreakReceived, NULL);\r
+          CommandCommunication (Vector, CpuContext, BreakReceived);\r
+          break;\r
 \r
-    case DEBUG_DATA_BREAK_CAUSE_HW_BREAKPOINT:\r
-    case DEBUG_DATA_BREAK_CAUSE_SW_BREAKPOINT:\r
-    default:\r
-      //\r
-      // Send Break packet to HOST\r
-      //\r
-      AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
-      //\r
-      // Only the first breaking processor could send BREAK_POINT to HOST\r
-      //\r
-      if (IsFirstBreakProcessor (ProcessorIndex)) {\r
-        SendBreakPacketToHost (BreakCause, ProcessorIndex, &BreakReceived);\r
-      }\r
-      ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+        case DEBUG_DATA_BREAK_CAUSE_IMAGE_LOAD:\r
+        case DEBUG_DATA_BREAK_CAUSE_IMAGE_UNLOAD:\r
+          //\r
+          // Set AL to DEBUG_AGENT_IMAGE_CONTINUE\r
+          //\r
+          Al  = ArchReadRegisterBuffer (CpuContext, SOFT_DEBUGGER_REGISTER_AX, &Data8);\r
+          *Al = DEBUG_AGENT_IMAGE_CONTINUE;\r
+\r
+          if (!IsHostAttached ()) {\r
+            //\r
+            // If HOST is not connected for image load/unload, return\r
+            //\r
+            break;\r
+          }\r
 \r
-      if (Vector == DEBUG_INT3_VECTOR) {\r
         //\r
-        // go back address located "0xCC"\r
+        // Continue to run the following common code\r
         //\r
-        CpuContext->Eip--;\r
-        SavedEip = CpuContext->Eip;\r
-        CommandCommunication (Vector, CpuContext, BreakReceived);\r
-        if ((SavedEip == CpuContext->Eip) &&\r
-            (*(UINT8 *) (UINTN) CpuContext->Eip == DEBUG_SW_BREAKPOINT_SYMBOL)) {\r
+\r
+        case DEBUG_DATA_BREAK_CAUSE_HW_BREAKPOINT:\r
+        case DEBUG_DATA_BREAK_CAUSE_SW_BREAKPOINT:\r
+        default:\r
           //\r
-          // If this is not a software breakpoint set by HOST,\r
-          // restore EIP\r
+          // Send Break packet to HOST\r
           //\r
-          CpuContext->Eip++;\r
-        }\r
-      } else {\r
-        CommandCommunication (Vector, CpuContext, BreakReceived);\r
+          AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+          //\r
+          // Only the first breaking processor could send BREAK_POINT to HOST\r
+          //\r
+          if (IsFirstBreakProcessor (ProcessorIndex)) {\r
+            SendBreakPacketToHost (BreakCause, ProcessorIndex, &BreakReceived);\r
+          }\r
+\r
+          ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+\r
+          if (Vector == DEBUG_INT3_VECTOR) {\r
+            //\r
+            // go back address located "0xCC"\r
+            //\r
+            CpuContext->Eip--;\r
+            SavedEip = CpuContext->Eip;\r
+            CommandCommunication (Vector, CpuContext, BreakReceived);\r
+            if ((SavedEip == CpuContext->Eip) &&\r
+                (*(UINT8 *)(UINTN)CpuContext->Eip == DEBUG_SW_BREAKPOINT_SYMBOL))\r
+            {\r
+              //\r
+              // If this is not a software breakpoint set by HOST,\r
+              // restore EIP\r
+              //\r
+              CpuContext->Eip++;\r
+            }\r
+          } else {\r
+            CommandCommunication (Vector, CpuContext, BreakReceived);\r
+          }\r
+\r
+          break;\r
       }\r
-      break;\r
-    }\r
 \r
-    break;\r
+      break;\r
 \r
-  case DEBUG_TIMER_VECTOR:\r
+    case DEBUG_TIMER_VECTOR:\r
 \r
-    AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+      AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
 \r
-    if (MultiProcessorDebugSupport()) {\r
-      if (DebugAgentIsBsp (ProcessorIndex)) {\r
-        //\r
-        // If current processor is BSP, check Apic timer's init count if changed,\r
-        // it may be re-written when switching BSP.\r
-        // If it changed, re-initialize debug timer\r
-        //\r
-        CurrentDebugTimerInitCount = GetApicTimerInitCount ();\r
-        if (mDebugMpContext.DebugTimerInitCount != CurrentDebugTimerInitCount) {\r
-          InitializeDebugTimer (NULL, FALSE);\r
-          SaveAndSetDebugTimerInterrupt (TRUE);\r
+      if (MultiProcessorDebugSupport ()) {\r
+        if (DebugAgentIsBsp (ProcessorIndex)) {\r
+          //\r
+          // If current processor is BSP, check Apic timer's init count if changed,\r
+          // it may be re-written when switching BSP.\r
+          // If it changed, re-initialize debug timer\r
+          //\r
+          CurrentDebugTimerInitCount = GetApicTimerInitCount ();\r
+          if (mDebugMpContext.DebugTimerInitCount != CurrentDebugTimerInitCount) {\r
+            InitializeDebugTimer (NULL, FALSE);\r
+            SaveAndSetDebugTimerInterrupt (TRUE);\r
+          }\r
         }\r
-      }\r
 \r
-      if (!DebugAgentIsBsp (ProcessorIndex) || mDebugMpContext.IpiSentByAp) {\r
-        ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
-        //\r
-        // If current processor is not BSP or this is one IPI sent by AP\r
-        //\r
-        if (mDebugMpContext.BreakAtCpuIndex != (UINT32) (-1)) {\r
-          CommandCommunication (Vector, CpuContext, FALSE);\r
-        }\r
+        if (!DebugAgentIsBsp (ProcessorIndex) || mDebugMpContext.IpiSentByAp) {\r
+          ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+          //\r
+          // If current processor is not BSP or this is one IPI sent by AP\r
+          //\r
+          if (mDebugMpContext.BreakAtCpuIndex != (UINT32)(-1)) {\r
+            CommandCommunication (Vector, CpuContext, FALSE);\r
+          }\r
 \r
-        //\r
-        // Clear EOI before exiting interrupt process routine.\r
-        //\r
-        SendApicEoi ();\r
-        break;\r
+          //\r
+          // Clear EOI before exiting interrupt process routine.\r
+          //\r
+          SendApicEoi ();\r
+          break;\r
+        }\r
       }\r
-    }\r
 \r
-    //\r
-    // Only BSP could run here\r
-    //\r
-    while (TRUE) {\r
       //\r
-      // If there is data in debug port, will check whether it is break(attach/break-in) symbol,\r
-      // If yes, go into communication mode with HOST.\r
-      // If no, exit interrupt process.\r
+      // Only BSP could run here\r
       //\r
-      if (DebugReadBreakSymbol (Handle, &InputCharacter) == EFI_NOT_FOUND) {\r
-        break;\r
-      }\r
-\r
-      if ((!IsHostAttached () && (InputCharacter == DEBUG_STARTING_SYMBOL_ATTACH)) ||\r
-          (IsHostAttached () && (InputCharacter == DEBUG_COMMAND_HALT)) ||\r
-          (IsHostAttached () && (InputCharacter == DEBUG_COMMAND_GO))\r
-         ) {\r
-        DebugAgentMsgPrint (DEBUG_AGENT_VERBOSE, "Received data [%02x]\n", InputCharacter);\r
-        //\r
-        // Ack OK for break-in symbol\r
-        //\r
-        SendAckPacket (DEBUG_COMMAND_OK);\r
-\r
+      while (TRUE) {\r
         //\r
-        // If receive GO command in Debug Timer, means HOST may lost ACK packet before.\r
+        // If there is data in debug port, will check whether it is break(attach/break-in) symbol,\r
+        // If yes, go into communication mode with HOST.\r
+        // If no, exit interrupt process.\r
         //\r
-        if (InputCharacter == DEBUG_COMMAND_GO) {\r
+        if (DebugReadBreakSymbol (Handle, &InputCharacter) == EFI_NOT_FOUND) {\r
           break;\r
         }\r
 \r
-        if (!IsHostAttached ()) {\r
+        if ((!IsHostAttached () && (InputCharacter == DEBUG_STARTING_SYMBOL_ATTACH)) ||\r
+            (IsHostAttached () && (InputCharacter == DEBUG_COMMAND_HALT)) ||\r
+            (IsHostAttached () && (InputCharacter == DEBUG_COMMAND_GO))\r
+            )\r
+        {\r
+          DebugAgentMsgPrint (DEBUG_AGENT_VERBOSE, "Received data [%02x]\n", InputCharacter);\r
           //\r
-          // Try to attach HOST, if no ack received after 200ms, return\r
+          // Ack OK for break-in symbol\r
           //\r
-          if (AttachHost (BreakCause, READ_PACKET_TIMEOUT, &BreakReceived) != RETURN_SUCCESS) {\r
+          SendAckPacket (DEBUG_COMMAND_OK);\r
+\r
+          //\r
+          // If receive GO command in Debug Timer, means HOST may lost ACK packet before.\r
+          //\r
+          if (InputCharacter == DEBUG_COMMAND_GO) {\r
             break;\r
           }\r
-        }\r
 \r
-        if (MultiProcessorDebugSupport()) {\r
-          if(FindNextPendingBreakCpu  () != -1) {\r
-            SetCpuBreakFlagByIndex (ProcessorIndex, TRUE);\r
-          } else {\r
-            HaltOtherProcessors (ProcessorIndex);\r
+          if (!IsHostAttached ()) {\r
+            //\r
+            // Try to attach HOST, if no ack received after 200ms, return\r
+            //\r
+            if (AttachHost (BreakCause, READ_PACKET_TIMEOUT, &BreakReceived) != RETURN_SUCCESS) {\r
+              break;\r
+            }\r
+          }\r
+\r
+          if (MultiProcessorDebugSupport ()) {\r
+            if (FindNextPendingBreakCpu () != -1) {\r
+              SetCpuBreakFlagByIndex (ProcessorIndex, TRUE);\r
+            } else {\r
+              HaltOtherProcessors (ProcessorIndex);\r
+            }\r
           }\r
+\r
+          ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+          CommandCommunication (Vector, CpuContext, BreakReceived);\r
+          AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+          break;\r
         }\r
-        ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
-        CommandCommunication (Vector, CpuContext, BreakReceived);\r
-        AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
-        break;\r
       }\r
-    }\r
 \r
-    //\r
-    // Clear EOI before exiting interrupt process routine.\r
-    //\r
-    SendApicEoi ();\r
+      //\r
+      // Clear EOI before exiting interrupt process routine.\r
+      //\r
+      SendApicEoi ();\r
 \r
-    ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+      ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
 \r
-    break;\r
+      break;\r
 \r
-  default:\r
-    if (Vector <= DEBUG_EXCEPT_SIMD) {\r
-      DebugAgentMsgPrint (\r
-        DEBUG_AGENT_ERROR,\r
-        "Exception happened, ExceptionNum is %d, EIP = 0x%x.\n",\r
-        Vector,\r
-        (UINTN) CpuContext->Eip\r
-        );\r
-      if (BreakCause == DEBUG_DATA_BREAK_CAUSE_STEPPING) {\r
-        //\r
-        // If exception happened when executing Stepping, send Ack package.\r
-        // HOST consider Stepping command was finished.\r
-        //\r
-        if (MultiProcessorDebugSupport()) {\r
-          mDebugMpContext.BreakAtCpuIndex = ProcessorIndex;\r
-        }\r
-        //\r
-        // Clear Stepping flag and restore EFLAGS.IF\r
-        //\r
-        CommandSteppingCleanup (CpuContext);\r
-        SendAckPacket (DEBUG_COMMAND_OK);\r
-      } else {\r
-        //\r
-        // Exception occurs, send Break packet to HOST\r
-        //\r
-        AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
-        //\r
-        // Only the first breaking processor could send BREAK_POINT to HOST\r
-        //\r
-        if (IsFirstBreakProcessor (ProcessorIndex)) {\r
-          SendBreakPacketToHost (BreakCause, ProcessorIndex, &BreakReceived);\r
+    default:\r
+      if (Vector <= DEBUG_EXCEPT_SIMD) {\r
+        DebugAgentMsgPrint (\r
+          DEBUG_AGENT_ERROR,\r
+          "Exception happened, ExceptionNum is %d, EIP = 0x%x.\n",\r
+          Vector,\r
+          (UINTN)CpuContext->Eip\r
+          );\r
+        if (BreakCause == DEBUG_DATA_BREAK_CAUSE_STEPPING) {\r
+          //\r
+          // If exception happened when executing Stepping, send Ack package.\r
+          // HOST consider Stepping command was finished.\r
+          //\r
+          if (MultiProcessorDebugSupport ()) {\r
+            mDebugMpContext.BreakAtCpuIndex = ProcessorIndex;\r
+          }\r
+\r
+          //\r
+          // Clear Stepping flag and restore EFLAGS.IF\r
+          //\r
+          CommandSteppingCleanup (CpuContext);\r
+          SendAckPacket (DEBUG_COMMAND_OK);\r
+        } else {\r
+          //\r
+          // Exception occurs, send Break packet to HOST\r
+          //\r
+          AcquireMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+          //\r
+          // Only the first breaking processor could send BREAK_POINT to HOST\r
+          //\r
+          if (IsFirstBreakProcessor (ProcessorIndex)) {\r
+            SendBreakPacketToHost (BreakCause, ProcessorIndex, &BreakReceived);\r
+          }\r
+\r
+          ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
         }\r
-        ReleaseMpSpinLock (&mDebugMpContext.DebugPortSpinLock);\r
+\r
+        CommandCommunication (Vector, CpuContext, BreakReceived);\r
       }\r
 \r
-      CommandCommunication (Vector, CpuContext, BreakReceived);\r
-    }\r
-    break;\r
+      break;\r
   }\r
 \r
-  if (MultiProcessorDebugSupport()) {\r
+  if (MultiProcessorDebugSupport ()) {\r
     //\r
     // Clear flag and wait for all processors run here\r
     //\r
@@ -2628,7 +2687,7 @@ InterruptProcess (
     }\r
   }\r
 \r
-  if (IssuedViewPoint == ProcessorIndex && GetDebugFlag (DEBUG_AGENT_FLAG_STEPPING) != 1) {\r
+  if ((IssuedViewPoint == ProcessorIndex) && (GetDebugFlag (DEBUG_AGENT_FLAG_STEPPING) != 1)) {\r
     //\r
     // If the command is not stepping, clean up AgentInProgress flag\r
     //\r
index 741b2e4ab1353eb006edd6def461b85f19afb8ba..a0ede308efee99baec7db8a0e9a0a0f308794d06 100644 (file)
 //\r
 // These macros may be already defined in DebugAgentLib.h\r
 //\r
-#define DEBUG_AGENT_INIT_PEI                     9\r
-#define DEBUG_AGENT_INIT_DXE_LOAD               10\r
-#define DEBUG_AGENT_INIT_DXE_UNLOAD             11\r
-#define DEBUG_AGENT_INIT_THUNK_PEI_IA32TOX64    12\r
+#define DEBUG_AGENT_INIT_PEI                  9\r
+#define DEBUG_AGENT_INIT_DXE_LOAD             10\r
+#define DEBUG_AGENT_INIT_DXE_UNLOAD           11\r
+#define DEBUG_AGENT_INIT_THUNK_PEI_IA32TOX64  12\r
 \r
-#define DEBUG_INT1_VECTOR               DEBUG_EXCEPT_DEBUG\r
-#define DEBUG_INT3_VECTOR               DEBUG_EXCEPT_BREAKPOINT\r
-#define DEBUG_TIMER_VECTOR              32\r
-#define DEBUG_MAILBOX_VECTOR            33\r
+#define DEBUG_INT1_VECTOR     DEBUG_EXCEPT_DEBUG\r
+#define DEBUG_INT3_VECTOR     DEBUG_EXCEPT_BREAKPOINT\r
+#define DEBUG_TIMER_VECTOR    32\r
+#define DEBUG_MAILBOX_VECTOR  33\r
 \r
 //\r
 //  Timeout value for reading packet (unit is microsecond)\r
 //\r
-#define READ_PACKET_TIMEOUT     (500 * 1000)\r
-#define DEBUG_TIMER_INTERVAL    (100 * 1000)\r
+#define READ_PACKET_TIMEOUT   (500 * 1000)\r
+#define DEBUG_TIMER_INTERVAL  (100 * 1000)\r
 \r
-#define SOFT_INTERRUPT_SIGNATURE    SIGNATURE_32('S','O','F','T')\r
-#define SYSTEM_RESET_SIGNATURE      SIGNATURE_32('S','Y','S','R')\r
-#define MEMORY_READY_SIGNATURE      SIGNATURE_32('M','E','M','R')\r
+#define SOFT_INTERRUPT_SIGNATURE  SIGNATURE_32('S','O','F','T')\r
+#define SYSTEM_RESET_SIGNATURE    SIGNATURE_32('S','Y','S','R')\r
+#define MEMORY_READY_SIGNATURE    SIGNATURE_32('M','E','M','R')\r
 \r
-extern UINTN  Exception0Handle;\r
-extern UINTN  TimerInterruptHandle;\r
-extern UINT32 ExceptionStubHeaderSize;\r
-extern BOOLEAN mSkipBreakpoint;\r
-extern EFI_VECTOR_HANDOFF_INFO mVectorHandoffInfoDebugAgent[];\r
-extern UINTN                   mVectorHandoffInfoCount;\r
+extern UINTN                    Exception0Handle;\r
+extern UINTN                    TimerInterruptHandle;\r
+extern UINT32                   ExceptionStubHeaderSize;\r
+extern BOOLEAN                  mSkipBreakpoint;\r
+extern EFI_VECTOR_HANDOFF_INFO  mVectorHandoffInfoDebugAgent[];\r
+extern UINTN                    mVectorHandoffInfoCount;\r
 \r
 //\r
 // CPU exception information issued by debug agent\r
@@ -75,11 +75,11 @@ typedef struct {
   //\r
   // This field is used to save CPU content before executing HOST command\r
   //\r
-  BASE_LIBRARY_JUMP_BUFFER            JumpBuffer;\r
+  BASE_LIBRARY_JUMP_BUFFER             JumpBuffer;\r
   //\r
   // This field returns the exception information issued by the HOST command\r
   //\r
-  DEBUG_DATA_RESPONSE_GET_EXCEPTION   ExceptionContent;\r
+  DEBUG_DATA_RESPONSE_GET_EXCEPTION    ExceptionContent;\r
 } DEBUG_AGENT_EXCEPTION_BUFFER;\r
 \r
 #define DEBUG_AGENT_FLAG_HOST_ATTACHED         BIT0\r
@@ -107,38 +107,38 @@ typedef union {
     //\r
     // Lower 32 bits to store the status of DebugAgent\r
     //\r
-    UINT32  HostAttached      : 1;   // 1: HOST is attached\r
-    UINT32  AgentInProgress   : 1;   // 1: Debug Agent is communicating with HOST\r
-    UINT32  MemoryReady       : 1;   // 1: Memory is ready\r
-    UINT32  SteppingFlag      : 1;   // 1: Agent is running stepping command\r
-    UINT32  CheckMailboxInHob : 1;   // 1: Need to check mailbox saved in HOB\r
-    UINT32  InitArch          : 2;   // value of DEBUG_DATA_RESPONSE_ARCH_MODE\r
-    UINT32  InterruptFlag     : 1;   // 1: EFLAGS.IF is set\r
-    UINT32  Reserved1         : 24;\r
+    UINT32    HostAttached      : 1; // 1: HOST is attached\r
+    UINT32    AgentInProgress   : 1; // 1: Debug Agent is communicating with HOST\r
+    UINT32    MemoryReady       : 1; // 1: Memory is ready\r
+    UINT32    SteppingFlag      : 1; // 1: Agent is running stepping command\r
+    UINT32    CheckMailboxInHob : 1; // 1: Need to check mailbox saved in HOB\r
+    UINT32    InitArch          : 2; // value of DEBUG_DATA_RESPONSE_ARCH_MODE\r
+    UINT32    InterruptFlag     : 1; // 1: EFLAGS.IF is set\r
+    UINT32    Reserved1         : 24;\r
     //\r
     // Higher 32bits to control the behavior of DebugAgent\r
     //\r
-    UINT32  BreakOnNextSmi    : 1;   // 1: Break on next SMI\r
-    UINT32  PrintErrorLevel   : 4;   // Bitmask of print error level for debug message\r
-    UINT32  BreakOnBootScript : 1;   // 1: Break before executing boot script\r
-    UINT32  Reserved2         : 26;\r
+    UINT32    BreakOnNextSmi    : 1; // 1: Break on next SMI\r
+    UINT32    PrintErrorLevel   : 4; // Bitmask of print error level for debug message\r
+    UINT32    BreakOnBootScript : 1; // 1: Break before executing boot script\r
+    UINT32    Reserved2         : 26;\r
   } Bits;\r
-  UINT64  Uint64;\r
+  UINT64    Uint64;\r
 } DEBUG_AGENT_FLAG;\r
 \r
 typedef struct {\r
-  DEBUG_AGENT_FLAG           DebugFlag;\r
-  UINT64                     DebugPortHandle;\r
+  DEBUG_AGENT_FLAG    DebugFlag;\r
+  UINT64              DebugPortHandle;\r
   //\r
   // Pointer to DEBUG_AGENT_EXCEPTION_BUFFER\r
   //\r
-  UINT64                     ExceptionBufferPointer;\r
-  UINT8                      LastAck;      // The last ack packet type\r
-  UINT8                      SequenceNo;\r
-  UINT8                      HostSequenceNo;\r
-  UINT32                     DebugTimerFrequency;\r
-  UINT8                      CheckSum;     // Mailbox checksum\r
-  UINT8                      ToBeCheckSum; // To be Mailbox checksum at the next\r
+  UINT64              ExceptionBufferPointer;\r
+  UINT8               LastAck;             // The last ack packet type\r
+  UINT8               SequenceNo;\r
+  UINT8               HostSequenceNo;\r
+  UINT32              DebugTimerFrequency;\r
+  UINT8               CheckSum;            // Mailbox checksum\r
+  UINT8               ToBeCheckSum;        // To be Mailbox checksum at the next\r
 } DEBUG_AGENT_MAILBOX;\r
 #pragma pack()\r
 \r
@@ -147,33 +147,32 @@ typedef struct {
 ///\r
 typedef union {\r
   struct {\r
-    UINT32  OffsetLow:16;   ///< Offset bits 15..0.\r
-    UINT32  Selector:16;    ///< Selector.\r
-    UINT32  Reserved_0:8;   ///< Reserved.\r
-    UINT32  GateType:8;     ///< Gate Type.  See #defines above.\r
-    UINT32  OffsetHigh:16;  ///< Offset bits 31..16.\r
+    UINT32    OffsetLow  : 16; ///< Offset bits 15..0.\r
+    UINT32    Selector   : 16; ///< Selector.\r
+    UINT32    Reserved_0 : 8;  ///< Reserved.\r
+    UINT32    GateType   : 8;  ///< Gate Type.  See #defines above.\r
+    UINT32    OffsetHigh : 16; ///< Offset bits 31..16.\r
   } Bits;\r
-  UINT64  Uint64;\r
+  UINT64    Uint64;\r
 } IA32_IDT_ENTRY;\r
 \r
-\r
 typedef union {\r
   struct {\r
-    UINT32  LimitLow    : 16;\r
-    UINT32  BaseLow     : 16;\r
-    UINT32  BaseMid     : 8;\r
-    UINT32  Type        : 4;\r
-    UINT32  System      : 1;\r
-    UINT32  Dpl         : 2;\r
-    UINT32  Present     : 1;\r
-    UINT32  LimitHigh   : 4;\r
-    UINT32  Software    : 1;\r
-    UINT32  Reserved    : 1;\r
-    UINT32  DefaultSize : 1;\r
-    UINT32  Granularity : 1;\r
-    UINT32  BaseHigh    : 8;\r
+    UINT32    LimitLow    : 16;\r
+    UINT32    BaseLow     : 16;\r
+    UINT32    BaseMid     : 8;\r
+    UINT32    Type        : 4;\r
+    UINT32    System      : 1;\r
+    UINT32    Dpl         : 2;\r
+    UINT32    Present     : 1;\r
+    UINT32    LimitHigh   : 4;\r
+    UINT32    Software    : 1;\r
+    UINT32    Reserved    : 1;\r
+    UINT32    DefaultSize : 1;\r
+    UINT32    Granularity : 1;\r
+    UINT32    BaseHigh    : 8;\r
   } Bits;\r
-  UINT64  Uint64;\r
+  UINT64    Uint64;\r
 } IA32_GDT;\r
 \r
 /**\r
@@ -197,9 +196,9 @@ InitializeDebugIdt (
 **/\r
 UINT8 *\r
 ArchReadRegisterBuffer (\r
-  IN DEBUG_CPU_CONTEXT               *CpuContext,\r
-  IN UINT8                           Index,\r
-  IN UINT8                           *Width\r
+  IN DEBUG_CPU_CONTEXT  *CpuContext,\r
+  IN UINT8              Index,\r
+  IN UINT8              *Width\r
   );\r
 \r
 /**\r
@@ -216,9 +215,9 @@ ArchReadRegisterBuffer (
 **/\r
 RETURN_STATUS\r
 SendDataResponsePacket (\r
-  IN UINT8                   *Data,\r
-  IN UINT16                  DataSize,\r
-  IN OUT DEBUG_PACKET_HEADER *DebugHeader\r
+  IN UINT8                    *Data,\r
+  IN UINT16                   DataSize,\r
+  IN OUT DEBUG_PACKET_HEADER  *DebugHeader\r
   );\r
 \r
 /**\r
@@ -267,8 +266,8 @@ GetDebugPortHandle (
 **/\r
 EFI_STATUS\r
 DebugReadBreakSymbol (\r
-  IN  DEBUG_PORT_HANDLE      Handle,\r
-  OUT UINT8                  *BreakSymbol\r
+  IN  DEBUG_PORT_HANDLE  Handle,\r
+  OUT UINT8              *BreakSymbol\r
   );\r
 \r
 /**\r
@@ -286,8 +285,8 @@ DebugReadBreakSymbol (
 VOID\r
 EFIAPI\r
 DebugAgentMsgPrint (\r
-  IN UINT8         ErrorLevel,\r
-  IN CHAR8         *Format,\r
+  IN UINT8  ErrorLevel,\r
+  IN CHAR8  *Format,\r
   ...\r
   );\r
 \r
@@ -299,7 +298,7 @@ DebugAgentMsgPrint (
 **/\r
 VOID\r
 TriggerSoftInterrupt (\r
-  IN UINT32                 Signature\r
+  IN UINT32  Signature\r
   );\r
 \r
 /**\r
@@ -322,7 +321,7 @@ MultiProcessorDebugSupport (
 **/\r
 VOID\r
 FindAndReportModuleImageInfo (\r
-  IN UINTN          AlignSize\r
+  IN UINTN  AlignSize\r
   );\r
 \r
 /**\r
@@ -345,7 +344,7 @@ IsDebugAgentInitialzed (
 **/\r
 VOID\r
 UpdateMailboxChecksum (\r
-  IN DEBUG_AGENT_MAILBOX    *Mailbox\r
+  IN DEBUG_AGENT_MAILBOX  *Mailbox\r
   );\r
 \r
 /**\r
@@ -358,7 +357,7 @@ UpdateMailboxChecksum (
 **/\r
 VOID\r
 VerifyMailboxChecksum (\r
-  IN DEBUG_AGENT_MAILBOX    *Mailbox\r
+  IN DEBUG_AGENT_MAILBOX  *Mailbox\r
   );\r
 \r
 /**\r
@@ -370,8 +369,8 @@ VerifyMailboxChecksum (
 **/\r
 VOID\r
 SetDebugFlag (\r
-  IN UINT64                 FlagMask,\r
-  IN UINT32                 FlagValue\r
+  IN UINT64  FlagMask,\r
+  IN UINT32  FlagValue\r
   );\r
 \r
 /**\r
@@ -384,7 +383,7 @@ SetDebugFlag (
 **/\r
 UINT32\r
 GetDebugFlag (\r
-  IN UINT64                 FlagMask\r
+  IN UINT64  FlagMask\r
   );\r
 \r
 /**\r
@@ -397,9 +396,9 @@ GetDebugFlag (
 **/\r
 VOID\r
 UpdateMailboxContent (\r
-  IN DEBUG_AGENT_MAILBOX    *Mailbox,\r
-  IN UINTN                  Index,\r
-  IN UINT64                 Value\r
+  IN DEBUG_AGENT_MAILBOX  *Mailbox,\r
+  IN UINTN                Index,\r
+  IN UINT64               Value\r
   );\r
 \r
 /**\r
@@ -412,7 +411,7 @@ UpdateMailboxContent (
 **/\r
 VOID *\r
 GetExceptionHandlerInIdtEntry (\r
-  IN UINTN             ExceptionNum\r
+  IN UINTN  ExceptionNum\r
   );\r
 \r
 /**\r
@@ -424,8 +423,8 @@ GetExceptionHandlerInIdtEntry (
 **/\r
 VOID\r
 SetExceptionHandlerInIdtEntry (\r
-  IN UINTN             ExceptionNum,\r
-  IN VOID              *ExceptionHandler\r
+  IN UINTN  ExceptionNum,\r
+  IN VOID   *ExceptionHandler\r
   );\r
 \r
 /**\r
@@ -446,10 +445,10 @@ SetExceptionHandlerInIdtEntry (
 VOID\r
 EFIAPI\r
 DebugAgentDataMsgPrint (\r
-  IN UINT8             ErrorLevel,\r
-  IN BOOLEAN           IsSend,\r
-  IN UINT8             *Data,\r
-  IN UINT8             Length\r
+  IN UINT8    ErrorLevel,\r
+  IN BOOLEAN  IsSend,\r
+  IN UINT8    *Data,\r
+  IN UINT8    Length\r
   );\r
 \r
 /**\r
@@ -465,8 +464,8 @@ DebugAgentDataMsgPrint (
 **/\r
 EFI_STATUS\r
 ReadRemainingBreakPacket (\r
-  IN     DEBUG_PORT_HANDLE      Handle,\r
-  IN OUT DEBUG_PACKET_HEADER    *DebugHeader\r
+  IN     DEBUG_PORT_HANDLE    Handle,\r
+  IN OUT DEBUG_PACKET_HEADER  *DebugHeader\r
   );\r
 \r
 /**\r
@@ -488,11 +487,10 @@ ReadRemainingBreakPacket (
 **/\r
 UINTN\r
 DebugAgentReadBuffer (\r
-  IN     DEBUG_PORT_HANDLE     Handle,\r
-  IN OUT UINT8                 *Buffer,\r
-  IN     UINTN                 NumberOfBytes,\r
-  IN     UINTN                 Timeout\r
+  IN     DEBUG_PORT_HANDLE  Handle,\r
+  IN OUT UINT8              *Buffer,\r
+  IN     UINTN              NumberOfBytes,\r
+  IN     UINTN              Timeout\r
   );\r
 \r
 #endif\r
-\r
index 16c4595b82bad1456059dded3c53268c9b2b8d03..89f922aba0ea3d64b8bb0b48db35cf6bb53e1118 100644 (file)
@@ -8,9 +8,9 @@
 \r
 #include "DebugAgent.h"\r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED DEBUG_MP_CONTEXT volatile  mDebugMpContext = {0,0,0,{0},{0},0,0,0,0,FALSE,FALSE};\r
+GLOBAL_REMOVE_IF_UNREFERENCED DEBUG_MP_CONTEXT volatile  mDebugMpContext = { 0, 0, 0, { 0 }, { 0 }, 0, 0, 0, 0, FALSE, FALSE };\r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED DEBUG_CPU_DATA volatile  mDebugCpuData = {0};\r
+GLOBAL_REMOVE_IF_UNREFERENCED DEBUG_CPU_DATA volatile  mDebugCpuData = { 0 };\r
 \r
 /**\r
   Acquire a spin lock when Multi-processor supported.\r
@@ -23,10 +23,10 @@ GLOBAL_REMOVE_IF_UNREFERENCED DEBUG_CPU_DATA volatile  mDebugCpuData = {0};
 **/\r
 VOID\r
 AcquireMpSpinLock (\r
-  IN OUT SPIN_LOCK           *MpSpinLock\r
+  IN OUT SPIN_LOCK  *MpSpinLock\r
   )\r
 {\r
-  if (!MultiProcessorDebugSupport()) {\r
+  if (!MultiProcessorDebugSupport ()) {\r
     return;\r
   }\r
 \r
@@ -34,6 +34,7 @@ AcquireMpSpinLock (
     if (AcquireSpinLockOrFail (MpSpinLock)) {\r
       break;\r
     }\r
+\r
     CpuPause ();\r
     continue;\r
   }\r
@@ -47,10 +48,10 @@ AcquireMpSpinLock (
 **/\r
 VOID\r
 ReleaseMpSpinLock (\r
-  IN OUT SPIN_LOCK           *MpSpinLock\r
+  IN OUT SPIN_LOCK  *MpSpinLock\r
   )\r
 {\r
-  if (!MultiProcessorDebugSupport()) {\r
+  if (!MultiProcessorDebugSupport ()) {\r
     return;\r
   }\r
 \r
@@ -65,12 +66,12 @@ ReleaseMpSpinLock (
 **/\r
 VOID\r
 HaltOtherProcessors (\r
-  IN UINT32             CurrentProcessorIndex\r
+  IN UINT32  CurrentProcessorIndex\r
   )\r
 {\r
   DebugAgentMsgPrint (DEBUG_AGENT_INFO, "processor[%x]:Try to halt other processors.\n", CurrentProcessorIndex);\r
   if (!DebugAgentIsBsp (CurrentProcessorIndex)) {\r
-    SetIpiSentByApFlag (TRUE);;\r
+    SetIpiSentByApFlag (TRUE);\r
   }\r
 \r
   mDebugMpContext.BreakAtCpuIndex = CurrentProcessorIndex;\r
@@ -84,7 +85,6 @@ HaltOtherProcessors (
   // Send fixed IPI to other processors.\r
   //\r
   SendFixedIpiAllExcludingSelf (DEBUG_TIMER_VECTOR);\r
-\r
 }\r
 \r
 /**\r
@@ -98,14 +98,14 @@ GetProcessorIndex (
   VOID\r
   )\r
 {\r
-  UINT32                Index;\r
-  UINT16                LocalApicID;\r
+  UINT32  Index;\r
+  UINT16  LocalApicID;\r
 \r
-  LocalApicID = (UINT16) GetApicId ();\r
+  LocalApicID = (UINT16)GetApicId ();\r
 \r
   AcquireMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
 \r
-  for (Index = 0; Index < mDebugCpuData.CpuCount; Index ++) {\r
+  for (Index = 0; Index < mDebugCpuData.CpuCount; Index++) {\r
     if (mDebugCpuData.ApicID[Index] == LocalApicID) {\r
       break;\r
     }\r
@@ -113,7 +113,7 @@ GetProcessorIndex (
 \r
   if (Index == mDebugCpuData.CpuCount) {\r
     mDebugCpuData.ApicID[Index] = LocalApicID;\r
-    mDebugCpuData.CpuCount ++ ;\r
+    mDebugCpuData.CpuCount++;\r
   }\r
 \r
   ReleaseMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
@@ -153,6 +153,7 @@ DebugAgentIsBsp (
       mDebugMpContext.BspIndex = ProcessorIndex;\r
       ReleaseMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
     }\r
+\r
     return TRUE;\r
   } else {\r
     return FALSE;\r
@@ -169,12 +170,12 @@ DebugAgentIsBsp (
 **/\r
 VOID\r
 SetCpuStopFlagByIndex (\r
-  IN UINT32             ProcessorIndex,\r
-  IN BOOLEAN            StopFlag\r
+  IN UINT32   ProcessorIndex,\r
+  IN BOOLEAN  StopFlag\r
   )\r
 {\r
-  UINT8                 Value;\r
-  UINTN                 Index;\r
+  UINT8  Value;\r
+  UINTN  Index;\r
 \r
   AcquireMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
 \r
@@ -185,6 +186,7 @@ SetCpuStopFlagByIndex (
   } else {\r
     Value = BitFieldWrite8 (Value, Index, Index, 0);\r
   }\r
+\r
   mDebugMpContext.CpuStopStatusMask[ProcessorIndex / 8] = Value;\r
 \r
   ReleaseMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
@@ -200,12 +202,12 @@ SetCpuStopFlagByIndex (
 **/\r
 VOID\r
 SetCpuBreakFlagByIndex (\r
-  IN UINT32             ProcessorIndex,\r
-  IN BOOLEAN            BreakFlag\r
+  IN UINT32   ProcessorIndex,\r
+  IN BOOLEAN  BreakFlag\r
   )\r
 {\r
-  UINT8                 Value;\r
-  UINTN                 Index;\r
+  UINT8  Value;\r
+  UINTN  Index;\r
 \r
   AcquireMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
 \r
@@ -216,6 +218,7 @@ SetCpuBreakFlagByIndex (
   } else {\r
     Value = BitFieldWrite8 (Value, Index, Index, 0);\r
   }\r
+\r
   mDebugMpContext.CpuBreakMask[ProcessorIndex / 8] = Value;\r
 \r
   ReleaseMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
@@ -232,12 +235,12 @@ SetCpuBreakFlagByIndex (
 **/\r
 BOOLEAN\r
 IsCpuStopped (\r
-  IN UINT32              ProcessorIndex\r
+  IN UINT32  ProcessorIndex\r
   )\r
 {\r
-  UINT8                 CpuMask;\r
+  UINT8  CpuMask;\r
 \r
-  CpuMask = (UINT8) (1 << (ProcessorIndex % 8));\r
+  CpuMask = (UINT8)(1 << (ProcessorIndex % 8));\r
 \r
   if ((mDebugMpContext.CpuStopStatusMask[ProcessorIndex / 8] & CpuMask) != 0) {\r
     return TRUE;\r
@@ -255,7 +258,7 @@ IsCpuStopped (
 **/\r
 VOID\r
 SetCpuRunningFlag (\r
-  IN BOOLEAN            RunningFlag\r
+  IN BOOLEAN  RunningFlag\r
   )\r
 {\r
   AcquireMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
@@ -271,7 +274,7 @@ SetCpuRunningFlag (
 **/\r
 VOID\r
 SetDebugViewPoint (\r
-  IN UINT32             ProcessorIndex\r
+  IN UINT32  ProcessorIndex\r
   )\r
 {\r
   AcquireMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
@@ -288,7 +291,7 @@ SetDebugViewPoint (
 **/\r
 VOID\r
 SetIpiSentByApFlag (\r
-  IN BOOLEAN            IpiSentByApFlag\r
+  IN BOOLEAN  IpiSentByApFlag\r
   )\r
 {\r
   AcquireMpSpinLock (&mDebugMpContext.MpContextSpinLock);\r
@@ -309,13 +312,14 @@ FindNextPendingBreakCpu (
   VOID\r
   )\r
 {\r
-  UINT32               Index;\r
+  UINT32  Index;\r
 \r
-  for (Index = 0; Index < DEBUG_CPU_MAX_COUNT / 8; Index ++) {\r
+  for (Index = 0; Index < DEBUG_CPU_MAX_COUNT / 8; Index++) {\r
     if (mDebugMpContext.CpuBreakMask[Index] != 0) {\r
-      return  (UINT32) LowBitSet32 (mDebugMpContext.CpuBreakMask[Index]) + Index * 8;\r
+      return (UINT32)LowBitSet32 (mDebugMpContext.CpuBreakMask[Index]) + Index * 8;\r
     }\r
   }\r
+\r
   return (UINT32)-1;\r
 }\r
 \r
@@ -331,13 +335,14 @@ IsAllCpuRunning (
   VOID\r
   )\r
 {\r
-  UINTN              Index;\r
+  UINTN  Index;\r
 \r
-  for (Index = 0; Index < DEBUG_CPU_MAX_COUNT / 8; Index ++) {\r
+  for (Index = 0; Index < DEBUG_CPU_MAX_COUNT / 8; Index++) {\r
     if (mDebugMpContext.CpuStopStatusMask[Index] != 0) {\r
       return FALSE;\r
     }\r
   }\r
+\r
   return TRUE;\r
 }\r
 \r
@@ -354,11 +359,11 @@ IsAllCpuRunning (
 **/\r
 BOOLEAN\r
 IsFirstBreakProcessor (\r
-  IN UINT32              ProcessorIndex\r
+  IN UINT32  ProcessorIndex\r
   )\r
 {\r
-  if (MultiProcessorDebugSupport()) {\r
-    if (mDebugMpContext.BreakAtCpuIndex != (UINT32) -1) {\r
+  if (MultiProcessorDebugSupport ()) {\r
+    if (mDebugMpContext.BreakAtCpuIndex != (UINT32)-1) {\r
       //\r
       // The current processor is not the first breaking one.\r
       //\r
@@ -372,6 +377,6 @@ IsFirstBreakProcessor (
       return TRUE;\r
     }\r
   }\r
+\r
   return TRUE;\r
 }\r
-\r
index 07ddccad335d312595c5141a9cd9adcf70fa0565..a0bc24ebfd27460f823f217c1f137df384056c2d 100644 (file)
@@ -9,7 +9,7 @@
 #ifndef _DEBUG_MP_H_\r
 #define _DEBUG_MP_H_\r
 \r
-#define DEBUG_CPU_MAX_COUNT             256\r
+#define DEBUG_CPU_MAX_COUNT  256\r
 \r
 typedef struct {\r
   UINT32    CpuCount;                            ///< Processor count\r
@@ -17,21 +17,21 @@ typedef struct {
 } DEBUG_CPU_DATA;\r
 \r
 typedef struct {\r
-  SPIN_LOCK                 MpContextSpinLock;   ///< Lock for writing MP context\r
-  SPIN_LOCK                 DebugPortSpinLock;   ///< Lock for access debug port\r
-  SPIN_LOCK                 MailboxSpinLock;     ///< Lock for accessing mail box\r
-  UINT8                     CpuBreakMask[DEBUG_CPU_MAX_COUNT/8];        ///< Bitmask of all breaking CPUs\r
-  UINT8                     CpuStopStatusMask[DEBUG_CPU_MAX_COUNT/8];   ///< Bitmask of CPU stop status\r
-  UINT32                    ViewPointIndex;      ///< Current view point to be debugged\r
-  UINT32                    BspIndex;            ///< Processor index value of BSP\r
-  UINT32                    BreakAtCpuIndex;     ///< Processor index value of the current breaking CPU\r
-  UINT32                    DebugTimerInitCount; ///< Record BSP's init timer count\r
-  BOOLEAN                   IpiSentByAp;         ///< TRUE: IPI is sent by AP. FALSE: IPI is sent by BSP\r
-  BOOLEAN                   RunCommandSet;       ///< TRUE: RUN command is executing. FALSE: RUN command has been executed.\r
+  SPIN_LOCK    MpContextSpinLock;                        ///< Lock for writing MP context\r
+  SPIN_LOCK    DebugPortSpinLock;                        ///< Lock for access debug port\r
+  SPIN_LOCK    MailboxSpinLock;                          ///< Lock for accessing mail box\r
+  UINT8        CpuBreakMask[DEBUG_CPU_MAX_COUNT/8];      ///< Bitmask of all breaking CPUs\r
+  UINT8        CpuStopStatusMask[DEBUG_CPU_MAX_COUNT/8]; ///< Bitmask of CPU stop status\r
+  UINT32       ViewPointIndex;                           ///< Current view point to be debugged\r
+  UINT32       BspIndex;                                 ///< Processor index value of BSP\r
+  UINT32       BreakAtCpuIndex;                          ///< Processor index value of the current breaking CPU\r
+  UINT32       DebugTimerInitCount;                      ///< Record BSP's init timer count\r
+  BOOLEAN      IpiSentByAp;                              ///< TRUE: IPI is sent by AP. FALSE: IPI is sent by BSP\r
+  BOOLEAN      RunCommandSet;                            ///< TRUE: RUN command is executing. FALSE: RUN command has been executed.\r
 } DEBUG_MP_CONTEXT;\r
 \r
-extern DEBUG_MP_CONTEXT volatile   mDebugMpContext;\r
-extern DEBUG_CPU_DATA   volatile   mDebugCpuData;\r
+extern DEBUG_MP_CONTEXT volatile  mDebugMpContext;\r
+extern DEBUG_CPU_DATA   volatile  mDebugCpuData;\r
 \r
 /**\r
   Break the other processor by send IPI.\r
@@ -41,7 +41,7 @@ extern DEBUG_CPU_DATA   volatile   mDebugCpuData;
 **/\r
 VOID\r
 HaltOtherProcessors (\r
-  IN UINT32             CurrentProcessorIndex\r
+  IN UINT32  CurrentProcessorIndex\r
   );\r
 \r
 /**\r
@@ -66,7 +66,7 @@ GetProcessorIndex (
 **/\r
 VOID\r
 AcquireMpSpinLock (\r
-  IN OUT SPIN_LOCK           *MpSpinLock\r
+  IN OUT SPIN_LOCK  *MpSpinLock\r
   );\r
 \r
 /**\r
@@ -77,7 +77,7 @@ AcquireMpSpinLock (
 **/\r
 VOID\r
 ReleaseMpSpinLock (\r
-  IN OUT SPIN_LOCK           *MpSpinLock\r
+  IN OUT SPIN_LOCK  *MpSpinLock\r
   );\r
 \r
 /**\r
@@ -91,7 +91,7 @@ ReleaseMpSpinLock (
 **/\r
 BOOLEAN\r
 DebugAgentIsBsp (\r
-  IN UINT32             ProcessorIndex\r
+  IN UINT32  ProcessorIndex\r
   );\r
 \r
 /**\r
@@ -104,8 +104,8 @@ DebugAgentIsBsp (
 **/\r
 VOID\r
 SetCpuStopFlagByIndex (\r
-  IN UINT32             ProcessorIndex,\r
-  IN BOOLEAN            StopFlag\r
+  IN UINT32   ProcessorIndex,\r
+  IN BOOLEAN  StopFlag\r
   );\r
 \r
 /**\r
@@ -118,8 +118,8 @@ SetCpuStopFlagByIndex (
 **/\r
 VOID\r
 SetCpuBreakFlagByIndex (\r
-  IN UINT32             ProcessorIndex,\r
-  IN BOOLEAN            BreakFlag\r
+  IN UINT32   ProcessorIndex,\r
+  IN BOOLEAN  BreakFlag\r
   );\r
 \r
 /**\r
@@ -133,7 +133,7 @@ SetCpuBreakFlagByIndex (
 **/\r
 BOOLEAN\r
 IsCpuStopped (\r
-  IN UINT32              ProcessorIndex\r
+  IN UINT32  ProcessorIndex\r
   );\r
 \r
 /**\r
@@ -145,7 +145,7 @@ IsCpuStopped (
 **/\r
 VOID\r
 SetCpuRunningFlag (\r
-  IN BOOLEAN            RunningFlag\r
+  IN BOOLEAN  RunningFlag\r
   );\r
 \r
 /**\r
@@ -156,7 +156,7 @@ SetCpuRunningFlag (
 **/\r
 VOID\r
 SetDebugViewPoint (\r
-  IN UINT32             ProcessorIndex\r
+  IN UINT32  ProcessorIndex\r
   );\r
 \r
 /**\r
@@ -168,7 +168,7 @@ SetDebugViewPoint (
 **/\r
 VOID\r
 SetIpiSentByApFlag (\r
-  IN BOOLEAN            IpiSentByApFlag\r
+  IN BOOLEAN  IpiSentByApFlag\r
   );\r
 \r
 /**\r
@@ -209,8 +209,7 @@ IsAllCpuRunning (
 **/\r
 BOOLEAN\r
 IsFirstBreakProcessor (\r
-  IN UINT32              ProcessorIndex\r
+  IN UINT32  ProcessorIndex\r
   );\r
 \r
 #endif\r
-\r
index eab8e153a16a2d2cdf46bde42b4a7ca0363a2e7f..833aa76a7d13a5e9364ff7a08922f0706b6884be 100644 (file)
 **/\r
 UINT32\r
 InitializeDebugTimer (\r
-  OUT UINT32     *TimerFrequency,\r
-  IN  BOOLEAN    DumpFlag\r
+  OUT UINT32   *TimerFrequency,\r
+  IN  BOOLEAN  DumpFlag\r
   )\r
 {\r
-  UINTN       ApicTimerDivisor;\r
-  UINT32      InitialCount;\r
-  UINT32      ApicTimerFrequency;\r
+  UINTN   ApicTimerDivisor;\r
+  UINT32  InitialCount;\r
+  UINT32  ApicTimerFrequency;\r
 \r
   InitializeLocalApicSoftwareEnable (TRUE);\r
   GetApicTimerState (&ApicTimerDivisor, NULL, NULL);\r
-  ApicTimerFrequency = PcdGet32(PcdFSBClock) / (UINT32)ApicTimerDivisor;\r
+  ApicTimerFrequency = PcdGet32 (PcdFSBClock) / (UINT32)ApicTimerDivisor;\r
   //\r
   // Cpu Local Apic timer interrupt frequency, it is set to 0.1s\r
   //\r
   InitialCount = (UINT32)DivU64x32 (\r
-                   MultU64x64 (\r
-                     ApicTimerFrequency,\r
-                     DEBUG_TIMER_INTERVAL\r
-                     ),\r
-                   1000000u\r
-                   );\r
+                           MultU64x64 (\r
+                             ApicTimerFrequency,\r
+                             DEBUG_TIMER_INTERVAL\r
+                             ),\r
+                           1000000u\r
+                           );\r
 \r
   InitializeApicTimer (ApicTimerDivisor, InitialCount, TRUE, DEBUG_TIMER_VECTOR);\r
   //\r
@@ -48,14 +48,16 @@ InitializeDebugTimer (
   DisableApicTimerInterrupt ();\r
 \r
   if (DumpFlag) {\r
-    DEBUG ((DEBUG_INFO, "Debug Timer: FSB Clock    = %d\n", PcdGet32(PcdFSBClock)));\r
+    DEBUG ((DEBUG_INFO, "Debug Timer: FSB Clock    = %d\n", PcdGet32 (PcdFSBClock)));\r
     DEBUG ((DEBUG_INFO, "Debug Timer: Divisor      = %d\n", ApicTimerDivisor));\r
     DEBUG ((DEBUG_INFO, "Debug Timer: Frequency    = %d\n", ApicTimerFrequency));\r
     DEBUG ((DEBUG_INFO, "Debug Timer: InitialCount = %d\n", InitialCount));\r
   }\r
+\r
   if (TimerFrequency != NULL) {\r
     *TimerFrequency = ApicTimerFrequency;\r
   }\r
+\r
   return InitialCount;\r
 }\r
 \r
@@ -75,10 +77,10 @@ InitializeDebugTimer (
 BOOLEAN\r
 EFIAPI\r
 SaveAndSetDebugTimerInterrupt (\r
-  IN BOOLEAN                EnableStatus\r
+  IN BOOLEAN  EnableStatus\r
   )\r
 {\r
-  BOOLEAN     OldDebugTimerInterruptState;\r
+  BOOLEAN  OldDebugTimerInterruptState;\r
 \r
   OldDebugTimerInterruptState = GetApicTimerInterruptState ();\r
 \r
@@ -88,6 +90,7 @@ SaveAndSetDebugTimerInterrupt (
     } else {\r
       DisableApicTimerInterrupt ();\r
     }\r
+\r
     //\r
     // Validate the Debug Timer interrupt state\r
     // This will make additional delay after Local Apic Timer interrupt state is changed.\r
@@ -114,9 +117,9 @@ SaveAndSetDebugTimerInterrupt (
 **/\r
 BOOLEAN\r
 IsDebugTimerTimeout (\r
-  IN UINT32                     TimerCycle,\r
-  IN UINT32                     Timer,\r
-  IN UINT32                     TimeoutTicker\r
+  IN UINT32  TimerCycle,\r
+  IN UINT32  Timer,\r
+  IN UINT32  TimeoutTicker\r
   )\r
 {\r
   UINT64  CurrentTimer;\r
@@ -138,5 +141,5 @@ IsDebugTimerTimeout (
     Delta = TimerCycle - (CurrentTimer - Timer) + 1;\r
   }\r
 \r
-  return (BOOLEAN) (Delta >= TimeoutTicker);\r
+  return (BOOLEAN)(Delta >= TimeoutTicker);\r
 }\r
index cc79e1ba8846f6a07f2a739754f7a2a51c80dfa6..be9566643fecd5b4468367782711e7817fe20469 100644 (file)
@@ -19,8 +19,8 @@
 **/\r
 UINT32\r
 InitializeDebugTimer (\r
-  OUT UINT32     *TimerFrequency,\r
-  IN  BOOLEAN    DumpFlag\r
+  OUT UINT32   *TimerFrequency,\r
+  IN  BOOLEAN  DumpFlag\r
   );\r
 \r
 /**\r
@@ -36,10 +36,9 @@ InitializeDebugTimer (
 **/\r
 BOOLEAN\r
 IsDebugTimerTimeout (\r
-  IN UINT32                     TimerCycle,\r
-  IN UINT32                     Timer,\r
-  IN UINT32                     TimeoutTicker\r
+  IN UINT32  TimerCycle,\r
+  IN UINT32  Timer,\r
+  IN UINT32  TimeoutTicker\r
   );\r
 \r
 #endif\r
-\r
index 55da3fe55ee6b9385d43462c7c47a1fc82b49b09..99b9a7fa98878a268f012dda43f25adc52bb4b4b 100644 (file)
@@ -17,12 +17,12 @@ InitializeDebugIdt (
   VOID\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  UINTN                      InterruptHandler;\r
-  IA32_DESCRIPTOR            IdtDescriptor;\r
-  UINTN                      Index;\r
-  UINT16                     CodeSegment;\r
-  UINT32                     RegEdx;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  UINTN                     InterruptHandler;\r
+  IA32_DESCRIPTOR           IdtDescriptor;\r
+  UINTN                     Index;\r
+  UINT16                    CodeSegment;\r
+  UINT32                    RegEdx;\r
 \r
   AsmReadIdtr (&IdtDescriptor);\r
 \r
@@ -31,23 +31,24 @@ InitializeDebugIdt (
   //\r
   CodeSegment = AsmReadCs ();\r
 \r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor.Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor.Base;\r
 \r
-  for (Index = 0; Index < 20; Index ++) {\r
+  for (Index = 0; Index < 20; Index++) {\r
     if (((PcdGet32 (PcdExceptionsIgnoredByDebugger) & ~(BIT1 | BIT3)) & (1 << Index)) != 0) {\r
       //\r
       // If the exception is masked to be reserved except for INT1 and INT3, skip it\r
       //\r
       continue;\r
     }\r
-    InterruptHandler = (UINTN)&Exception0Handle + Index * ExceptionStubHeaderSize;\r
+\r
+    InterruptHandler                = (UINTN)&Exception0Handle + Index * ExceptionStubHeaderSize;\r
     IdtEntry[Index].Bits.OffsetLow  = (UINT16)(UINTN)InterruptHandler;\r
     IdtEntry[Index].Bits.OffsetHigh = (UINT16)((UINTN)InterruptHandler >> 16);\r
     IdtEntry[Index].Bits.Selector   = CodeSegment;\r
     IdtEntry[Index].Bits.GateType   = IA32_IDT_GATE_TYPE_INTERRUPT_32;\r
   }\r
 \r
-  InterruptHandler = (UINTN) &TimerInterruptHandle;\r
+  InterruptHandler                             = (UINTN)&TimerInterruptHandle;\r
   IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetLow  = (UINT16)(UINTN)InterruptHandler;\r
   IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetHigh = (UINT16)((UINTN)InterruptHandler >> 16);\r
   IdtEntry[DEBUG_TIMER_VECTOR].Bits.Selector   = CodeSegment;\r
@@ -73,16 +74,16 @@ InitializeDebugIdt (
 **/\r
 VOID *\r
 GetExceptionHandlerInIdtEntry (\r
-  IN UINTN             ExceptionNum\r
+  IN UINTN  ExceptionNum\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  IA32_DESCRIPTOR            IdtDescriptor;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  IA32_DESCRIPTOR           IdtDescriptor;\r
 \r
   AsmReadIdtr (&IdtDescriptor);\r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor.Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor.Base;\r
 \r
-  return (VOID *) (((UINTN)IdtEntry[ExceptionNum].Bits.OffsetLow) |\r
+  return (VOID *)(((UINTN)IdtEntry[ExceptionNum].Bits.OffsetLow) |\r
                   (((UINTN)IdtEntry[ExceptionNum].Bits.OffsetHigh) << 16));\r
 }\r
 \r
@@ -95,16 +96,16 @@ GetExceptionHandlerInIdtEntry (
 **/\r
 VOID\r
 SetExceptionHandlerInIdtEntry (\r
-  IN UINTN             ExceptionNum,\r
-  IN VOID              *ExceptionHandler\r
+  IN UINTN  ExceptionNum,\r
+  IN VOID   *ExceptionHandler\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  IA32_DESCRIPTOR            IdtDescriptor;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  IA32_DESCRIPTOR           IdtDescriptor;\r
 \r
   AsmReadIdtr (&IdtDescriptor);\r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor.Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor.Base;\r
 \r
-  IdtEntry[ExceptionNum].Bits.OffsetLow   = (UINT16)(UINTN)ExceptionHandler;\r
-  IdtEntry[ExceptionNum].Bits.OffsetHigh  = (UINT16)((UINTN)ExceptionHandler >> 16);\r
+  IdtEntry[ExceptionNum].Bits.OffsetLow  = (UINT16)(UINTN)ExceptionHandler;\r
+  IdtEntry[ExceptionNum].Bits.OffsetHigh = (UINT16)((UINTN)ExceptionHandler >> 16);\r
 }\r
index 3acb0352bf76d05b4f5465bb2bac58d29f35b8e3..5205b23046d0010b21149b18780804f117d7db8c 100644 (file)
 #include "ProcessorContext.h"\r
 #include "TransferProtocol.h"\r
 \r
-#define DEBUG_SW_BREAKPOINT_SYMBOL       0xcc\r
-#define DEBUG_ARCH_SYMBOL                DEBUG_DATA_BREAK_CPU_ARCH_IA32\r
+#define DEBUG_SW_BREAKPOINT_SYMBOL  0xcc\r
+#define DEBUG_ARCH_SYMBOL           DEBUG_DATA_BREAK_CPU_ARCH_IA32\r
 \r
-typedef DEBUG_DATA_IA32_FX_SAVE_STATE    DEBUG_DATA_FX_SAVE_STATE;\r
-typedef DEBUG_DATA_IA32_SYSTEM_CONTEXT   DEBUG_CPU_CONTEXT;\r
+typedef DEBUG_DATA_IA32_FX_SAVE_STATE   DEBUG_DATA_FX_SAVE_STATE;\r
+typedef DEBUG_DATA_IA32_SYSTEM_CONTEXT  DEBUG_CPU_CONTEXT;\r
 \r
 #endif\r
index 9147fabe6c3e021129ba5b4a3485b341e7964d6d..05cb45c78e5c43a7c972796cf0b455cd12995b1b 100644 (file)
@@ -9,22 +9,22 @@
 #ifndef _DEBUG_EXCEPTION_H_\r
 #define _DEBUG_EXCEPTION_H_\r
 \r
-#define DEBUG_EXCEPT_DIVIDE_ERROR             0\r
-#define DEBUG_EXCEPT_DEBUG                    1\r
-#define DEBUG_EXCEPT_NMI                      2\r
-#define DEBUG_EXCEPT_BREAKPOINT               3\r
-#define DEBUG_EXCEPT_OVERFLOW                 4\r
-#define DEBUG_EXCEPT_BOUND                    5\r
-#define DEBUG_EXCEPT_INVALID_OPCODE           6\r
-#define DEBUG_EXCEPT_DOUBLE_FAULT             8\r
-#define DEBUG_EXCEPT_INVALID_TSS             10\r
-#define DEBUG_EXCEPT_SEG_NOT_PRESENT         11\r
-#define DEBUG_EXCEPT_STACK_FAULT             12\r
-#define DEBUG_EXCEPT_GP_FAULT                13\r
-#define DEBUG_EXCEPT_PAGE_FAULT              14\r
-#define DEBUG_EXCEPT_FP_ERROR                16\r
-#define DEBUG_EXCEPT_ALIGNMENT_CHECK         17\r
-#define DEBUG_EXCEPT_MACHINE_CHECK           18\r
-#define DEBUG_EXCEPT_SIMD                    19\r
+#define DEBUG_EXCEPT_DIVIDE_ERROR     0\r
+#define DEBUG_EXCEPT_DEBUG            1\r
+#define DEBUG_EXCEPT_NMI              2\r
+#define DEBUG_EXCEPT_BREAKPOINT       3\r
+#define DEBUG_EXCEPT_OVERFLOW         4\r
+#define DEBUG_EXCEPT_BOUND            5\r
+#define DEBUG_EXCEPT_INVALID_OPCODE   6\r
+#define DEBUG_EXCEPT_DOUBLE_FAULT     8\r
+#define DEBUG_EXCEPT_INVALID_TSS      10\r
+#define DEBUG_EXCEPT_SEG_NOT_PRESENT  11\r
+#define DEBUG_EXCEPT_STACK_FAULT      12\r
+#define DEBUG_EXCEPT_GP_FAULT         13\r
+#define DEBUG_EXCEPT_PAGE_FAULT       14\r
+#define DEBUG_EXCEPT_FP_ERROR         16\r
+#define DEBUG_EXCEPT_ALIGNMENT_CHECK  17\r
+#define DEBUG_EXCEPT_MACHINE_CHECK    18\r
+#define DEBUG_EXCEPT_SIMD             19\r
 \r
 #endif\r
index 6b6c71020cc6584759f92f8a6a56592566eb3ed1..bda113eccafbc2d9d1af90acb90d23fd7153cd01 100644 (file)
@@ -17,12 +17,12 @@ InitializeDebugIdt (
   VOID\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  UINTN                      InterruptHandler;\r
-  IA32_DESCRIPTOR            IdtDescriptor;\r
-  UINTN                      Index;\r
-  UINT16                     CodeSegment;\r
-  UINT32                     RegEdx;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  UINTN                     InterruptHandler;\r
+  IA32_DESCRIPTOR           IdtDescriptor;\r
+  UINTN                     Index;\r
+  UINT16                    CodeSegment;\r
+  UINT32                    RegEdx;\r
 \r
   AsmReadIdtr (&IdtDescriptor);\r
 \r
@@ -31,29 +31,30 @@ InitializeDebugIdt (
   //\r
   CodeSegment = AsmReadCs ();\r
 \r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor.Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor.Base;\r
 \r
-  for (Index = 0; Index < 20; Index ++) {\r
+  for (Index = 0; Index < 20; Index++) {\r
     if (((PcdGet32 (PcdExceptionsIgnoredByDebugger) & ~(BIT1 | BIT3)) & (1 << Index)) != 0) {\r
       //\r
       // If the exception is masked to be reserved except for INT1 and INT3, skip it\r
       //\r
       continue;\r
     }\r
-    InterruptHandler = (UINTN)&Exception0Handle + Index * ExceptionStubHeaderSize;\r
-    IdtEntry[Index].Bits.OffsetLow       = (UINT16)(UINTN)InterruptHandler;\r
-    IdtEntry[Index].Bits.OffsetHigh      = (UINT16)((UINTN)InterruptHandler >> 16);\r
-    IdtEntry[Index].Bits.OffsetUpper     = (UINT32)((UINTN)InterruptHandler >> 32);\r
-    IdtEntry[Index].Bits.Selector        = CodeSegment;\r
-    IdtEntry[Index].Bits.GateType        = IA32_IDT_GATE_TYPE_INTERRUPT_32;\r
+\r
+    InterruptHandler                 = (UINTN)&Exception0Handle + Index * ExceptionStubHeaderSize;\r
+    IdtEntry[Index].Bits.OffsetLow   = (UINT16)(UINTN)InterruptHandler;\r
+    IdtEntry[Index].Bits.OffsetHigh  = (UINT16)((UINTN)InterruptHandler >> 16);\r
+    IdtEntry[Index].Bits.OffsetUpper = (UINT32)((UINTN)InterruptHandler >> 32);\r
+    IdtEntry[Index].Bits.Selector    = CodeSegment;\r
+    IdtEntry[Index].Bits.GateType    = IA32_IDT_GATE_TYPE_INTERRUPT_32;\r
   }\r
 \r
-  InterruptHandler = (UINTN) &TimerInterruptHandle;\r
-  IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetLow       = (UINT16)(UINTN)InterruptHandler;\r
-  IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetHigh      = (UINT16)((UINTN)InterruptHandler >> 16);\r
-  IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetUpper     = (UINT32)((UINTN)InterruptHandler >> 32);\r
-  IdtEntry[DEBUG_TIMER_VECTOR].Bits.Selector        = CodeSegment;\r
-  IdtEntry[DEBUG_TIMER_VECTOR].Bits.GateType        = IA32_IDT_GATE_TYPE_INTERRUPT_32;\r
+  InterruptHandler                              = (UINTN)&TimerInterruptHandle;\r
+  IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetLow   = (UINT16)(UINTN)InterruptHandler;\r
+  IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetHigh  = (UINT16)((UINTN)InterruptHandler >> 16);\r
+  IdtEntry[DEBUG_TIMER_VECTOR].Bits.OffsetUpper = (UINT32)((UINTN)InterruptHandler >> 32);\r
+  IdtEntry[DEBUG_TIMER_VECTOR].Bits.Selector    = CodeSegment;\r
+  IdtEntry[DEBUG_TIMER_VECTOR].Bits.GateType    = IA32_IDT_GATE_TYPE_INTERRUPT_32;\r
 \r
   //\r
   // If the CPU supports Debug Extensions(CPUID:01 EDX:BIT2), then\r
@@ -75,16 +76,16 @@ InitializeDebugIdt (
 **/\r
 VOID *\r
 GetExceptionHandlerInIdtEntry (\r
-  IN UINTN             ExceptionNum\r
+  IN UINTN  ExceptionNum\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  IA32_DESCRIPTOR            IdtDescriptor;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  IA32_DESCRIPTOR           IdtDescriptor;\r
 \r
   AsmReadIdtr (&IdtDescriptor);\r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor.Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor.Base;\r
 \r
-  return (VOID *) (IdtEntry[ExceptionNum].Bits.OffsetLow |\r
+  return (VOID *)(IdtEntry[ExceptionNum].Bits.OffsetLow |\r
                   (((UINTN)IdtEntry[ExceptionNum].Bits.OffsetHigh) << 16) |\r
                   (((UINTN)IdtEntry[ExceptionNum].Bits.OffsetUpper) << 32));\r
 }\r
@@ -98,15 +99,15 @@ GetExceptionHandlerInIdtEntry (
 **/\r
 VOID\r
 SetExceptionHandlerInIdtEntry (\r
-  IN UINTN             ExceptionNum,\r
-  IN VOID              *ExceptionHandler\r
+  IN UINTN  ExceptionNum,\r
+  IN VOID   *ExceptionHandler\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  IA32_DESCRIPTOR            IdtDescriptor;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  IA32_DESCRIPTOR           IdtDescriptor;\r
 \r
   AsmReadIdtr (&IdtDescriptor);\r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor.Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor.Base;\r
 \r
   IdtEntry[ExceptionNum].Bits.OffsetLow   = (UINT16)(UINTN)ExceptionHandler;\r
   IdtEntry[ExceptionNum].Bits.OffsetHigh  = (UINT16)((UINTN)ExceptionHandler >> 16);\r
index 1e45941a9927afbedf66833bebce58f1dfaee2d3..b795202959c7d735b36ca0a974b65223718bedfc 100644 (file)
 #include "ProcessorContext.h"\r
 #include "TransferProtocol.h"\r
 \r
-#define DEBUG_SW_BREAKPOINT_SYMBOL       0xcc\r
-#define DEBUG_ARCH_SYMBOL                DEBUG_DATA_BREAK_CPU_ARCH_X64\r
+#define DEBUG_SW_BREAKPOINT_SYMBOL  0xcc\r
+#define DEBUG_ARCH_SYMBOL           DEBUG_DATA_BREAK_CPU_ARCH_X64\r
 \r
-typedef DEBUG_DATA_X64_FX_SAVE_STATE     DEBUG_DATA_FX_SAVE_STATE;\r
-typedef DEBUG_DATA_X64_SYSTEM_CONTEXT    DEBUG_CPU_CONTEXT;\r
+typedef DEBUG_DATA_X64_FX_SAVE_STATE   DEBUG_DATA_FX_SAVE_STATE;\r
+typedef DEBUG_DATA_X64_SYSTEM_CONTEXT  DEBUG_CPU_CONTEXT;\r
 \r
 #endif\r
index 9147fabe6c3e021129ba5b4a3485b341e7964d6d..05cb45c78e5c43a7c972796cf0b455cd12995b1b 100644 (file)
@@ -9,22 +9,22 @@
 #ifndef _DEBUG_EXCEPTION_H_\r
 #define _DEBUG_EXCEPTION_H_\r
 \r
-#define DEBUG_EXCEPT_DIVIDE_ERROR             0\r
-#define DEBUG_EXCEPT_DEBUG                    1\r
-#define DEBUG_EXCEPT_NMI                      2\r
-#define DEBUG_EXCEPT_BREAKPOINT               3\r
-#define DEBUG_EXCEPT_OVERFLOW                 4\r
-#define DEBUG_EXCEPT_BOUND                    5\r
-#define DEBUG_EXCEPT_INVALID_OPCODE           6\r
-#define DEBUG_EXCEPT_DOUBLE_FAULT             8\r
-#define DEBUG_EXCEPT_INVALID_TSS             10\r
-#define DEBUG_EXCEPT_SEG_NOT_PRESENT         11\r
-#define DEBUG_EXCEPT_STACK_FAULT             12\r
-#define DEBUG_EXCEPT_GP_FAULT                13\r
-#define DEBUG_EXCEPT_PAGE_FAULT              14\r
-#define DEBUG_EXCEPT_FP_ERROR                16\r
-#define DEBUG_EXCEPT_ALIGNMENT_CHECK         17\r
-#define DEBUG_EXCEPT_MACHINE_CHECK           18\r
-#define DEBUG_EXCEPT_SIMD                    19\r
+#define DEBUG_EXCEPT_DIVIDE_ERROR     0\r
+#define DEBUG_EXCEPT_DEBUG            1\r
+#define DEBUG_EXCEPT_NMI              2\r
+#define DEBUG_EXCEPT_BREAKPOINT       3\r
+#define DEBUG_EXCEPT_OVERFLOW         4\r
+#define DEBUG_EXCEPT_BOUND            5\r
+#define DEBUG_EXCEPT_INVALID_OPCODE   6\r
+#define DEBUG_EXCEPT_DOUBLE_FAULT     8\r
+#define DEBUG_EXCEPT_INVALID_TSS      10\r
+#define DEBUG_EXCEPT_SEG_NOT_PRESENT  11\r
+#define DEBUG_EXCEPT_STACK_FAULT      12\r
+#define DEBUG_EXCEPT_GP_FAULT         13\r
+#define DEBUG_EXCEPT_PAGE_FAULT       14\r
+#define DEBUG_EXCEPT_FP_ERROR         16\r
+#define DEBUG_EXCEPT_ALIGNMENT_CHECK  17\r
+#define DEBUG_EXCEPT_MACHINE_CHECK    18\r
+#define DEBUG_EXCEPT_SIMD             19\r
 \r
 #endif\r
index 84258aa0f9b306546d906a01876a3b1ae9d7bd6f..a41bba2c4ba93b6e218078df70571c601eb71921 100644 (file)
@@ -8,15 +8,15 @@
 \r
 #include "DxeDebugAgentLib.h"\r
 \r
-DEBUG_AGENT_MAILBOX          mMailbox;\r
-DEBUG_AGENT_MAILBOX          *mMailboxPointer = NULL;\r
-IA32_IDT_GATE_DESCRIPTOR     mIdtEntryTable[33];\r
-BOOLEAN                      mDxeCoreFlag                = FALSE;\r
-BOOLEAN                      mMultiProcessorDebugSupport = FALSE;\r
-VOID                         *mSavedIdtTable             = NULL;\r
-UINTN                        mSaveIdtTableSize           = 0;\r
-BOOLEAN                      mDebugAgentInitialized      = FALSE;\r
-BOOLEAN                      mSkipBreakpoint             = FALSE;\r
+DEBUG_AGENT_MAILBOX       mMailbox;\r
+DEBUG_AGENT_MAILBOX       *mMailboxPointer = NULL;\r
+IA32_IDT_GATE_DESCRIPTOR  mIdtEntryTable[33];\r
+BOOLEAN                   mDxeCoreFlag                = FALSE;\r
+BOOLEAN                   mMultiProcessorDebugSupport = FALSE;\r
+VOID                      *mSavedIdtTable             = NULL;\r
+UINTN                     mSaveIdtTableSize           = 0;\r
+BOOLEAN                   mDebugAgentInitialized      = FALSE;\r
+BOOLEAN                   mSkipBreakpoint             = FALSE;\r
 \r
 /**\r
   Check if debug agent support multi-processor.\r
@@ -46,32 +46,33 @@ InternalConstructorWorker (
   VOID\r
   )\r
 {\r
-  EFI_STATUS                  Status;\r
-  EFI_PHYSICAL_ADDRESS        Address;\r
-  BOOLEAN                     DebugTimerInterruptState;\r
-  DEBUG_AGENT_MAILBOX         *Mailbox;\r
-  DEBUG_AGENT_MAILBOX         *NewMailbox;\r
-  EFI_HOB_GUID_TYPE           *GuidHob;\r
-  EFI_VECTOR_HANDOFF_INFO     *VectorHandoffInfo;\r
+  EFI_STATUS               Status;\r
+  EFI_PHYSICAL_ADDRESS     Address;\r
+  BOOLEAN                  DebugTimerInterruptState;\r
+  DEBUG_AGENT_MAILBOX      *Mailbox;\r
+  DEBUG_AGENT_MAILBOX      *NewMailbox;\r
+  EFI_HOB_GUID_TYPE        *GuidHob;\r
+  EFI_VECTOR_HANDOFF_INFO  *VectorHandoffInfo;\r
 \r
   //\r
   // Check persisted vector handoff info\r
   //\r
-  Status = EFI_SUCCESS;\r
+  Status  = EFI_SUCCESS;\r
   GuidHob = GetFirstGuidHob (&gEfiVectorHandoffInfoPpiGuid);\r
-  if (GuidHob != NULL && !mDxeCoreFlag) {\r
+  if ((GuidHob != NULL) && !mDxeCoreFlag) {\r
     //\r
     // Check if configuration table is installed or not if GUIDed HOB existed,\r
     // only when Debug Agent is not linked by DXE Core\r
     //\r
-    Status = EfiGetSystemConfigurationTable (&gEfiVectorHandoffTableGuid, (VOID **) &VectorHandoffInfo);\r
+    Status = EfiGetSystemConfigurationTable (&gEfiVectorHandoffTableGuid, (VOID **)&VectorHandoffInfo);\r
   }\r
-  if (GuidHob == NULL || Status != EFI_SUCCESS) {\r
+\r
+  if ((GuidHob == NULL) || (Status != EFI_SUCCESS)) {\r
     //\r
     // Install configuration table for persisted vector handoff info if GUIDed HOB cannot be found or\r
     // configuration table does not exist\r
     //\r
-    Status = gBS->InstallConfigurationTable (&gEfiVectorHandoffTableGuid, (VOID *) &mVectorHandoffInfoDebugAgent[0]);\r
+    Status = gBS->InstallConfigurationTable (&gEfiVectorHandoffTableGuid, (VOID *)&mVectorHandoffInfoDebugAgent[0]);\r
     if (EFI_ERROR (Status)) {\r
       DEBUG ((DEBUG_ERROR, "DebugAgent: Cannot install configuration table for persisted vector handoff info!\n"));\r
       CpuDeadLoop ();\r
@@ -84,12 +85,12 @@ InternalConstructorWorker (
   InstallSerialIo ();\r
 \r
   Address = 0;\r
-  Status = gBS->AllocatePages (\r
-                  AllocateAnyPages,\r
-                  EfiACPIMemoryNVS,\r
-                  EFI_SIZE_TO_PAGES (sizeof(DEBUG_AGENT_MAILBOX) + PcdGet16(PcdDebugPortHandleBufferSize)),\r
-                  &Address\r
-                  );\r
+  Status  = gBS->AllocatePages (\r
+                   AllocateAnyPages,\r
+                   EfiACPIMemoryNVS,\r
+                   EFI_SIZE_TO_PAGES (sizeof (DEBUG_AGENT_MAILBOX) + PcdGet16 (PcdDebugPortHandleBufferSize)),\r
+                   &Address\r
+                   );\r
   if (EFI_ERROR (Status)) {\r
     DEBUG ((DEBUG_ERROR, "DebugAgent: Cannot install configuration table for mailbox!\n"));\r
     CpuDeadLoop ();\r
@@ -97,14 +98,14 @@ InternalConstructorWorker (
 \r
   DebugTimerInterruptState = SaveAndSetDebugTimerInterrupt (FALSE);\r
 \r
-  NewMailbox = (DEBUG_AGENT_MAILBOX *) (UINTN) Address;\r
+  NewMailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)Address;\r
   //\r
   // Copy Mailbox and Debug Port Handle buffer to new location in ACPI NVS memory, because original Mailbox\r
   // and Debug Port Handle buffer may be free at runtime, SMM debug agent needs to access them\r
   //\r
   Mailbox = GetMailboxPointer ();\r
   CopyMem (NewMailbox, Mailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
-  CopyMem (NewMailbox + 1, (VOID *)(UINTN)Mailbox->DebugPortHandle, PcdGet16(PcdDebugPortHandleBufferSize));\r
+  CopyMem (NewMailbox + 1, (VOID *)(UINTN)Mailbox->DebugPortHandle, PcdGet16 (PcdDebugPortHandleBufferSize));\r
   //\r
   // Update Debug Port Handle in new Mailbox\r
   //\r
@@ -113,7 +114,7 @@ InternalConstructorWorker (
 \r
   DebugTimerInterruptState = SaveAndSetDebugTimerInterrupt (DebugTimerInterruptState);\r
 \r
-  Status = gBS->InstallConfigurationTable (&gEfiDebugAgentGuid, (VOID *) mMailboxPointer);\r
+  Status = gBS->InstallConfigurationTable (&gEfiDebugAgentGuid, (VOID *)mMailboxPointer);\r
   if (EFI_ERROR (Status)) {\r
     DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to install configuration for mailbox!\n"));\r
     CpuDeadLoop ();\r
@@ -157,11 +158,11 @@ GetMailboxFromConfigurationTable (
   VOID\r
   )\r
 {\r
-  EFI_STATUS               Status;\r
-  DEBUG_AGENT_MAILBOX      *Mailbox;\r
+  EFI_STATUS           Status;\r
+  DEBUG_AGENT_MAILBOX  *Mailbox;\r
 \r
-  Status = EfiGetSystemConfigurationTable (&gEfiDebugAgentGuid, (VOID **) &Mailbox);\r
-  if (Status == EFI_SUCCESS && Mailbox != NULL) {\r
+  Status = EfiGetSystemConfigurationTable (&gEfiDebugAgentGuid, (VOID **)&Mailbox);\r
+  if ((Status == EFI_SUCCESS) && (Mailbox != NULL)) {\r
     VerifyMailboxChecksum (Mailbox);\r
     return Mailbox;\r
   } else {\r
@@ -179,19 +180,20 @@ GetMailboxFromConfigurationTable (
 **/\r
 DEBUG_AGENT_MAILBOX *\r
 GetMailboxFromHob (\r
-  IN VOID                  *HobStart\r
+  IN VOID  *HobStart\r
   )\r
 {\r
-  EFI_HOB_GUID_TYPE        *GuidHob;\r
-  UINT64                   *MailboxLocation;\r
-  DEBUG_AGENT_MAILBOX      *Mailbox;\r
+  EFI_HOB_GUID_TYPE    *GuidHob;\r
+  UINT64               *MailboxLocation;\r
+  DEBUG_AGENT_MAILBOX  *Mailbox;\r
 \r
   GuidHob = GetNextGuidHob (&gEfiDebugAgentGuid, HobStart);\r
   if (GuidHob == NULL) {\r
     return NULL;\r
   }\r
-  MailboxLocation = (UINT64 *) (GET_GUID_HOB_DATA(GuidHob));\r
-  Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
+\r
+  MailboxLocation = (UINT64 *)(GET_GUID_HOB_DATA (GuidHob));\r
+  Mailbox         = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
   VerifyMailboxChecksum (Mailbox);\r
 \r
   return Mailbox;\r
@@ -225,7 +227,7 @@ GetDebugPortHandle (
   VOID\r
   )\r
 {\r
-  return (DEBUG_PORT_HANDLE) (UINTN)(GetMailboxPointer ()->DebugPortHandle);\r
+  return (DEBUG_PORT_HANDLE)(UINTN)(GetMailboxPointer ()->DebugPortHandle);\r
 }\r
 \r
 /**\r
@@ -240,13 +242,13 @@ GetDebugPortHandle (
 **/\r
 VOID\r
 SetupDebugAgentEnvironment (\r
-  IN DEBUG_AGENT_MAILBOX       *Mailbox\r
+  IN DEBUG_AGENT_MAILBOX  *Mailbox\r
   )\r
 {\r
-  IA32_DESCRIPTOR              Idtr;\r
-  UINT16                       IdtEntryCount;\r
-  UINT64                       DebugPortHandle;\r
-  UINT32                       DebugTimerFrequency;\r
+  IA32_DESCRIPTOR  Idtr;\r
+  UINT16           IdtEntryCount;\r
+  UINT64           DebugPortHandle;\r
+  UINT32           DebugTimerFrequency;\r
 \r
   if (mMultiProcessorDebugSupport) {\r
     InitializeSpinLock (&mDebugMpContext.MpContextSpinLock);\r
@@ -255,26 +257,26 @@ SetupDebugAgentEnvironment (
     //\r
     // Clear Break CPU index value\r
     //\r
-    mDebugMpContext.BreakAtCpuIndex = (UINT32) -1;\r
+    mDebugMpContext.BreakAtCpuIndex = (UINT32)-1;\r
   }\r
 \r
   //\r
   // Get original IDT address and size.\r
   //\r
-  AsmReadIdtr ((IA32_DESCRIPTOR *) &Idtr);\r
-  IdtEntryCount = (UINT16) ((Idtr.Limit + 1) / sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
+  AsmReadIdtr ((IA32_DESCRIPTOR *)&Idtr);\r
+  IdtEntryCount = (UINT16)((Idtr.Limit + 1) / sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
   if (IdtEntryCount < 33) {\r
     ZeroMem (&mIdtEntryTable, sizeof (IA32_IDT_GATE_DESCRIPTOR) * 33);\r
     //\r
     // Copy original IDT table into new one\r
     //\r
-    CopyMem (&mIdtEntryTable, (VOID *) Idtr.Base, Idtr.Limit + 1);\r
+    CopyMem (&mIdtEntryTable, (VOID *)Idtr.Base, Idtr.Limit + 1);\r
     //\r
     // Load new IDT table\r
     //\r
-    Idtr.Limit = (UINT16) (sizeof (IA32_IDT_GATE_DESCRIPTOR) * 33 - 1);\r
-    Idtr.Base  = (UINTN) &mIdtEntryTable;\r
-    AsmWriteIdtr ((IA32_DESCRIPTOR *) &Idtr);\r
+    Idtr.Limit = (UINT16)(sizeof (IA32_IDT_GATE_DESCRIPTOR) * 33 - 1);\r
+    Idtr.Base  = (UINTN)&mIdtEntryTable;\r
+    AsmWriteIdtr ((IA32_DESCRIPTOR *)&Idtr);\r
   }\r
 \r
   //\r
@@ -294,6 +296,7 @@ SetupDebugAgentEnvironment (
     } else {\r
       ZeroMem (&mMailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
     }\r
+\r
     mMailboxPointer = &mMailbox;\r
   }\r
 \r
@@ -305,7 +308,7 @@ SetupDebugAgentEnvironment (
   //\r
   // Initialize debug communication port\r
   //\r
-  DebugPortHandle = (UINT64) (UINTN)DebugPortInitialize ((VOID *)(UINTN)mMailboxPointer->DebugPortHandle, NULL);\r
+  DebugPortHandle = (UINT64)(UINTN)DebugPortInitialize ((VOID *)(UINTN)mMailboxPointer->DebugPortHandle, NULL);\r
   UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, DebugPortHandle);\r
 \r
   if (Mailbox == NULL) {\r
@@ -326,7 +329,6 @@ SetupDebugAgentEnvironment (
   }\r
 }\r
 \r
-\r
 /**\r
   Initialize debug agent.\r
 \r
@@ -352,15 +354,15 @@ InitializeDebugAgent (
   IN DEBUG_AGENT_CONTINUE  Function  OPTIONAL\r
   )\r
 {\r
-  UINT64                       *MailboxLocation;\r
-  DEBUG_AGENT_MAILBOX          *Mailbox;\r
-  BOOLEAN                      InterruptStatus;\r
-  VOID                         *HobList;\r
-  IA32_DESCRIPTOR              IdtDescriptor;\r
-  IA32_DESCRIPTOR              *Ia32Idtr;\r
-  IA32_IDT_ENTRY               *Ia32IdtEntry;\r
-  BOOLEAN                      PeriodicMode;\r
-  UINTN                        TimerCycle;\r
+  UINT64               *MailboxLocation;\r
+  DEBUG_AGENT_MAILBOX  *Mailbox;\r
+  BOOLEAN              InterruptStatus;\r
+  VOID                 *HobList;\r
+  IA32_DESCRIPTOR      IdtDescriptor;\r
+  IA32_DESCRIPTOR      *Ia32Idtr;\r
+  IA32_IDT_ENTRY       *Ia32IdtEntry;\r
+  BOOLEAN              PeriodicMode;\r
+  UINTN                TimerCycle;\r
 \r
   if (InitFlag == DEBUG_AGENT_INIT_DXE_AP) {\r
     //\r
@@ -369,14 +371,15 @@ InitializeDebugAgent (
     InitializeLocalApicSoftwareEnable (TRUE);\r
     GetApicTimerState (NULL, &PeriodicMode, NULL);\r
     TimerCycle = GetApicTimerInitCount ();\r
-    if (!PeriodicMode || TimerCycle == 0) {\r
+    if (!PeriodicMode || (TimerCycle == 0)) {\r
       InitializeDebugTimer (NULL, FALSE);\r
     }\r
+\r
     //\r
     // Invoked by AP, enable interrupt to let AP could receive IPI from other processors\r
     //\r
     EnableInterrupts ();\r
-    return ;\r
+    return;\r
   }\r
 \r
   //\r
@@ -396,149 +399,151 @@ InitializeDebugAgent (
   MailboxLocation = NULL;\r
 \r
   switch (InitFlag) {\r
+    case DEBUG_AGENT_INIT_DXE_LOAD:\r
+      //\r
+      // Check if Debug Agent has been initialized before\r
+      //\r
+      if (IsDebugAgentInitialzed ()) {\r
+        DEBUG ((DEBUG_INFO, "Debug Agent: The former agent will be overwritten by the new one!\n"));\r
+      }\r
 \r
-  case DEBUG_AGENT_INIT_DXE_LOAD:\r
-    //\r
-    // Check if Debug Agent has been initialized before\r
-    //\r
-    if (IsDebugAgentInitialzed ()) {\r
-      DEBUG ((DEBUG_INFO, "Debug Agent: The former agent will be overwritten by the new one!\n"));\r
-    }\r
+      mMultiProcessorDebugSupport = TRUE;\r
+      //\r
+      // Save original IDT table\r
+      //\r
+      AsmReadIdtr (&IdtDescriptor);\r
+      mSaveIdtTableSize = IdtDescriptor.Limit + 1;\r
+      mSavedIdtTable    = AllocateCopyPool (mSaveIdtTableSize, (VOID *)IdtDescriptor.Base);\r
+      //\r
+      // Check if Debug Agent initialized in DXE phase\r
+      //\r
+      Mailbox = GetMailboxFromConfigurationTable ();\r
+      if (Mailbox == NULL) {\r
+        //\r
+        // Try to get mailbox from GUIDed HOB build in PEI\r
+        //\r
+        HobList = GetHobList ();\r
+        Mailbox = GetMailboxFromHob (HobList);\r
+      }\r
 \r
-    mMultiProcessorDebugSupport = TRUE;\r
-    //\r
-    // Save original IDT table\r
-    //\r
-    AsmReadIdtr (&IdtDescriptor);\r
-    mSaveIdtTableSize = IdtDescriptor.Limit + 1;\r
-    mSavedIdtTable    = AllocateCopyPool (mSaveIdtTableSize, (VOID *) IdtDescriptor.Base);\r
-    //\r
-    // Check if Debug Agent initialized in DXE phase\r
-    //\r
-    Mailbox = GetMailboxFromConfigurationTable ();\r
-    if (Mailbox == NULL) {\r
+      //\r
+      // Set up Debug Agent Environment and try to connect HOST if required\r
+      //\r
+      SetupDebugAgentEnvironment (Mailbox);\r
+      //\r
+      // For DEBUG_AGENT_INIT_S3, needn't to install configuration table and EFI Serial IO protocol\r
+      // For DEBUG_AGENT_INIT_DXE_CORE, InternalConstructorWorker() will invoked in Constructor()\r
+      //\r
+      InternalConstructorWorker ();\r
+      //\r
+      // Enable Debug Timer interrupt\r
+      //\r
+      SaveAndSetDebugTimerInterrupt (TRUE);\r
+      //\r
+      // Enable interrupt to receive Debug Timer interrupt\r
+      //\r
+      EnableInterrupts ();\r
+\r
+      mDebugAgentInitialized = TRUE;\r
+      FindAndReportModuleImageInfo (SIZE_4KB);\r
+\r
+      *(EFI_STATUS *)Context = EFI_SUCCESS;\r
+\r
+      break;\r
+\r
+    case DEBUG_AGENT_INIT_DXE_UNLOAD:\r
+      if (mDebugAgentInitialized) {\r
+        if (IsHostAttached ()) {\r
+          *(EFI_STATUS *)Context = EFI_ACCESS_DENIED;\r
+          //\r
+          // Enable Debug Timer interrupt again\r
+          //\r
+          SaveAndSetDebugTimerInterrupt (TRUE);\r
+        } else {\r
+          //\r
+          // Restore original IDT table\r
+          //\r
+          AsmReadIdtr (&IdtDescriptor);\r
+          IdtDescriptor.Limit = (UINT16)(mSaveIdtTableSize - 1);\r
+          CopyMem ((VOID *)IdtDescriptor.Base, mSavedIdtTable, mSaveIdtTableSize);\r
+          AsmWriteIdtr (&IdtDescriptor);\r
+          FreePool (mSavedIdtTable);\r
+          mDebugAgentInitialized = FALSE;\r
+          *(EFI_STATUS *)Context = EFI_SUCCESS;\r
+        }\r
+      } else {\r
+        *(EFI_STATUS *)Context = EFI_NOT_STARTED;\r
+      }\r
+\r
+      //\r
+      // Restore interrupt state.\r
+      //\r
+      SetInterruptState (InterruptStatus);\r
+      break;\r
+\r
+    case DEBUG_AGENT_INIT_DXE_CORE:\r
+      mDxeCoreFlag                = TRUE;\r
+      mMultiProcessorDebugSupport = TRUE;\r
       //\r
       // Try to get mailbox from GUIDed HOB build in PEI\r
       //\r
-      HobList = GetHobList ();\r
+      HobList = Context;\r
       Mailbox = GetMailboxFromHob (HobList);\r
-    }\r
-    //\r
-    // Set up Debug Agent Environment and try to connect HOST if required\r
-    //\r
-    SetupDebugAgentEnvironment (Mailbox);\r
-    //\r
-    // For DEBUG_AGENT_INIT_S3, needn't to install configuration table and EFI Serial IO protocol\r
-    // For DEBUG_AGENT_INIT_DXE_CORE, InternalConstructorWorker() will invoked in Constructor()\r
-    //\r
-    InternalConstructorWorker ();\r
-    //\r
-    // Enable Debug Timer interrupt\r
-    //\r
-    SaveAndSetDebugTimerInterrupt (TRUE);\r
-    //\r
-    // Enable interrupt to receive Debug Timer interrupt\r
-    //\r
-    EnableInterrupts ();\r
+      //\r
+      // Set up Debug Agent Environment and try to connect HOST if required\r
+      //\r
+      SetupDebugAgentEnvironment (Mailbox);\r
+      //\r
+      // Enable Debug Timer interrupt\r
+      //\r
+      SaveAndSetDebugTimerInterrupt (TRUE);\r
+      //\r
+      // Enable interrupt to receive Debug Timer interrupt\r
+      //\r
+      EnableInterrupts ();\r
 \r
-    mDebugAgentInitialized = TRUE;\r
-    FindAndReportModuleImageInfo (SIZE_4KB);\r
+      break;\r
 \r
-    *(EFI_STATUS *)Context = EFI_SUCCESS;\r
+    case DEBUG_AGENT_INIT_S3:\r
 \r
-    break;\r
+      if (Context != NULL) {\r
+        Ia32Idtr        =  (IA32_DESCRIPTOR *)Context;\r
+        Ia32IdtEntry    = (IA32_IDT_ENTRY *)(Ia32Idtr->Base);\r
+        MailboxLocation = (UINT64 *)((UINTN)Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetLow +\r
+                                     ((UINTN)Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetHigh << 16));\r
+        Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
+        VerifyMailboxChecksum (Mailbox);\r
+      }\r
 \r
-  case DEBUG_AGENT_INIT_DXE_UNLOAD:\r
-    if (mDebugAgentInitialized) {\r
-      if (IsHostAttached ()) {\r
-        *(EFI_STATUS *)Context = EFI_ACCESS_DENIED;\r
-        //\r
-        // Enable Debug Timer interrupt again\r
-        //\r
-        SaveAndSetDebugTimerInterrupt (TRUE);\r
-      } else {\r
+      //\r
+      // Save Mailbox pointer in global variable\r
+      //\r
+      mMailboxPointer = Mailbox;\r
+      //\r
+      // Set up Debug Agent Environment and try to connect HOST if required\r
+      //\r
+      SetupDebugAgentEnvironment (Mailbox);\r
+      //\r
+      // Disable interrupt\r
+      //\r
+      DisableInterrupts ();\r
+      FindAndReportModuleImageInfo (SIZE_4KB);\r
+      if (GetDebugFlag (DEBUG_AGENT_FLAG_BREAK_BOOT_SCRIPT) == 1) {\r
         //\r
-        // Restore original IDT table\r
+        // If Boot Script entry break is set, code will be break at here.\r
         //\r
-        AsmReadIdtr (&IdtDescriptor);\r
-        IdtDescriptor.Limit = (UINT16) (mSaveIdtTableSize - 1);\r
-        CopyMem ((VOID *) IdtDescriptor.Base, mSavedIdtTable, mSaveIdtTableSize);\r
-        AsmWriteIdtr (&IdtDescriptor);\r
-        FreePool (mSavedIdtTable);\r
-        mDebugAgentInitialized = FALSE;\r
-        *(EFI_STATUS *)Context = EFI_SUCCESS;\r
+        CpuBreakpoint ();\r
       }\r
-    } else {\r
-      *(EFI_STATUS *)Context = EFI_NOT_STARTED;\r
-    }\r
 \r
-    //\r
-    // Restore interrupt state.\r
-    //\r
-    SetInterruptState (InterruptStatus);\r
-    break;\r
+      break;\r
 \r
-  case DEBUG_AGENT_INIT_DXE_CORE:\r
-    mDxeCoreFlag                = TRUE;\r
-    mMultiProcessorDebugSupport = TRUE;\r
-    //\r
-    // Try to get mailbox from GUIDed HOB build in PEI\r
-    //\r
-    HobList = Context;\r
-    Mailbox = GetMailboxFromHob (HobList);\r
-    //\r
-    // Set up Debug Agent Environment and try to connect HOST if required\r
-    //\r
-    SetupDebugAgentEnvironment (Mailbox);\r
-    //\r
-    // Enable Debug Timer interrupt\r
-    //\r
-    SaveAndSetDebugTimerInterrupt (TRUE);\r
-    //\r
-    // Enable interrupt to receive Debug Timer interrupt\r
-    //\r
-    EnableInterrupts ();\r
-\r
-    break;\r
-\r
-  case DEBUG_AGENT_INIT_S3:\r
-\r
-    if (Context != NULL) {\r
-      Ia32Idtr =  (IA32_DESCRIPTOR *) Context;\r
-      Ia32IdtEntry = (IA32_IDT_ENTRY *)(Ia32Idtr->Base);\r
-      MailboxLocation = (UINT64 *) ((UINTN) Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetLow +\r
-                                   ((UINTN) Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetHigh << 16));\r
-      Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
-      VerifyMailboxChecksum (Mailbox);\r
-    }\r
-    //\r
-    // Save Mailbox pointer in global variable\r
-    //\r
-    mMailboxPointer = Mailbox;\r
-    //\r
-    // Set up Debug Agent Environment and try to connect HOST if required\r
-    //\r
-    SetupDebugAgentEnvironment (Mailbox);\r
-    //\r
-    // Disable interrupt\r
-    //\r
-    DisableInterrupts ();\r
-    FindAndReportModuleImageInfo (SIZE_4KB);\r
-    if (GetDebugFlag (DEBUG_AGENT_FLAG_BREAK_BOOT_SCRIPT) == 1) {\r
+    default:\r
       //\r
-      // If Boot Script entry break is set, code will be break at here.\r
+      // Only DEBUG_AGENT_INIT_PREMEM_SEC and DEBUG_AGENT_INIT_POSTMEM_SEC are allowed for this\r
+      // Debug Agent library instance.\r
       //\r
-      CpuBreakpoint ();\r
-    }\r
-    break;\r
-\r
-  default:\r
-    //\r
-    // Only DEBUG_AGENT_INIT_PREMEM_SEC and DEBUG_AGENT_INIT_POSTMEM_SEC are allowed for this\r
-    // Debug Agent library instance.\r
-    //\r
-    DEBUG ((DEBUG_ERROR, "Debug Agent: The InitFlag value is not allowed!\n"));\r
-    CpuDeadLoop ();\r
-    break;\r
+      DEBUG ((DEBUG_ERROR, "Debug Agent: The InitFlag value is not allowed!\n"));\r
+      CpuDeadLoop ();\r
+      break;\r
   }\r
 }\r
index a2fbf115d57fbdcb3d93a9ba34f2e5270525ffc1..6661275cc343cc423c785b3bf470d1ed6629053c 100644 (file)
@@ -153,7 +153,7 @@ EFI_SERIAL_IO_MODE  mSerialIoMode = {
 //\r
 // EFI_SERIAL_IO_PROTOCOL instance\r
 //\r
-EFI_SERIAL_IO_PROTOCOL mSerialIo = {\r
+EFI_SERIAL_IO_PROTOCOL  mSerialIo = {\r
   SERIAL_IO_INTERFACE_REVISION,\r
   SerialReset,\r
   SerialSetAttributes,\r
@@ -168,22 +168,22 @@ EFI_SERIAL_IO_PROTOCOL mSerialIo = {
 // Serial IO Device Path definition\r
 //\r
 typedef struct {\r
-  VENDOR_DEVICE_PATH        VendorDevicePath;\r
-  UART_DEVICE_PATH          UartDevicePath;\r
-  EFI_DEVICE_PATH_PROTOCOL  EndDevicePath;\r
+  VENDOR_DEVICE_PATH          VendorDevicePath;\r
+  UART_DEVICE_PATH            UartDevicePath;\r
+  EFI_DEVICE_PATH_PROTOCOL    EndDevicePath;\r
 } SERIAL_IO_DEVICE_PATH;\r
 \r
 //\r
 // Serial IO Device Patch instance\r
 //\r
-SERIAL_IO_DEVICE_PATH mSerialIoDevicePath = {\r
+SERIAL_IO_DEVICE_PATH  mSerialIoDevicePath = {\r
   {\r
     {\r
       HARDWARE_DEVICE_PATH,\r
       HW_VENDOR_DP,\r
       {\r
-        (UINT8) (sizeof (VENDOR_DEVICE_PATH)),\r
-        (UINT8) ((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
+        (UINT8)(sizeof (VENDOR_DEVICE_PATH)),\r
+        (UINT8)((sizeof (VENDOR_DEVICE_PATH)) >> 8)\r
       }\r
     },\r
     EFI_DEBUG_AGENT_GUID,\r
@@ -193,8 +193,8 @@ SERIAL_IO_DEVICE_PATH mSerialIoDevicePath = {
       MESSAGING_DEVICE_PATH,\r
       MSG_UART_DP,\r
       {\r
-        (UINT8) (sizeof (UART_DEVICE_PATH)),\r
-        (UINT8) ((sizeof (UART_DEVICE_PATH)) >> 8)\r
+        (UINT8)(sizeof (UART_DEVICE_PATH)),\r
+        (UINT8)((sizeof (UART_DEVICE_PATH)) >> 8)\r
       }\r
     },\r
     0,\r
@@ -213,7 +213,7 @@ SERIAL_IO_DEVICE_PATH mSerialIoDevicePath = {
   }\r
 };\r
 \r
-#define DEBGU_SERIAL_IO_FIFO_DEPTH      10\r
+#define DEBGU_SERIAL_IO_FIFO_DEPTH  10\r
 //\r
 //  Data buffer for Terminal input character and Debug Symbols.\r
 //  The depth is DEBGU_SERIAL_IO_FIFO_DEPTH.\r
@@ -224,19 +224,23 @@ SERIAL_IO_DEVICE_PATH mSerialIoDevicePath = {
 //      Data[]  UINT8: An array, which used to store data.\r
 //\r
 typedef struct {\r
-  UINT8  First;\r
-  UINT8  Last;\r
-  UINT8  Surplus;\r
-  UINT8  Data[DEBGU_SERIAL_IO_FIFO_DEPTH];\r
+  UINT8    First;\r
+  UINT8    Last;\r
+  UINT8    Surplus;\r
+  UINT8    Data[DEBGU_SERIAL_IO_FIFO_DEPTH];\r
 } DEBUG_SERIAL_FIFO;\r
 \r
 //\r
 // Global Variables\r
 //\r
-EFI_HANDLE                   mSerialIoHandle        = NULL;\r
-UINTN                        mLoopbackBuffer        = 0;\r
-DEBUG_SERIAL_FIFO            mSerialFifoForTerminal = {0, 0, DEBGU_SERIAL_IO_FIFO_DEPTH, { 0 }};\r
-DEBUG_SERIAL_FIFO            mSerialFifoForDebug    = {0, 0, DEBGU_SERIAL_IO_FIFO_DEPTH, { 0 }};\r
+EFI_HANDLE         mSerialIoHandle        = NULL;\r
+UINTN              mLoopbackBuffer        = 0;\r
+DEBUG_SERIAL_FIFO  mSerialFifoForTerminal = {\r
+  0, 0, DEBGU_SERIAL_IO_FIFO_DEPTH, { 0 }\r
+};\r
+DEBUG_SERIAL_FIFO  mSerialFifoForDebug = {\r
+  0, 0, DEBGU_SERIAL_IO_FIFO_DEPTH, { 0 }\r
+};\r
 \r
 /**\r
   Detect whether specific FIFO is empty or not.\r
@@ -248,7 +252,7 @@ DEBUG_SERIAL_FIFO            mSerialFifoForDebug    = {0, 0, DEBGU_SERIAL_IO_FIF
 **/\r
 BOOLEAN\r
 IsDebugTermianlFifoEmpty (\r
-  IN DEBUG_SERIAL_FIFO    *Fifo\r
+  IN DEBUG_SERIAL_FIFO  *Fifo\r
   )\r
 {\r
   if (Fifo->Surplus == DEBGU_SERIAL_IO_FIFO_DEPTH) {\r
@@ -268,7 +272,7 @@ IsDebugTermianlFifoEmpty (
 **/\r
 BOOLEAN\r
 IsDebugTerminalFifoFull (\r
-  IN DEBUG_SERIAL_FIFO    *Fifo\r
+  IN DEBUG_SERIAL_FIFO  *Fifo\r
   )\r
 \r
 {\r
@@ -291,8 +295,8 @@ IsDebugTerminalFifoFull (
 **/\r
 EFI_STATUS\r
 DebugTerminalFifoAdd (\r
-  IN DEBUG_SERIAL_FIFO   *Fifo,\r
-  IN UINT8               Data\r
+  IN DEBUG_SERIAL_FIFO  *Fifo,\r
+  IN UINT8              Data\r
   )\r
 \r
 {\r
@@ -302,6 +306,7 @@ DebugTerminalFifoAdd (
   if (IsDebugTerminalFifoFull (Fifo)) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   //\r
   // FIFO is not full can add data\r
   //\r
@@ -327,8 +332,8 @@ DebugTerminalFifoAdd (
 **/\r
 EFI_STATUS\r
 DebugTerminalFifoRemove (\r
-  IN  DEBUG_SERIAL_FIFO   *Fifo,\r
-  OUT UINT8               *Data\r
+  IN  DEBUG_SERIAL_FIFO  *Fifo,\r
+  OUT UINT8              *Data\r
   )\r
 {\r
   //\r
@@ -337,6 +342,7 @@ DebugTerminalFifoRemove (
   if (IsDebugTermianlFifoEmpty (Fifo)) {\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   //\r
   // FIFO is not empty, can remove data\r
   //\r
@@ -359,12 +365,14 @@ InstallSerialIo (
   VOID\r
   )\r
 {\r
-  EFI_STATUS       Status;\r
+  EFI_STATUS  Status;\r
 \r
   Status = gBS->InstallMultipleProtocolInterfaces (\r
                   &mSerialIoHandle,\r
-                  &gEfiDevicePathProtocolGuid, &mSerialIoDevicePath,\r
-                  &gEfiSerialIoProtocolGuid,   &mSerialIo,\r
+                  &gEfiDevicePathProtocolGuid,\r
+                  &mSerialIoDevicePath,\r
+                  &gEfiSerialIoProtocolGuid,\r
+                  &mSerialIo,\r
                   NULL\r
                   );\r
   if (EFI_ERROR (Status)) {\r
@@ -387,7 +395,7 @@ SerialReset (
   )\r
 {\r
   mSerialIoMode.ControlMask = SERIAL_PORT_DEFAULT_CONTROL_MASK;\r
-  mLoopbackBuffer = 0;\r
+  mLoopbackBuffer           = 0;\r
   //\r
   // Not reset serial device hardware indeed.\r
   //\r
@@ -445,7 +453,7 @@ SerialSetAttributes (
   // SERIAL_PORT_DEFAULT_RECEIVE_FIFO_DEPTH.  The Debug Communication Library may actually be\r
   // using a larger FIFO, but there is no way to tell.\r
   //\r
-  if (ReceiveFifoDepth == 0 || ReceiveFifoDepth >= SERIAL_PORT_DEFAULT_RECEIVE_FIFO_DEPTH) {\r
+  if ((ReceiveFifoDepth == 0) || (ReceiveFifoDepth >= SERIAL_PORT_DEFAULT_RECEIVE_FIFO_DEPTH)) {\r
     mSerialIoMode.ReceiveFifoDepth = SERIAL_PORT_DEFAULT_RECEIVE_FIFO_DEPTH;\r
   } else {\r
     return EFI_INVALID_PARAMETER;\r
@@ -478,6 +486,7 @@ SerialSetControl (
   if ((Control & (~EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE)) != 0) {\r
     return EFI_UNSUPPORTED;\r
   }\r
+\r
   mSerialIoMode.ControlMask = Control;\r
   return EFI_SUCCESS;\r
 }\r
@@ -498,9 +507,9 @@ SerialGetControl (
   OUT UINT32                 *Control\r
   )\r
 {\r
-  DEBUG_PORT_HANDLE                Handle;\r
-  BOOLEAN                          DebugTimerInterruptState;\r
-  EFI_TPL                          Tpl;\r
+  DEBUG_PORT_HANDLE  Handle;\r
+  BOOLEAN            DebugTimerInterruptState;\r
+  EFI_TPL            Tpl;\r
 \r
   //\r
   // Raise TPL to prevent recursion from EFI timer interrupts\r
@@ -511,7 +520,7 @@ SerialGetControl (
   // Save and disable Debug Timer interrupt to avoid it to access Debug Port\r
   //\r
   DebugTimerInterruptState = SaveAndSetDebugTimerInterrupt (FALSE);\r
-  Handle = GetDebugPortHandle ();\r
+  Handle                   = GetDebugPortHandle ();\r
 \r
   //\r
   // Always assume the output buffer is empty and the Debug Communication Library can process\r
@@ -561,9 +570,9 @@ SerialWrite (
   IN VOID                    *Buffer\r
   )\r
 {\r
-  DEBUG_PORT_HANDLE                Handle;\r
-  BOOLEAN                          DebugTimerInterruptState;\r
-  EFI_TPL                          Tpl;\r
+  DEBUG_PORT_HANDLE  Handle;\r
+  BOOLEAN            DebugTimerInterruptState;\r
+  EFI_TPL            Tpl;\r
 \r
   //\r
   // Raise TPL to prevent recursion from EFI timer interrupts\r
@@ -574,18 +583,20 @@ SerialWrite (
   // Save and disable Debug Timer interrupt to avoid it to access Debug Port\r
   //\r
   DebugTimerInterruptState = SaveAndSetDebugTimerInterrupt (FALSE);\r
-  Handle = GetDebugPortHandle ();\r
+  Handle                   = GetDebugPortHandle ();\r
 \r
-  if ((mSerialIoMode.ControlMask & EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) != 0)  {\r
+  if ((mSerialIoMode.ControlMask & EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) != 0) {\r
     if (*BufferSize == 0) {\r
       return EFI_SUCCESS;\r
     }\r
+\r
     if ((mLoopbackBuffer & SERIAL_PORT_LOOPBACK_BUFFER_FULL) != 0) {\r
       *BufferSize = 0;\r
       return EFI_TIMEOUT;\r
     }\r
+\r
     mLoopbackBuffer = SERIAL_PORT_LOOPBACK_BUFFER_FULL | *(UINT8 *)Buffer;\r
-    *BufferSize = 1;\r
+    *BufferSize     = 1;\r
   } else {\r
     *BufferSize = DebugPortWriteBuffer (Handle, Buffer, *BufferSize);\r
   }\r
@@ -624,14 +635,14 @@ SerialRead (
   OUT VOID                   *Buffer\r
   )\r
 {\r
-  EFI_STATUS                  Status;\r
-  UINTN                       Index;\r
-  UINT8                       *Uint8Buffer;\r
-  BOOLEAN                     DebugTimerInterruptState;\r
-  EFI_TPL                     Tpl;\r
-  DEBUG_PORT_HANDLE           Handle;\r
-  DEBUG_PACKET_HEADER         DebugHeader;\r
-  UINT8                       *Data8;\r
+  EFI_STATUS           Status;\r
+  UINTN                Index;\r
+  UINT8                *Uint8Buffer;\r
+  BOOLEAN              DebugTimerInterruptState;\r
+  EFI_TPL              Tpl;\r
+  DEBUG_PORT_HANDLE    Handle;\r
+  DEBUG_PACKET_HEADER  DebugHeader;\r
+  UINT8                *Data8;\r
 \r
   //\r
   // Raise TPL to prevent recursion from EFI timer interrupts\r
@@ -642,17 +653,18 @@ SerialRead (
   // Save and disable Debug Timer interrupt to avoid it to access Debug Port\r
   //\r
   DebugTimerInterruptState = SaveAndSetDebugTimerInterrupt (FALSE);\r
-  Handle = GetDebugPortHandle ();\r
+  Handle                   = GetDebugPortHandle ();\r
 \r
-  Data8 = (UINT8 *) &DebugHeader;\r
+  Data8       = (UINT8 *)&DebugHeader;\r
   Uint8Buffer = (UINT8 *)Buffer;\r
-  if ((mSerialIoMode.ControlMask & EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) != 0)  {\r
+  if ((mSerialIoMode.ControlMask & EFI_SERIAL_SOFTWARE_LOOPBACK_ENABLE) != 0) {\r
     if ((mLoopbackBuffer & SERIAL_PORT_LOOPBACK_BUFFER_FULL) == 0) {\r
       return EFI_TIMEOUT;\r
     }\r
-    *Uint8Buffer = (UINT8)(mLoopbackBuffer & 0xff);\r
+\r
+    *Uint8Buffer    = (UINT8)(mLoopbackBuffer & 0xff);\r
     mLoopbackBuffer = 0;\r
-    *BufferSize = 1;\r
+    *BufferSize     = 1;\r
   } else {\r
     for (Index = 0; Index < *BufferSize; Index++) {\r
       //\r
@@ -661,15 +673,17 @@ SerialRead (
       Status = DebugTerminalFifoRemove (&mSerialFifoForTerminal, Data8);\r
       if (Status == EFI_SUCCESS) {\r
         *Uint8Buffer = *Data8;\r
-        Uint8Buffer ++;\r
+        Uint8Buffer++;\r
         continue;\r
       }\r
+\r
       //\r
       // Read the input character from Debug Port\r
       //\r
       if (!DebugPortPollBuffer (Handle)) {\r
         break;\r
       }\r
+\r
       DebugAgentReadBuffer (Handle, Data8, 1, 0);\r
 \r
       if (*Data8 == DEBUG_STARTING_SYMBOL_ATTACH) {\r
@@ -684,14 +698,16 @@ SerialRead (
           DebugAgentMsgPrint (DEBUG_AGENT_INFO, "Terminal Timer break symbol received %x", DebugHeader.Command);\r
           DebugTerminalFifoAdd (&mSerialFifoForDebug, DebugHeader.Command);\r
         }\r
+\r
         if (Status == EFI_TIMEOUT) {\r
           continue;\r
         }\r
       } else {\r
         *Uint8Buffer = *Data8;\r
-        Uint8Buffer ++;\r
+        Uint8Buffer++;\r
       }\r
     }\r
+\r
     *BufferSize = (UINTN)Uint8Buffer - (UINTN)Buffer;\r
   }\r
 \r
@@ -720,19 +736,19 @@ SerialRead (
 **/\r
 EFI_STATUS\r
 DebugReadBreakFromDebugPort (\r
-  IN  DEBUG_PORT_HANDLE      Handle,\r
-  OUT UINT8                  *BreakSymbol\r
+  IN  DEBUG_PORT_HANDLE  Handle,\r
+  OUT UINT8              *BreakSymbol\r
   )\r
 {\r
-  EFI_STATUS                 Status;\r
-  DEBUG_PACKET_HEADER        DebugHeader;\r
-  UINT8                      *Data8;\r
+  EFI_STATUS           Status;\r
+  DEBUG_PACKET_HEADER  DebugHeader;\r
+  UINT8                *Data8;\r
 \r
   *BreakSymbol = 0;\r
   //\r
   // If Debug Port buffer has data, read it till it was break symbol or Debug Port buffer empty.\r
   //\r
-  Data8 = (UINT8 *) &DebugHeader;\r
+  Data8 = (UINT8 *)&DebugHeader;\r
   while (TRUE) {\r
     //\r
     // If start symbol is not received\r
@@ -743,6 +759,7 @@ DebugReadBreakFromDebugPort (
       //\r
       break;\r
     }\r
+\r
     //\r
     // Try to read the start symbol\r
     //\r
@@ -752,6 +769,7 @@ DebugReadBreakFromDebugPort (
       *BreakSymbol = *Data8;\r
       return EFI_SUCCESS;\r
     }\r
+\r
     if (*Data8 == DEBUG_STARTING_SYMBOL_NORMAL) {\r
       Status = ReadRemainingBreakPacket (Handle, &DebugHeader);\r
       if (Status == EFI_SUCCESS) {\r
@@ -759,6 +777,7 @@ DebugReadBreakFromDebugPort (
         *BreakSymbol = DebugHeader.Command;\r
         return EFI_SUCCESS;\r
       }\r
+\r
       if (Status == EFI_TIMEOUT) {\r
         break;\r
       }\r
@@ -785,12 +804,12 @@ DebugReadBreakFromDebugPort (
 **/\r
 EFI_STATUS\r
 DebugReadBreakSymbol (\r
-  IN  DEBUG_PORT_HANDLE      Handle,\r
-  OUT UINT8                  *BreakSymbol\r
+  IN  DEBUG_PORT_HANDLE  Handle,\r
+  OUT UINT8              *BreakSymbol\r
   )\r
 {\r
-  EFI_STATUS               Status;\r
-  UINT8                    Data8;\r
+  EFI_STATUS  Status;\r
+  UINT8       Data8;\r
 \r
   //\r
   // Read break symbol from debug FIFO firstly\r
index ea3ae33f3f690a03ab39b4cbaeb4fe2594f7ab30..b32754fc2a3e963ece595a1ee683cdfbd1f4c9f9 100644 (file)
 \r
 GLOBAL_REMOVE_IF_UNREFERENCED BOOLEAN  mSkipBreakpoint = FALSE;\r
 \r
-\r
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_VECTOR_HANDOFF_INFO_PPI mVectorHandoffInfoPpi = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_VECTOR_HANDOFF_INFO_PPI  mVectorHandoffInfoPpi = {\r
   &mVectorHandoffInfoDebugAgent[0]\r
 };\r
 \r
 //\r
 // Ppis to be installed\r
 //\r
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_PPI_DESCRIPTOR           mVectorHandoffInfoPpiList[] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_PPI_DESCRIPTOR  mVectorHandoffInfoPpiList[] = {\r
   {\r
     (EFI_PEI_PPI_DESCRIPTOR_PPI | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
     &gEfiVectorHandoffInfoPpiGuid,\r
@@ -26,7 +25,7 @@ GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_PPI_DESCRIPTOR           mVectorHandoffInf
   }\r
 };\r
 \r
-GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_NOTIFY_DESCRIPTOR mDebugAgentMemoryDiscoveredNotifyList[1] = {\r
+GLOBAL_REMOVE_IF_UNREFERENCED EFI_PEI_NOTIFY_DESCRIPTOR  mDebugAgentMemoryDiscoveredNotifyList[1] = {\r
   {\r
     (EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
     &gEfiPeiMemoryDiscoveredPpiGuid,\r
@@ -61,19 +60,19 @@ MultiProcessorDebugSupport (
 **/\r
 EFI_STATUS\r
 DebugReadBreakSymbol (\r
-  IN  DEBUG_PORT_HANDLE      Handle,\r
-  OUT UINT8                  *BreakSymbol\r
+  IN  DEBUG_PORT_HANDLE  Handle,\r
+  OUT UINT8              *BreakSymbol\r
   )\r
 {\r
-  EFI_STATUS                 Status;\r
-  DEBUG_PACKET_HEADER        DebugHeader;\r
-  UINT8                      *Data8;\r
+  EFI_STATUS           Status;\r
+  DEBUG_PACKET_HEADER  DebugHeader;\r
+  UINT8                *Data8;\r
 \r
   *BreakSymbol = 0;\r
   //\r
   // If Debug Port buffer has data, read it till it was break symbol or Debug Port buffer empty.\r
   //\r
-  Data8 = (UINT8 *) &DebugHeader;\r
+  Data8 = (UINT8 *)&DebugHeader;\r
   while (TRUE) {\r
     //\r
     // If start symbol is not received\r
@@ -84,6 +83,7 @@ DebugReadBreakSymbol (
       //\r
       break;\r
     }\r
+\r
     //\r
     // Try to read the start symbol\r
     //\r
@@ -93,6 +93,7 @@ DebugReadBreakSymbol (
       DebugAgentMsgPrint (DEBUG_AGENT_INFO, "Debug Timer attach symbol received %x", *BreakSymbol);\r
       return EFI_SUCCESS;\r
     }\r
+\r
     if (*Data8 == DEBUG_STARTING_SYMBOL_NORMAL) {\r
       Status = ReadRemainingBreakPacket (Handle, &DebugHeader);\r
       if (Status == EFI_SUCCESS) {\r
@@ -100,6 +101,7 @@ DebugReadBreakSymbol (
         DebugAgentMsgPrint (DEBUG_AGENT_INFO, "Debug Timer break symbol received %x", *BreakSymbol);\r
         return EFI_SUCCESS;\r
       }\r
+\r
       if (Status == EFI_TIMEOUT) {\r
         break;\r
       }\r
@@ -118,13 +120,13 @@ GetLocationSavedMailboxPointerInIdtEntry (
   VOID\r
   )\r
 {\r
-  UINTN                     *MailboxLocation;\r
+  UINTN  *MailboxLocation;\r
 \r
-  MailboxLocation = (UINTN *) GetExceptionHandlerInIdtEntry (DEBUG_MAILBOX_VECTOR);\r
+  MailboxLocation = (UINTN *)GetExceptionHandlerInIdtEntry (DEBUG_MAILBOX_VECTOR);\r
   //\r
   // *MailboxLocation is the pointer to Mailbox\r
   //\r
-  VerifyMailboxChecksum ((DEBUG_AGENT_MAILBOX *) (*MailboxLocation));\r
+  VerifyMailboxChecksum ((DEBUG_AGENT_MAILBOX *)(*MailboxLocation));\r
   return MailboxLocation;\r
 }\r
 \r
@@ -136,7 +138,7 @@ GetLocationSavedMailboxPointerInIdtEntry (
 **/\r
 VOID\r
 SetLocationSavedMailboxPointerInIdtEntry (\r
-  IN VOID                  *MailboxLocation\r
+  IN VOID  *MailboxLocation\r
   )\r
 {\r
   SetExceptionHandlerInIdtEntry (DEBUG_MAILBOX_VECTOR, MailboxLocation);\r
@@ -153,13 +155,14 @@ GetMailboxLocationFromHob (
   VOID\r
   )\r
 {\r
-  EFI_HOB_GUID_TYPE        *GuidHob;\r
+  EFI_HOB_GUID_TYPE  *GuidHob;\r
 \r
   GuidHob = GetFirstGuidHob (&gEfiDebugAgentGuid);\r
   if (GuidHob == NULL) {\r
     return NULL;\r
   }\r
-  return (UINT64 *) (GET_GUID_HOB_DATA(GuidHob));\r
+\r
+  return (UINT64 *)(GET_GUID_HOB_DATA (GuidHob));\r
 }\r
 \r
 /**\r
@@ -182,12 +185,13 @@ GetMailboxPointer (
   // Get mailbox from IDT entry firstly\r
   //\r
   MailboxLocationInIdt = GetLocationSavedMailboxPointerInIdtEntry ();\r
-  Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocationInIdt);\r
+  Mailbox              = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocationInIdt);\r
   //\r
   // Cannot used GetDebugFlag() to get Debug Flag to avoid GetMailboxPointer() nested\r
   //\r
-  if (Mailbox->DebugFlag.Bits.CheckMailboxInHob != 1 ||\r
-      Mailbox->DebugFlag.Bits.InitArch != DEBUG_ARCH_SYMBOL) {\r
+  if ((Mailbox->DebugFlag.Bits.CheckMailboxInHob != 1) ||\r
+      (Mailbox->DebugFlag.Bits.InitArch != DEBUG_ARCH_SYMBOL))\r
+  {\r
     //\r
     // If mailbox was setup in SEC or the current CPU arch is different from the init arch\r
     // Debug Agent initialized, return the mailbox from IDT entry directly.\r
@@ -201,12 +205,12 @@ GetMailboxPointer (
   // Compare mailbox in IDT entry with mailbox in HOB,\r
   // need to fix mailbox location if HOB moved by PEI CORE\r
   //\r
-  if (MailboxLocationInHob != MailboxLocationInIdt && MailboxLocationInHob != NULL) {\r
+  if ((MailboxLocationInHob != MailboxLocationInIdt) && (MailboxLocationInHob != NULL)) {\r
     Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocationInHob);\r
     //\r
     // Fix up Debug Port handler and save new mailbox in IDT entry\r
     //\r
-    Mailbox = (DEBUG_AGENT_MAILBOX *)((UINTN)Mailbox + ((UINTN)(MailboxLocationInHob) - (UINTN)MailboxLocationInIdt));\r
+    Mailbox         = (DEBUG_AGENT_MAILBOX *)((UINTN)Mailbox + ((UINTN)(MailboxLocationInHob) - (UINTN)MailboxLocationInIdt));\r
     DebugPortHandle = (UINTN)Mailbox->DebugPortHandle + ((UINTN)(MailboxLocationInHob) - (UINTN)MailboxLocationInIdt);\r
     UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, DebugPortHandle);\r
     *MailboxLocationInHob = (UINT64)(UINTN)Mailbox;\r
@@ -232,11 +236,11 @@ GetDebugPortHandle (
   VOID\r
   )\r
 {\r
-  DEBUG_AGENT_MAILBOX    *DebugAgentMailbox;\r
+  DEBUG_AGENT_MAILBOX  *DebugAgentMailbox;\r
 \r
   DebugAgentMailbox = GetMailboxPointer ();\r
 \r
-  return (DEBUG_PORT_HANDLE) (UINTN)(DebugAgentMailbox->DebugPortHandle);\r
+  return (DEBUG_PORT_HANDLE)(UINTN)(DebugAgentMailbox->DebugPortHandle);\r
 }\r
 \r
 /**\r
@@ -252,17 +256,17 @@ GetDebugPortHandle (
 EFI_STATUS\r
 EFIAPI\r
 DebugAgentCallbackMemoryDiscoveredPpi (\r
-  IN EFI_PEI_SERVICES                     **PeiServices,\r
-  IN EFI_PEI_NOTIFY_DESCRIPTOR            *NotifyDescriptor,\r
-  IN VOID                                 *Ppi\r
+  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyDescriptor,\r
+  IN VOID                       *Ppi\r
   )\r
 {\r
-  EFI_STATUS                     Status;\r
-  DEBUG_AGENT_MAILBOX            *Mailbox;\r
-  BOOLEAN                        InterruptStatus;\r
-  EFI_PHYSICAL_ADDRESS           Address;\r
-  DEBUG_AGENT_MAILBOX            *NewMailbox;\r
-  UINT64                         *MailboxLocationInHob;\r
+  EFI_STATUS            Status;\r
+  DEBUG_AGENT_MAILBOX   *Mailbox;\r
+  BOOLEAN               InterruptStatus;\r
+  EFI_PHYSICAL_ADDRESS  Address;\r
+  DEBUG_AGENT_MAILBOX   *NewMailbox;\r
+  UINT64                *MailboxLocationInHob;\r
 \r
   //\r
   // Save and disable original interrupt status\r
@@ -274,11 +278,11 @@ DebugAgentCallbackMemoryDiscoveredPpi (
   //\r
   Status = PeiServicesAllocatePages (\r
              EfiACPIMemoryNVS,\r
-             EFI_SIZE_TO_PAGES (sizeof(DEBUG_AGENT_MAILBOX) + PcdGet16(PcdDebugPortHandleBufferSize)),\r
+             EFI_SIZE_TO_PAGES (sizeof (DEBUG_AGENT_MAILBOX) + PcdGet16 (PcdDebugPortHandleBufferSize)),\r
              &Address\r
              );\r
   ASSERT_EFI_ERROR (Status);\r
-  NewMailbox = (DEBUG_AGENT_MAILBOX *) (UINTN) Address;\r
+  NewMailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)Address;\r
   //\r
   // Copy Mailbox and Debug Port Handle buffer to new location in ACPI NVS memory, because original Mailbox\r
   // and Debug Port Handle buffer in the allocated pool that may be marked as free by DXE Core after DXE Core\r
@@ -286,7 +290,7 @@ DebugAgentCallbackMemoryDiscoveredPpi (
   //\r
   Mailbox = GetMailboxPointer ();\r
   CopyMem (NewMailbox, Mailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
-  CopyMem (NewMailbox + 1, (VOID *)(UINTN)Mailbox->DebugPortHandle, PcdGet16(PcdDebugPortHandleBufferSize));\r
+  CopyMem (NewMailbox + 1, (VOID *)(UINTN)Mailbox->DebugPortHandle, PcdGet16 (PcdDebugPortHandleBufferSize));\r
   //\r
   // Update Mailbox Location pointer in GUIDed HOB and IDT entry with new one\r
   //\r
@@ -375,238 +379,247 @@ InitializeDebugAgent (
   //\r
   // Disable interrupts and save current interrupt state\r
   //\r
-  CpuInterruptState = SaveAndDisableInterrupts();\r
+  CpuInterruptState = SaveAndDisableInterrupts ();\r
 \r
   switch (InitFlag) {\r
+    case DEBUG_AGENT_INIT_PREMEM_SEC:\r
 \r
-  case DEBUG_AGENT_INIT_PREMEM_SEC:\r
+      InitializeDebugIdt ();\r
 \r
-    InitializeDebugIdt ();\r
+      MailboxLocation = (UINT64)(UINTN)&MailboxInStack;\r
+      Mailbox         = &MailboxInStack;\r
+      ZeroMem ((VOID *)Mailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
+      //\r
+      // Get and save debug port handle and set the length of memory block.\r
+      //\r
+      SetLocationSavedMailboxPointerInIdtEntry (&MailboxLocation);\r
+      //\r
+      // Force error message could be printed during the first shakehand between Target/HOST.\r
+      //\r
+      SetDebugFlag (DEBUG_AGENT_FLAG_PRINT_ERROR_LEVEL, DEBUG_AGENT_ERROR);\r
+      //\r
+      // Save init arch type when debug agent initialized\r
+      //\r
+      SetDebugFlag (DEBUG_AGENT_FLAG_INIT_ARCH, DEBUG_ARCH_SYMBOL);\r
+      //\r
+      // Initialize Debug Timer hardware and save its frequency\r
+      //\r
+      InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
+      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
 \r
-    MailboxLocation = (UINT64)(UINTN)&MailboxInStack;\r
-    Mailbox = &MailboxInStack;\r
-    ZeroMem ((VOID *) Mailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
-    //\r
-    // Get and save debug port handle and set the length of memory block.\r
-    //\r
-    SetLocationSavedMailboxPointerInIdtEntry (&MailboxLocation);\r
-    //\r
-    // Force error message could be printed during the first shakehand between Target/HOST.\r
-    //\r
-    SetDebugFlag (DEBUG_AGENT_FLAG_PRINT_ERROR_LEVEL, DEBUG_AGENT_ERROR);\r
-    //\r
-    // Save init arch type when debug agent initialized\r
-    //\r
-    SetDebugFlag (DEBUG_AGENT_FLAG_INIT_ARCH, DEBUG_ARCH_SYMBOL);\r
-    //\r
-    // Initialize Debug Timer hardware and save its frequency\r
-    //\r
-    InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
-    UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
+      Phase2Context.InitFlag = InitFlag;\r
+      Phase2Context.Context  = Context;\r
+      Phase2Context.Function = Function;\r
+      DebugPortInitialize ((VOID *)&Phase2Context, InitializeDebugAgentPhase2);\r
+      //\r
+      // If reaches here, it means Debug Port initialization failed.\r
+      //\r
+      DEBUG ((DEBUG_ERROR, "Debug Agent: Debug port initialization failed.\n"));\r
 \r
-    Phase2Context.InitFlag = InitFlag;\r
-    Phase2Context.Context  = Context;\r
-    Phase2Context.Function = Function;\r
-    DebugPortInitialize ((VOID *) &Phase2Context, InitializeDebugAgentPhase2);\r
-    //\r
-    // If reaches here, it means Debug Port initialization failed.\r
-    //\r
-    DEBUG ((DEBUG_ERROR, "Debug Agent: Debug port initialization failed.\n"));\r
+      break;\r
 \r
-    break;\r
+    case DEBUG_AGENT_INIT_POSTMEM_SEC:\r
+      Mailbox = GetMailboxPointer ();\r
+      //\r
+      // Memory has been ready\r
+      //\r
+      SetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY, 1);\r
+      if (IsHostAttached ()) {\r
+        //\r
+        // Trigger one software interrupt to inform HOST\r
+        //\r
+        TriggerSoftInterrupt (MEMORY_READY_SIGNATURE);\r
+      }\r
 \r
-  case DEBUG_AGENT_INIT_POSTMEM_SEC:\r
-    Mailbox = GetMailboxPointer ();\r
-    //\r
-    // Memory has been ready\r
-    //\r
-    SetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY, 1);\r
-    if (IsHostAttached ()) {\r
       //\r
-      // Trigger one software interrupt to inform HOST\r
+      // Install Vector Handoff Info PPI to persist vectors used by Debug Agent\r
       //\r
-      TriggerSoftInterrupt (MEMORY_READY_SIGNATURE);\r
-    }\r
-    //\r
-    // Install Vector Handoff Info PPI to persist vectors used by Debug Agent\r
-    //\r
-    Status = PeiServicesInstallPpi (&mVectorHandoffInfoPpiList[0]);\r
-    if (EFI_ERROR (Status)) {\r
-      DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to install Vector Handoff Info PPI!\n"));\r
-      CpuDeadLoop ();\r
-    }\r
-    //\r
-    // Fix up Debug Port handle address and mailbox address\r
-    //\r
-    DebugAgentContext = (DEBUG_AGENT_CONTEXT_POSTMEM_SEC *) Context;\r
-    if (DebugAgentContext != NULL) {\r
-      DebugPortHandle = (UINT64)(UINT32)(Mailbox->DebugPortHandle + DebugAgentContext->StackMigrateOffset);\r
-      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, DebugPortHandle);\r
-      Mailbox = (DEBUG_AGENT_MAILBOX *) ((UINTN) Mailbox + DebugAgentContext->StackMigrateOffset);\r
-      MailboxLocation = (UINT64)(UINTN)Mailbox;\r
-      //\r
-      // Build mailbox location in HOB and fix-up its address\r
-      //\r
-      MailboxLocationPointer = BuildGuidDataHob (\r
-                                 &gEfiDebugAgentGuid,\r
-                                 &MailboxLocation,\r
-                                 sizeof (UINT64)\r
-                                 );\r
-      MailboxLocationPointer = (UINT64 *) ((UINTN) MailboxLocationPointer + DebugAgentContext->HeapMigrateOffset);\r
-    } else {\r
-      //\r
-      // DebugAgentContext is NULL. Then, Mailbox can directly be copied into memory.\r
-      // Allocate ACPI NVS memory for new Mailbox and Debug Port Handle buffer\r
-      //\r
-      Status = PeiServicesAllocatePages (\r
-                 EfiACPIMemoryNVS,\r
-                 EFI_SIZE_TO_PAGES (sizeof(DEBUG_AGENT_MAILBOX) + PcdGet16(PcdDebugPortHandleBufferSize)),\r
-                 &Address\r
-                 );\r
+      Status = PeiServicesInstallPpi (&mVectorHandoffInfoPpiList[0]);\r
       if (EFI_ERROR (Status)) {\r
-        DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to allocate pages!\n"));\r
+        DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to install Vector Handoff Info PPI!\n"));\r
         CpuDeadLoop ();\r
       }\r
-      NewMailbox = (DEBUG_AGENT_MAILBOX *) (UINTN) Address;\r
-      //\r
-      // Copy Mailbox and Debug Port Handle buffer to new location in ACPI NVS memory, because original Mailbox\r
-      // and Debug Port Handle buffer in the allocated pool that may be marked as free by DXE Core after DXE Core\r
-      // reallocates the HOB.\r
-      //\r
-      CopyMem (NewMailbox, Mailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
-      CopyMem (NewMailbox + 1, (VOID *)(UINTN)Mailbox->DebugPortHandle, PcdGet16(PcdDebugPortHandleBufferSize));\r
-      UpdateMailboxContent (NewMailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, (UINT64)(UINTN)(NewMailbox + 1));\r
-      MailboxLocation = (UINT64)(UINTN)NewMailbox;\r
-      //\r
-      // Build mailbox location in HOB\r
-      //\r
-      MailboxLocationPointer = BuildGuidDataHob (\r
-                                 &gEfiDebugAgentGuid,\r
-                                 &MailboxLocation,\r
-                                 sizeof (UINT64)\r
-                                 );\r
-    }\r
-    //\r
-    // Update IDT entry to save the location saved mailbox pointer\r
-    //\r
-    SetLocationSavedMailboxPointerInIdtEntry (MailboxLocationPointer);\r
-    break;\r
 \r
-  case DEBUG_AGENT_INIT_PEI:\r
-    if (Context == NULL) {\r
-      DEBUG ((DEBUG_ERROR, "DebugAgent: Input parameter Context cannot be NULL!\n"));\r
-      CpuDeadLoop ();\r
-    }\r
-    //\r
-    // Check if Debug Agent has initialized before\r
-    //\r
-    if (IsDebugAgentInitialzed()) {\r
-      DEBUG ((DEBUG_WARN, "Debug Agent: It has already initialized in SEC Core!\n"));\r
-      break;\r
-    }\r
-    //\r
-    // Install Vector Handoff Info PPI to persist vectors used by Debug Agent\r
-    //\r
-    Status = PeiServicesInstallPpi (&mVectorHandoffInfoPpiList[0]);\r
-    if (EFI_ERROR (Status)) {\r
-      DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to install Vector Handoff Info PPI!\n"));\r
-      CpuDeadLoop ();\r
-    }\r
-    //\r
-    // Set up IDT entries\r
-    //\r
-    InitializeDebugIdt ();\r
-    //\r
-    // Build mailbox in HOB and setup Mailbox Set In Pei flag\r
-    //\r
-    Mailbox = AllocateZeroPool (sizeof (DEBUG_AGENT_MAILBOX));\r
-    if (Mailbox == NULL) {\r
-      DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to allocate memory!\n"));\r
-      CpuDeadLoop ();\r
-    } else {\r
-      MailboxLocation = (UINT64)(UINTN)Mailbox;\r
-      MailboxLocationPointer = BuildGuidDataHob (\r
-                                 &gEfiDebugAgentGuid,\r
-                                 &MailboxLocation,\r
-                                 sizeof (UINT64)\r
-                                 );\r
       //\r
-      // Initialize Debug Timer hardware and save its frequency\r
+      // Fix up Debug Port handle address and mailbox address\r
       //\r
-      InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
-      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
+      DebugAgentContext = (DEBUG_AGENT_CONTEXT_POSTMEM_SEC *)Context;\r
+      if (DebugAgentContext != NULL) {\r
+        DebugPortHandle = (UINT64)(UINT32)(Mailbox->DebugPortHandle + DebugAgentContext->StackMigrateOffset);\r
+        UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, DebugPortHandle);\r
+        Mailbox         = (DEBUG_AGENT_MAILBOX *)((UINTN)Mailbox + DebugAgentContext->StackMigrateOffset);\r
+        MailboxLocation = (UINT64)(UINTN)Mailbox;\r
+        //\r
+        // Build mailbox location in HOB and fix-up its address\r
+        //\r
+        MailboxLocationPointer = BuildGuidDataHob (\r
+                                   &gEfiDebugAgentGuid,\r
+                                   &MailboxLocation,\r
+                                   sizeof (UINT64)\r
+                                   );\r
+        MailboxLocationPointer = (UINT64 *)((UINTN)MailboxLocationPointer + DebugAgentContext->HeapMigrateOffset);\r
+      } else {\r
+        //\r
+        // DebugAgentContext is NULL. Then, Mailbox can directly be copied into memory.\r
+        // Allocate ACPI NVS memory for new Mailbox and Debug Port Handle buffer\r
+        //\r
+        Status = PeiServicesAllocatePages (\r
+                   EfiACPIMemoryNVS,\r
+                   EFI_SIZE_TO_PAGES (sizeof (DEBUG_AGENT_MAILBOX) + PcdGet16 (PcdDebugPortHandleBufferSize)),\r
+                   &Address\r
+                   );\r
+        if (EFI_ERROR (Status)) {\r
+          DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to allocate pages!\n"));\r
+          CpuDeadLoop ();\r
+        }\r
+\r
+        NewMailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)Address;\r
+        //\r
+        // Copy Mailbox and Debug Port Handle buffer to new location in ACPI NVS memory, because original Mailbox\r
+        // and Debug Port Handle buffer in the allocated pool that may be marked as free by DXE Core after DXE Core\r
+        // reallocates the HOB.\r
+        //\r
+        CopyMem (NewMailbox, Mailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
+        CopyMem (NewMailbox + 1, (VOID *)(UINTN)Mailbox->DebugPortHandle, PcdGet16 (PcdDebugPortHandleBufferSize));\r
+        UpdateMailboxContent (NewMailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, (UINT64)(UINTN)(NewMailbox + 1));\r
+        MailboxLocation = (UINT64)(UINTN)NewMailbox;\r
+        //\r
+        // Build mailbox location in HOB\r
+        //\r
+        MailboxLocationPointer = BuildGuidDataHob (\r
+                                   &gEfiDebugAgentGuid,\r
+                                   &MailboxLocation,\r
+                                   sizeof (UINT64)\r
+                                   );\r
+      }\r
+\r
       //\r
-      // Update IDT entry to save the location pointer saved mailbox pointer\r
+      // Update IDT entry to save the location saved mailbox pointer\r
       //\r
       SetLocationSavedMailboxPointerInIdtEntry (MailboxLocationPointer);\r
-    }\r
-    //\r
-    // Save init arch type when debug agent initialized\r
-    //\r
-    SetDebugFlag (DEBUG_AGENT_FLAG_INIT_ARCH, DEBUG_ARCH_SYMBOL);\r
-    //\r
-    // Register for a callback once memory has been initialized.\r
-    // If memory has been ready, the callback function will be invoked immediately\r
-    //\r
-    Status = PeiServicesNotifyPpi (&mDebugAgentMemoryDiscoveredNotifyList[0]);\r
-    if (EFI_ERROR (Status)) {\r
-      DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to register memory discovered callback function!\n"));\r
-      CpuDeadLoop ();\r
-    }\r
-    //\r
-    // Set HOB check flag if memory has not been ready yet\r
-    //\r
-    if (GetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY) == 0) {\r
-      SetDebugFlag (DEBUG_AGENT_FLAG_CHECK_MAILBOX_IN_HOB, 1);\r
-    }\r
-\r
-    Phase2Context.InitFlag = InitFlag;\r
-    Phase2Context.Context  = Context;\r
-    Phase2Context.Function = Function;\r
-    DebugPortInitialize ((VOID *) &Phase2Context, InitializeDebugAgentPhase2);\r
+      break;\r
 \r
-    FindAndReportModuleImageInfo (4);\r
+    case DEBUG_AGENT_INIT_PEI:\r
+      if (Context == NULL) {\r
+        DEBUG ((DEBUG_ERROR, "DebugAgent: Input parameter Context cannot be NULL!\n"));\r
+        CpuDeadLoop ();\r
+      }\r
 \r
-    break;\r
+      //\r
+      // Check if Debug Agent has initialized before\r
+      //\r
+      if (IsDebugAgentInitialzed ()) {\r
+        DEBUG ((DEBUG_WARN, "Debug Agent: It has already initialized in SEC Core!\n"));\r
+        break;\r
+      }\r
 \r
-  case DEBUG_AGENT_INIT_THUNK_PEI_IA32TOX64:\r
-    if (Context == NULL) {\r
-      DEBUG ((DEBUG_ERROR, "DebugAgent: Input parameter Context cannot be NULL!\n"));\r
-      CpuDeadLoop ();\r
-    } else {\r
-      Ia32Idtr =  (IA32_DESCRIPTOR *) Context;\r
-      Ia32IdtEntry = (IA32_IDT_ENTRY *)(Ia32Idtr->Base);\r
-      MailboxLocationPointer = (UINT64 *) ((UINTN) Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetLow +\r
-                                          ((UINTN) Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetHigh << 16));\r
-      Mailbox = (DEBUG_AGENT_MAILBOX *) (UINTN)(*MailboxLocationPointer);\r
       //\r
-      // Mailbox should valid and setup before executing thunk code\r
+      // Install Vector Handoff Info PPI to persist vectors used by Debug Agent\r
       //\r
-      VerifyMailboxChecksum (Mailbox);\r
+      Status = PeiServicesInstallPpi (&mVectorHandoffInfoPpiList[0]);\r
+      if (EFI_ERROR (Status)) {\r
+        DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to install Vector Handoff Info PPI!\n"));\r
+        CpuDeadLoop ();\r
+      }\r
 \r
-      DebugPortHandle = (UINT64) (UINTN)DebugPortInitialize ((VOID *)(UINTN)Mailbox->DebugPortHandle, NULL);\r
-      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, DebugPortHandle);\r
       //\r
       // Set up IDT entries\r
       //\r
       InitializeDebugIdt ();\r
       //\r
-      // Update IDT entry to save location pointer saved the mailbox pointer\r
+      // Build mailbox in HOB and setup Mailbox Set In Pei flag\r
       //\r
-      SetLocationSavedMailboxPointerInIdtEntry (MailboxLocationPointer);\r
+      Mailbox = AllocateZeroPool (sizeof (DEBUG_AGENT_MAILBOX));\r
+      if (Mailbox == NULL) {\r
+        DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to allocate memory!\n"));\r
+        CpuDeadLoop ();\r
+      } else {\r
+        MailboxLocation        = (UINT64)(UINTN)Mailbox;\r
+        MailboxLocationPointer = BuildGuidDataHob (\r
+                                   &gEfiDebugAgentGuid,\r
+                                   &MailboxLocation,\r
+                                   sizeof (UINT64)\r
+                                   );\r
+        //\r
+        // Initialize Debug Timer hardware and save its frequency\r
+        //\r
+        InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
+        UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
+        //\r
+        // Update IDT entry to save the location pointer saved mailbox pointer\r
+        //\r
+        SetLocationSavedMailboxPointerInIdtEntry (MailboxLocationPointer);\r
+      }\r
+\r
+      //\r
+      // Save init arch type when debug agent initialized\r
+      //\r
+      SetDebugFlag (DEBUG_AGENT_FLAG_INIT_ARCH, DEBUG_ARCH_SYMBOL);\r
+      //\r
+      // Register for a callback once memory has been initialized.\r
+      // If memory has been ready, the callback function will be invoked immediately\r
+      //\r
+      Status = PeiServicesNotifyPpi (&mDebugAgentMemoryDiscoveredNotifyList[0]);\r
+      if (EFI_ERROR (Status)) {\r
+        DEBUG ((DEBUG_ERROR, "DebugAgent: Failed to register memory discovered callback function!\n"));\r
+        CpuDeadLoop ();\r
+      }\r
+\r
+      //\r
+      // Set HOB check flag if memory has not been ready yet\r
+      //\r
+      if (GetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY) == 0) {\r
+        SetDebugFlag (DEBUG_AGENT_FLAG_CHECK_MAILBOX_IN_HOB, 1);\r
+      }\r
+\r
+      Phase2Context.InitFlag = InitFlag;\r
+      Phase2Context.Context  = Context;\r
+      Phase2Context.Function = Function;\r
+      DebugPortInitialize ((VOID *)&Phase2Context, InitializeDebugAgentPhase2);\r
 \r
       FindAndReportModuleImageInfo (4);\r
-    }\r
-    break;\r
 \r
-  default:\r
-    //\r
-    // Only DEBUG_AGENT_INIT_PREMEM_SEC and DEBUG_AGENT_INIT_POSTMEM_SEC are allowed for this\r
-    // Debug Agent library instance.\r
-    //\r
-    DEBUG ((DEBUG_ERROR, "Debug Agent: The InitFlag value is not allowed!\n"));\r
-    CpuDeadLoop ();\r
-    break;\r
+      break;\r
+\r
+    case DEBUG_AGENT_INIT_THUNK_PEI_IA32TOX64:\r
+      if (Context == NULL) {\r
+        DEBUG ((DEBUG_ERROR, "DebugAgent: Input parameter Context cannot be NULL!\n"));\r
+        CpuDeadLoop ();\r
+      } else {\r
+        Ia32Idtr               =  (IA32_DESCRIPTOR *)Context;\r
+        Ia32IdtEntry           = (IA32_IDT_ENTRY *)(Ia32Idtr->Base);\r
+        MailboxLocationPointer = (UINT64 *)((UINTN)Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetLow +\r
+                                            ((UINTN)Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetHigh << 16));\r
+        Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocationPointer);\r
+        //\r
+        // Mailbox should valid and setup before executing thunk code\r
+        //\r
+        VerifyMailboxChecksum (Mailbox);\r
+\r
+        DebugPortHandle = (UINT64)(UINTN)DebugPortInitialize ((VOID *)(UINTN)Mailbox->DebugPortHandle, NULL);\r
+        UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, DebugPortHandle);\r
+        //\r
+        // Set up IDT entries\r
+        //\r
+        InitializeDebugIdt ();\r
+        //\r
+        // Update IDT entry to save location pointer saved the mailbox pointer\r
+        //\r
+        SetLocationSavedMailboxPointerInIdtEntry (MailboxLocationPointer);\r
+\r
+        FindAndReportModuleImageInfo (4);\r
+      }\r
+\r
+      break;\r
+\r
+    default:\r
+      //\r
+      // Only DEBUG_AGENT_INIT_PREMEM_SEC and DEBUG_AGENT_INIT_POSTMEM_SEC are allowed for this\r
+      // Debug Agent library instance.\r
+      //\r
+      DEBUG ((DEBUG_ERROR, "Debug Agent: The InitFlag value is not allowed!\n"));\r
+      CpuDeadLoop ();\r
+      break;\r
   }\r
 \r
   if (InitFlag == DEBUG_AGENT_INIT_POSTMEM_SEC) {\r
@@ -625,16 +638,18 @@ InitializeDebugAgent (
     //\r
     EnableInterrupts ();\r
   }\r
+\r
   //\r
   // If Function is not NULL, invoke it always whatever debug agent was initialized successfully or not.\r
   //\r
   if (Function != NULL) {\r
     Function (Context);\r
   }\r
+\r
   //\r
   // Set return status for DEBUG_AGENT_INIT_PEI\r
   //\r
-  if (InitFlag == DEBUG_AGENT_INIT_PEI && Context != NULL) {\r
+  if ((InitFlag == DEBUG_AGENT_INIT_PEI) && (Context != NULL)) {\r
     *(EFI_STATUS *)Context = EFI_SUCCESS;\r
   }\r
 }\r
@@ -651,26 +666,27 @@ InitializeDebugAgent (
 VOID\r
 EFIAPI\r
 InitializeDebugAgentPhase2 (\r
-  IN VOID                  *Context,\r
-  IN DEBUG_PORT_HANDLE     DebugPortHandle\r
+  IN VOID               *Context,\r
+  IN DEBUG_PORT_HANDLE  DebugPortHandle\r
   )\r
 {\r
-  DEBUG_AGENT_PHASE2_CONTEXT *Phase2Context;\r
-  UINT64                     *MailboxLocation;\r
-  DEBUG_AGENT_MAILBOX        *Mailbox;\r
-  EFI_SEC_PEI_HAND_OFF       *SecCoreData;\r
-  UINT16                     BufferSize;\r
-  UINT64                     NewDebugPortHandle;\r
-\r
-  Phase2Context = (DEBUG_AGENT_PHASE2_CONTEXT *) Context;\r
+  DEBUG_AGENT_PHASE2_CONTEXT  *Phase2Context;\r
+  UINT64                      *MailboxLocation;\r
+  DEBUG_AGENT_MAILBOX         *Mailbox;\r
+  EFI_SEC_PEI_HAND_OFF        *SecCoreData;\r
+  UINT16                      BufferSize;\r
+  UINT64                      NewDebugPortHandle;\r
+\r
+  Phase2Context   = (DEBUG_AGENT_PHASE2_CONTEXT *)Context;\r
   MailboxLocation = GetLocationSavedMailboxPointerInIdtEntry ();\r
-  Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
-  BufferSize = PcdGet16(PcdDebugPortHandleBufferSize);\r
-  if (Phase2Context->InitFlag == DEBUG_AGENT_INIT_PEI && BufferSize != 0) {\r
+  Mailbox         = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
+  BufferSize      = PcdGet16 (PcdDebugPortHandleBufferSize);\r
+  if ((Phase2Context->InitFlag == DEBUG_AGENT_INIT_PEI) && (BufferSize != 0)) {\r
     NewDebugPortHandle = (UINT64)(UINTN)AllocateCopyPool (BufferSize, DebugPortHandle);\r
   } else {\r
     NewDebugPortHandle = (UINT64)(UINTN)DebugPortHandle;\r
   }\r
+\r
   UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, NewDebugPortHandle);\r
 \r
   //\r
@@ -684,10 +700,11 @@ InitializeDebugAgentPhase2 (
     // host to disable low memory filtering.\r
     //\r
     SecCoreData = (EFI_SEC_PEI_HAND_OFF *)Phase2Context->Context;\r
-    if ((UINTN)SecCoreData->TemporaryRamBase < BASE_128MB && IsHostAttached ()) {\r
+    if (((UINTN)SecCoreData->TemporaryRamBase < BASE_128MB) && IsHostAttached ()) {\r
       SetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY, 1);\r
       TriggerSoftInterrupt (MEMORY_READY_SIGNATURE);\r
     }\r
+\r
     //\r
     // Enable Debug Timer interrupt\r
     //\r
index 5ebc0a4b180feaee9fb451a87879ee647a0044dc..969348843aa8e913ede48680a135350dba8a7267 100644 (file)
@@ -33,8 +33,8 @@ typedef struct {
 VOID\r
 EFIAPI\r
 InitializeDebugAgentPhase2 (\r
-  IN VOID                  *Context,\r
-  IN DEBUG_PORT_HANDLE     DebugPortHandle\r
+  IN VOID               *Context,\r
+  IN DEBUG_PORT_HANDLE  DebugPortHandle\r
   );\r
 \r
 /**\r
@@ -50,10 +50,9 @@ InitializeDebugAgentPhase2 (
 EFI_STATUS\r
 EFIAPI\r
 DebugAgentCallbackMemoryDiscoveredPpi (\r
-  IN EFI_PEI_SERVICES                     **PeiServices,\r
-  IN EFI_PEI_NOTIFY_DESCRIPTOR            *NotifyDescriptor,\r
-  IN VOID                                 *Ppi\r
+  IN EFI_PEI_SERVICES           **PeiServices,\r
+  IN EFI_PEI_NOTIFY_DESCRIPTOR  *NotifyDescriptor,\r
+  IN VOID                       *Ppi\r
   );\r
 \r
 #endif\r
-\r
index 5f0fe05bad08f881ab2f2b5efb1120bc25f4b8bd..f49a592d276292b1f7a9f2f9e240f546099a9467 100644 (file)
@@ -8,19 +8,19 @@
 \r
 #include "SmmDebugAgentLib.h"\r
 \r
-DEBUG_AGENT_MAILBOX         *mMailboxPointer = NULL;\r
-DEBUG_AGENT_MAILBOX         mLocalMailbox;\r
-UINTN                       mSavedDebugRegisters[6];\r
-IA32_IDT_GATE_DESCRIPTOR    mIdtEntryTable[33];\r
-BOOLEAN                     mSkipBreakpoint = FALSE;\r
-BOOLEAN                     mSmmDebugIdtInitFlag = FALSE;\r
-BOOLEAN                     mApicTimerRestore = FALSE;\r
-BOOLEAN                     mPeriodicMode;\r
-UINT32                      mTimerCycle;\r
-UINTN                       mApicTimerDivisor;\r
-UINT8                       mVector;\r
-\r
-CHAR8 mWarningMsgIgnoreSmmEntryBreak[] = "Ignore smmentrybreak setting for SMI issued during DXE debugging!\r\n";\r
+DEBUG_AGENT_MAILBOX       *mMailboxPointer = NULL;\r
+DEBUG_AGENT_MAILBOX       mLocalMailbox;\r
+UINTN                     mSavedDebugRegisters[6];\r
+IA32_IDT_GATE_DESCRIPTOR  mIdtEntryTable[33];\r
+BOOLEAN                   mSkipBreakpoint      = FALSE;\r
+BOOLEAN                   mSmmDebugIdtInitFlag = FALSE;\r
+BOOLEAN                   mApicTimerRestore    = FALSE;\r
+BOOLEAN                   mPeriodicMode;\r
+UINT32                    mTimerCycle;\r
+UINTN                     mApicTimerDivisor;\r
+UINT8                     mVector;\r
+\r
+CHAR8  mWarningMsgIgnoreSmmEntryBreak[] = "Ignore smmentrybreak setting for SMI issued during DXE debugging!\r\n";\r
 \r
 /**\r
   Check if debug agent support multi-processor.\r
@@ -49,8 +49,8 @@ MultiProcessorDebugSupport (
 **/\r
 EFI_STATUS\r
 DebugReadBreakSymbol (\r
-  IN  DEBUG_PORT_HANDLE      Handle,\r
-  OUT UINT8                  *BreakSymbol\r
+  IN  DEBUG_PORT_HANDLE  Handle,\r
+  OUT UINT8              *BreakSymbol\r
   )\r
 {\r
   //\r
@@ -70,16 +70,17 @@ GetMailboxFromHob (
   VOID\r
   )\r
 {\r
-  EFI_HOB_GUID_TYPE        *GuidHob;\r
-  UINT64                   *MailboxLocation;\r
-  DEBUG_AGENT_MAILBOX      *Mailbox;\r
+  EFI_HOB_GUID_TYPE    *GuidHob;\r
+  UINT64               *MailboxLocation;\r
+  DEBUG_AGENT_MAILBOX  *Mailbox;\r
 \r
   GuidHob = GetFirstGuidHob (&gEfiDebugAgentGuid);\r
   if (GuidHob == NULL) {\r
     return NULL;\r
   }\r
-  MailboxLocation = (UINT64 *) (GET_GUID_HOB_DATA(GuidHob));\r
-  Mailbox = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
+\r
+  MailboxLocation = (UINT64 *)(GET_GUID_HOB_DATA (GuidHob));\r
+  Mailbox         = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
   VerifyMailboxChecksum (Mailbox);\r
 \r
   return Mailbox;\r
@@ -111,7 +112,7 @@ GetDebugPortHandle (
   VOID\r
   )\r
 {\r
-  return (DEBUG_PORT_HANDLE) (UINTN)(GetMailboxPointer()->DebugPortHandle);\r
+  return (DEBUG_PORT_HANDLE)(UINTN)(GetMailboxPointer ()->DebugPortHandle);\r
 }\r
 \r
 /**\r
@@ -179,207 +180,218 @@ InitializeDebugAgent (
   IN DEBUG_AGENT_CONTINUE  Function  OPTIONAL\r
   )\r
 {\r
-  EFI_STATUS                    Status;\r
-  UINT64                        DebugPortHandle;\r
-  IA32_IDT_GATE_DESCRIPTOR      IdtEntry[33];\r
-  IA32_DESCRIPTOR               IdtDescriptor;\r
-  IA32_DESCRIPTOR               *Ia32Idtr;\r
-  IA32_IDT_ENTRY                *Ia32IdtEntry;\r
-  IA32_DESCRIPTOR               Idtr;\r
-  UINT16                        IdtEntryCount;\r
-  DEBUG_AGENT_MAILBOX           *Mailbox;\r
-  UINT64                        *MailboxLocation;\r
-  UINT32                        DebugTimerFrequency;\r
+  EFI_STATUS                Status;\r
+  UINT64                    DebugPortHandle;\r
+  IA32_IDT_GATE_DESCRIPTOR  IdtEntry[33];\r
+  IA32_DESCRIPTOR           IdtDescriptor;\r
+  IA32_DESCRIPTOR           *Ia32Idtr;\r
+  IA32_IDT_ENTRY            *Ia32IdtEntry;\r
+  IA32_DESCRIPTOR           Idtr;\r
+  UINT16                    IdtEntryCount;\r
+  DEBUG_AGENT_MAILBOX       *Mailbox;\r
+  UINT64                    *MailboxLocation;\r
+  UINT32                    DebugTimerFrequency;\r
 \r
   switch (InitFlag) {\r
-  case DEBUG_AGENT_INIT_SMM:\r
-    //\r
-    // Install configuration table for persisted vector handoff info\r
-    //\r
-    Status = gSmst->SmmInstallConfigurationTable (\r
-                      gSmst,\r
-                      &gEfiVectorHandoffTableGuid,\r
-                      (VOID *) &mVectorHandoffInfoDebugAgent[0],\r
-                      sizeof (EFI_VECTOR_HANDOFF_INFO) * mVectorHandoffInfoCount\r
-                      );\r
-    if (EFI_ERROR (Status)) {\r
-      DEBUG ((DEBUG_ERROR, "DebugAgent: Cannot install configuration table for persisted vector handoff info!\n"));\r
-      CpuDeadLoop ();\r
-    }\r
-    //\r
-    // Check if Debug Agent initialized in DXE phase\r
-    //\r
-    Status = EfiGetSystemConfigurationTable (&gEfiDebugAgentGuid, (VOID **) &Mailbox);\r
-    if (Status == EFI_SUCCESS && Mailbox != NULL) {\r
-      VerifyMailboxChecksum (Mailbox);\r
-      mMailboxPointer = Mailbox;\r
-      break;\r
-    }\r
-    //\r
-    // Check if Debug Agent initialized in SEC/PEI phase\r
-    //\r
-    Mailbox = GetMailboxFromHob ();\r
-    if (Mailbox != NULL) {\r
-      mMailboxPointer = Mailbox;\r
-      break;\r
-    }\r
-    //\r
-    // Debug Agent was not initialized before, use the local mailbox.\r
-    //\r
-    ZeroMem (&mLocalMailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
-    Mailbox = &mLocalMailbox;\r
-    //\r
-    // Save original IDT entries\r
-    //\r
-    AsmReadIdtr (&IdtDescriptor);\r
-    CopyMem (&IdtEntry, (VOID *)IdtDescriptor.Base, 33 * sizeof(IA32_IDT_GATE_DESCRIPTOR));\r
-    //\r
-    // Initialized Debug Agent\r
-    //\r
-    InitializeDebugIdt ();\r
-    //\r
-    // Initialize Debug Timer hardware and save its frequency\r
-    //\r
-    InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
-    UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
-\r
-    DebugPortHandle = (UINT64) (UINTN)DebugPortInitialize ((DEBUG_PORT_HANDLE) (UINTN)Mailbox->DebugPortHandle, NULL);\r
-    UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, DebugPortHandle);\r
-    mMailboxPointer = Mailbox;\r
-    //\r
-    // Trigger one software interrupt to inform HOST\r
-    //\r
-    TriggerSoftInterrupt (SYSTEM_RESET_SIGNATURE);\r
-\r
-    SetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY, 1);\r
-    //\r
-    // Memory has been ready\r
-    //\r
-    if (IsHostAttached ()) {\r
+    case DEBUG_AGENT_INIT_SMM:\r
       //\r
-      // Trigger one software interrupt to inform HOST\r
+      // Install configuration table for persisted vector handoff info\r
+      //\r
+      Status = gSmst->SmmInstallConfigurationTable (\r
+                        gSmst,\r
+                        &gEfiVectorHandoffTableGuid,\r
+                        (VOID *)&mVectorHandoffInfoDebugAgent[0],\r
+                        sizeof (EFI_VECTOR_HANDOFF_INFO) * mVectorHandoffInfoCount\r
+                        );\r
+      if (EFI_ERROR (Status)) {\r
+        DEBUG ((DEBUG_ERROR, "DebugAgent: Cannot install configuration table for persisted vector handoff info!\n"));\r
+        CpuDeadLoop ();\r
+      }\r
+\r
+      //\r
+      // Check if Debug Agent initialized in DXE phase\r
+      //\r
+      Status = EfiGetSystemConfigurationTable (&gEfiDebugAgentGuid, (VOID **)&Mailbox);\r
+      if ((Status == EFI_SUCCESS) && (Mailbox != NULL)) {\r
+        VerifyMailboxChecksum (Mailbox);\r
+        mMailboxPointer = Mailbox;\r
+        break;\r
+      }\r
+\r
+      //\r
+      // Check if Debug Agent initialized in SEC/PEI phase\r
+      //\r
+      Mailbox = GetMailboxFromHob ();\r
+      if (Mailbox != NULL) {\r
+        mMailboxPointer = Mailbox;\r
+        break;\r
+      }\r
+\r
+      //\r
+      // Debug Agent was not initialized before, use the local mailbox.\r
       //\r
-      TriggerSoftInterrupt (MEMORY_READY_SIGNATURE);\r
-    }\r
-    //\r
-    // Find and report PE/COFF image info to HOST\r
-    //\r
-    FindAndReportModuleImageInfo (SIZE_4KB);\r
-    //\r
-    // Restore saved IDT entries\r
-    //\r
-    CopyMem ((VOID *)IdtDescriptor.Base, &IdtEntry, 33 * sizeof(IA32_IDT_GATE_DESCRIPTOR));\r
-\r
-    break;\r
-\r
-  case DEBUG_AGENT_INIT_ENTER_SMI:\r
-    SaveDebugRegister ();\r
-    if (!mSmmDebugIdtInitFlag) {\r
+      ZeroMem (&mLocalMailbox, sizeof (DEBUG_AGENT_MAILBOX));\r
+      Mailbox = &mLocalMailbox;\r
       //\r
-      // We only need to initialize Debug IDT table at first SMI entry\r
-      // after SMM relocation.\r
+      // Save original IDT entries\r
+      //\r
+      AsmReadIdtr (&IdtDescriptor);\r
+      CopyMem (&IdtEntry, (VOID *)IdtDescriptor.Base, 33 * sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
+      //\r
+      // Initialized Debug Agent\r
       //\r
       InitializeDebugIdt ();\r
-      mSmmDebugIdtInitFlag = TRUE;\r
-    }\r
-    //\r
-    // Check if CPU APIC Timer is working, otherwise initialize it.\r
-    //\r
-    InitializeLocalApicSoftwareEnable (TRUE);\r
-    GetApicTimerState (&mApicTimerDivisor, &mPeriodicMode, &mVector);\r
-    mTimerCycle = GetApicTimerInitCount ();\r
-    if (!mPeriodicMode || mTimerCycle == 0) {\r
-      mApicTimerRestore = TRUE;\r
-      InitializeDebugTimer (NULL, FALSE);\r
-    }\r
-    Mailbox = GetMailboxPointer ();\r
-    if (GetDebugFlag (DEBUG_AGENT_FLAG_AGENT_IN_PROGRESS) == 1) {\r
       //\r
-      // If Debug Agent has been communication state with HOST, we need skip\r
-      // any break points set in SMM, set Skip Breakpoint flag\r
+      // Initialize Debug Timer hardware and save its frequency\r
+      //\r
+      InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
+      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
+\r
+      DebugPortHandle = (UINT64)(UINTN)DebugPortInitialize ((DEBUG_PORT_HANDLE)(UINTN)Mailbox->DebugPortHandle, NULL);\r
+      UpdateMailboxContent (Mailbox, DEBUG_MAILBOX_DEBUG_PORT_HANDLE_INDEX, DebugPortHandle);\r
+      mMailboxPointer = Mailbox;\r
+      //\r
+      // Trigger one software interrupt to inform HOST\r
       //\r
-      mSkipBreakpoint = TRUE;\r
-    }\r
-    if (GetDebugFlag (DEBUG_AGENT_FLAG_BREAK_ON_NEXT_SMI) == 1) {\r
-      if (mSkipBreakpoint) {\r
+      TriggerSoftInterrupt (SYSTEM_RESET_SIGNATURE);\r
+\r
+      SetDebugFlag (DEBUG_AGENT_FLAG_MEMORY_READY, 1);\r
+      //\r
+      // Memory has been ready\r
+      //\r
+      if (IsHostAttached ()) {\r
         //\r
-        // Print warning message if ignore smm entry break\r
+        // Trigger one software interrupt to inform HOST\r
         //\r
-        DebugPortWriteBuffer ((DEBUG_PORT_HANDLE) (UINTN)Mailbox->DebugPortHandle,\r
-                               (UINT8 *)mWarningMsgIgnoreSmmEntryBreak,\r
-                               AsciiStrLen (mWarningMsgIgnoreSmmEntryBreak)\r
-                               );\r
-      } else {\r
+        TriggerSoftInterrupt (MEMORY_READY_SIGNATURE);\r
+      }\r
+\r
+      //\r
+      // Find and report PE/COFF image info to HOST\r
+      //\r
+      FindAndReportModuleImageInfo (SIZE_4KB);\r
+      //\r
+      // Restore saved IDT entries\r
+      //\r
+      CopyMem ((VOID *)IdtDescriptor.Base, &IdtEntry, 33 * sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
+\r
+      break;\r
+\r
+    case DEBUG_AGENT_INIT_ENTER_SMI:\r
+      SaveDebugRegister ();\r
+      if (!mSmmDebugIdtInitFlag) {\r
         //\r
-        // If SMM entry break is set, SMM code will be break at here.\r
+        // We only need to initialize Debug IDT table at first SMI entry\r
+        // after SMM relocation.\r
         //\r
-        CpuBreakpoint ();\r
+        InitializeDebugIdt ();\r
+        mSmmDebugIdtInitFlag = TRUE;\r
       }\r
-    }\r
-    break;\r
-\r
-  case DEBUG_AGENT_INIT_EXIT_SMI:\r
-    Mailbox = GetMailboxPointer ();\r
-    //\r
-    // Clear Skip Breakpoint flag\r
-    //\r
-    mSkipBreakpoint = FALSE;\r
-    RestoreDebugRegister ();\r
-    //\r
-    // Restore APIC Timer\r
-    //\r
-    if (mApicTimerRestore) {\r
-      InitializeApicTimer (mApicTimerDivisor, mTimerCycle, mPeriodicMode, mVector);\r
-      mApicTimerRestore = FALSE;\r
-    }\r
-    break;\r
-\r
-  case DEBUG_AGENT_INIT_THUNK_PEI_IA32TOX64:\r
-    if (Context == NULL) {\r
-      DEBUG ((DEBUG_ERROR, "DebugAgent: Input parameter Context cannot be NULL!\n"));\r
-      CpuDeadLoop ();\r
-    } else {\r
-      Ia32Idtr =  (IA32_DESCRIPTOR *) Context;\r
-      Ia32IdtEntry = (IA32_IDT_ENTRY *)(Ia32Idtr->Base);\r
-      MailboxLocation = (UINT64 *) ((UINTN) Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetLow +\r
-                                   ((UINTN) Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetHigh << 16));\r
-      mMailboxPointer = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
-      VerifyMailboxChecksum (mMailboxPointer);\r
+\r
       //\r
-      // Get original IDT address and size.\r
+      // Check if CPU APIC Timer is working, otherwise initialize it.\r
       //\r
-      AsmReadIdtr ((IA32_DESCRIPTOR *) &Idtr);\r
-      IdtEntryCount = (UINT16) ((Idtr.Limit + 1) / sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
-      if (IdtEntryCount < 33) {\r
-        Idtr.Limit = (UINT16) (sizeof (IA32_IDT_GATE_DESCRIPTOR) * 33 - 1);\r
-        Idtr.Base  = (UINTN) &mIdtEntryTable;\r
-        ZeroMem (&mIdtEntryTable, Idtr.Limit + 1);\r
-        AsmWriteIdtr ((IA32_DESCRIPTOR *) &Idtr);\r
+      InitializeLocalApicSoftwareEnable (TRUE);\r
+      GetApicTimerState (&mApicTimerDivisor, &mPeriodicMode, &mVector);\r
+      mTimerCycle = GetApicTimerInitCount ();\r
+      if (!mPeriodicMode || (mTimerCycle == 0)) {\r
+        mApicTimerRestore = TRUE;\r
+        InitializeDebugTimer (NULL, FALSE);\r
       }\r
 \r
-      InitializeDebugIdt ();\r
+      Mailbox = GetMailboxPointer ();\r
+      if (GetDebugFlag (DEBUG_AGENT_FLAG_AGENT_IN_PROGRESS) == 1) {\r
+        //\r
+        // If Debug Agent has been communication state with HOST, we need skip\r
+        // any break points set in SMM, set Skip Breakpoint flag\r
+        //\r
+        mSkipBreakpoint = TRUE;\r
+      }\r
+\r
+      if (GetDebugFlag (DEBUG_AGENT_FLAG_BREAK_ON_NEXT_SMI) == 1) {\r
+        if (mSkipBreakpoint) {\r
+          //\r
+          // Print warning message if ignore smm entry break\r
+          //\r
+          DebugPortWriteBuffer (\r
+            (DEBUG_PORT_HANDLE)(UINTN)Mailbox->DebugPortHandle,\r
+            (UINT8 *)mWarningMsgIgnoreSmmEntryBreak,\r
+            AsciiStrLen (mWarningMsgIgnoreSmmEntryBreak)\r
+            );\r
+        } else {\r
+          //\r
+          // If SMM entry break is set, SMM code will be break at here.\r
+          //\r
+          CpuBreakpoint ();\r
+        }\r
+      }\r
+\r
+      break;\r
+\r
+    case DEBUG_AGENT_INIT_EXIT_SMI:\r
+      Mailbox = GetMailboxPointer ();\r
       //\r
-      // Initialize Debug Timer hardware and save its frequency\r
+      // Clear Skip Breakpoint flag\r
       //\r
-      InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
-      UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
+      mSkipBreakpoint = FALSE;\r
+      RestoreDebugRegister ();\r
       //\r
-      // Enable Debug Timer interrupt and CPU interrupt\r
+      // Restore APIC Timer\r
       //\r
-      SaveAndSetDebugTimerInterrupt (TRUE);\r
-      EnableInterrupts ();\r
+      if (mApicTimerRestore) {\r
+        InitializeApicTimer (mApicTimerDivisor, mTimerCycle, mPeriodicMode, mVector);\r
+        mApicTimerRestore = FALSE;\r
+      }\r
 \r
-      FindAndReportModuleImageInfo (SIZE_4KB);\r
-    }\r
-    break;\r
-\r
-  default:\r
-    //\r
-    // Only DEBUG_AGENT_INIT_PREMEM_SEC and DEBUG_AGENT_INIT_POSTMEM_SEC are allowed for this\r
-    // Debug Agent library instance.\r
-    //\r
-    DEBUG ((DEBUG_ERROR, "Debug Agent: The InitFlag value is not allowed!\n"));\r
-    CpuDeadLoop ();\r
-    break;\r
+      break;\r
+\r
+    case DEBUG_AGENT_INIT_THUNK_PEI_IA32TOX64:\r
+      if (Context == NULL) {\r
+        DEBUG ((DEBUG_ERROR, "DebugAgent: Input parameter Context cannot be NULL!\n"));\r
+        CpuDeadLoop ();\r
+      } else {\r
+        Ia32Idtr        =  (IA32_DESCRIPTOR *)Context;\r
+        Ia32IdtEntry    = (IA32_IDT_ENTRY *)(Ia32Idtr->Base);\r
+        MailboxLocation = (UINT64 *)((UINTN)Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetLow +\r
+                                     ((UINTN)Ia32IdtEntry[DEBUG_MAILBOX_VECTOR].Bits.OffsetHigh << 16));\r
+        mMailboxPointer = (DEBUG_AGENT_MAILBOX *)(UINTN)(*MailboxLocation);\r
+        VerifyMailboxChecksum (mMailboxPointer);\r
+        //\r
+        // Get original IDT address and size.\r
+        //\r
+        AsmReadIdtr ((IA32_DESCRIPTOR *)&Idtr);\r
+        IdtEntryCount = (UINT16)((Idtr.Limit + 1) / sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
+        if (IdtEntryCount < 33) {\r
+          Idtr.Limit = (UINT16)(sizeof (IA32_IDT_GATE_DESCRIPTOR) * 33 - 1);\r
+          Idtr.Base  = (UINTN)&mIdtEntryTable;\r
+          ZeroMem (&mIdtEntryTable, Idtr.Limit + 1);\r
+          AsmWriteIdtr ((IA32_DESCRIPTOR *)&Idtr);\r
+        }\r
+\r
+        InitializeDebugIdt ();\r
+        //\r
+        // Initialize Debug Timer hardware and save its frequency\r
+        //\r
+        InitializeDebugTimer (&DebugTimerFrequency, TRUE);\r
+        UpdateMailboxContent (mMailboxPointer, DEBUG_MAILBOX_DEBUG_TIMER_FREQUENCY, DebugTimerFrequency);\r
+        //\r
+        // Enable Debug Timer interrupt and CPU interrupt\r
+        //\r
+        SaveAndSetDebugTimerInterrupt (TRUE);\r
+        EnableInterrupts ();\r
+\r
+        FindAndReportModuleImageInfo (SIZE_4KB);\r
+      }\r
+\r
+      break;\r
+\r
+    default:\r
+      //\r
+      // Only DEBUG_AGENT_INIT_PREMEM_SEC and DEBUG_AGENT_INIT_POSTMEM_SEC are allowed for this\r
+      // Debug Agent library instance.\r
+      //\r
+      DEBUG ((DEBUG_ERROR, "Debug Agent: The InitFlag value is not allowed!\n"));\r
+      CpuDeadLoop ();\r
+      break;\r
   }\r
 }\r
index 2b85559aef6f2f387b15e3f4af278a66fe9cc6cb..34c269e6b5273927511cd51704371c7b946c2cca 100644 (file)
@@ -55,10 +55,10 @@ DebugPortInitialize (
   IN DEBUG_PORT_CONTINUE  Function\r
   )\r
 {\r
-  RETURN_STATUS      Status;\r
+  RETURN_STATUS  Status;\r
 \r
   Status = SerialPortInitialize ();\r
-  if (RETURN_ERROR(Status)) {\r
+  if (RETURN_ERROR (Status)) {\r
     DEBUG ((DEBUG_ERROR, "Debug Serial Port: Initialization failed!\n"));\r
   }\r
 \r
@@ -89,13 +89,13 @@ DebugPortInitialize (
 UINTN\r
 EFIAPI\r
 DebugPortReadBuffer (\r
-  IN DEBUG_PORT_HANDLE     Handle,\r
-  IN UINT8                 *Buffer,\r
-  IN UINTN                 NumberOfBytes,\r
-  IN UINTN                 Timeout\r
+  IN DEBUG_PORT_HANDLE  Handle,\r
+  IN UINT8              *Buffer,\r
+  IN UINTN              NumberOfBytes,\r
+  IN UINTN              Timeout\r
   )\r
 {\r
-  if (NumberOfBytes != 1 || Buffer == NULL || Timeout != 0) {\r
+  if ((NumberOfBytes != 1) || (Buffer == NULL) || (Timeout != 0)) {\r
     return 0;\r
   }\r
 \r
@@ -122,9 +122,9 @@ DebugPortReadBuffer (
 UINTN\r
 EFIAPI\r
 DebugPortWriteBuffer (\r
-  IN DEBUG_PORT_HANDLE     Handle,\r
-  IN UINT8                 *Buffer,\r
-  IN UINTN                 NumberOfBytes\r
+  IN DEBUG_PORT_HANDLE  Handle,\r
+  IN UINT8              *Buffer,\r
+  IN UINTN              NumberOfBytes\r
   )\r
 {\r
   return SerialPortWrite (Buffer, NumberOfBytes);\r
@@ -146,7 +146,7 @@ DebugPortWriteBuffer (
 BOOLEAN\r
 EFIAPI\r
 DebugPortPollBuffer (\r
-  IN DEBUG_PORT_HANDLE     Handle\r
+  IN DEBUG_PORT_HANDLE  Handle\r
   )\r
 {\r
   return SerialPortPoll ();\r
index cc156baaa02017d2345b01861c877ccb0005daa0..479757f5bae2e6efd10a1716e1c154c366f407d9 100644 (file)
 #include <Library/BaseLib.h>\r
 #include <Library/DebugLib.h>\r
 \r
-#define SETUP_PID            0x2D\r
-#define INPUT_PID            0x69\r
-#define OUTPUT_PID           0xE1\r
-#define ERROR_PID            0x55\r
-#define DATA0_PID            0xC3\r
-#define DATA1_PID            0x4B\r
-#define DATA2_PID            0x87\r
-#define MDATA_PID            0x0F\r
-#define ACK_PID              0xD2\r
-#define NAK_PID              0x5A\r
-#define STALL_PID            0x1E\r
-#define NYET_PID             0x96\r
-\r
-#define PCI_CAPABILITY_ID_DEBUG_PORT   0x0A\r
-#define USB_DEBUG_PORT_MAX_PACKET_SIZE 0x08\r
-\r
-#define USB_DEBUG_PORT_IN_USE     BIT10\r
-#define USB_DEBUG_PORT_ENABLE     BIT28\r
-#define USB_DEBUG_PORT_OWNER      BIT30\r
-\r
-#define USB_PORT_LINE_STATUS_LS   0x400\r
-#define USB_PORT_LINE_STATUS_MASK 0xC00\r
+#define SETUP_PID   0x2D\r
+#define INPUT_PID   0x69\r
+#define OUTPUT_PID  0xE1\r
+#define ERROR_PID   0x55\r
+#define DATA0_PID   0xC3\r
+#define DATA1_PID   0x4B\r
+#define DATA2_PID   0x87\r
+#define MDATA_PID   0x0F\r
+#define ACK_PID     0xD2\r
+#define NAK_PID     0x5A\r
+#define STALL_PID   0x1E\r
+#define NYET_PID    0x96\r
+\r
+#define PCI_CAPABILITY_ID_DEBUG_PORT    0x0A\r
+#define USB_DEBUG_PORT_MAX_PACKET_SIZE  0x08\r
+\r
+#define USB_DEBUG_PORT_IN_USE  BIT10\r
+#define USB_DEBUG_PORT_ENABLE  BIT28\r
+#define USB_DEBUG_PORT_OWNER   BIT30\r
+\r
+#define USB_PORT_LINE_STATUS_LS    0x400\r
+#define USB_PORT_LINE_STATUS_MASK  0xC00\r
 \r
 //\r
 // Usb debug device descriptor, which is defined at\r
 // USB2 Debug Device Specification.\r
 //\r
 typedef struct _USB_DEBUG_PORT_DESCRIPTOR {\r
-  UINT8          Length;\r
-  UINT8          DescriptorType;\r
-  UINT8          DebugInEndpoint;\r
-  UINT8          DebugOutEndpoint;\r
-}USB_DEBUG_PORT_DESCRIPTOR;\r
+  UINT8    Length;\r
+  UINT8    DescriptorType;\r
+  UINT8    DebugInEndpoint;\r
+  UINT8    DebugOutEndpoint;\r
+} USB_DEBUG_PORT_DESCRIPTOR;\r
 \r
-USB_DEVICE_REQUEST mDebugCommunicationLibUsbGetDebugDescriptor = {\r
+USB_DEVICE_REQUEST  mDebugCommunicationLibUsbGetDebugDescriptor = {\r
   0x80,\r
   USB_REQ_GET_DESCRIPTOR,\r
   (UINT16)(0x0A << 8),\r
   0x0000,\r
-  sizeof(USB_DEBUG_PORT_DESCRIPTOR)\r
-  };\r
+  sizeof (USB_DEBUG_PORT_DESCRIPTOR)\r
+};\r
 \r
-USB_DEVICE_REQUEST mDebugCommunicationLibUsbSetDebugFeature = {\r
+USB_DEVICE_REQUEST  mDebugCommunicationLibUsbSetDebugFeature = {\r
   0x0,\r
   USB_REQ_SET_FEATURE,\r
   (UINT16)(0x06),\r
   0x0000,\r
   0x0\r
-  };\r
+};\r
 \r
-USB_DEVICE_REQUEST mDebugCommunicationLibUsbSetDebugAddress = {\r
+USB_DEVICE_REQUEST  mDebugCommunicationLibUsbSetDebugAddress = {\r
   0x0,\r
   USB_REQ_SET_ADDRESS,\r
   (UINT16)(0x7F),\r
   0x0000,\r
   0x0\r
-  };\r
+};\r
 \r
 //\r
 // Usb debug port register file, which is defined at\r
 // EHCI Specification.\r
 //\r
 typedef struct _USB_DEBUG_PORT_REGISTER {\r
-  UINT32         ControlStatus;\r
-  UINT8          TokenPid;\r
-  UINT8          SendPid;\r
-  UINT8          ReceivedPid;\r
-  UINT8          Reserved1;\r
-  UINT8          DataBuffer[8];\r
-  UINT8          UsbEndPoint;\r
-  UINT8          UsbAddress;\r
-  UINT8          Reserved2;\r
-  UINT8          Reserved3;\r
-}USB_DEBUG_PORT_REGISTER;\r
+  UINT32    ControlStatus;\r
+  UINT8     TokenPid;\r
+  UINT8     SendPid;\r
+  UINT8     ReceivedPid;\r
+  UINT8     Reserved1;\r
+  UINT8     DataBuffer[8];\r
+  UINT8     UsbEndPoint;\r
+  UINT8     UsbAddress;\r
+  UINT8     Reserved2;\r
+  UINT8     Reserved3;\r
+} USB_DEBUG_PORT_REGISTER;\r
 \r
 //\r
 // The state machine of usb debug port\r
 //\r
-#define USBDBG_NO_DEV        0   // No device present at debug port\r
-#define USBDBG_NO_DBG_CAB    1   // The device attached is not usb debug cable\r
-#define USBDBG_DBG_CAB       2   // The device attached is usb debug cable\r
-#define USBDBG_INIT_DONE     4   // The usb debug cable device is initialized\r
-#define USBDBG_RESET         8   // The system is reset\r
+#define USBDBG_NO_DEV      0     // No device present at debug port\r
+#define USBDBG_NO_DBG_CAB  1     // The device attached is not usb debug cable\r
+#define USBDBG_DBG_CAB     2     // The device attached is usb debug cable\r
+#define USBDBG_INIT_DONE   4     // The usb debug cable device is initialized\r
+#define USBDBG_RESET       8     // The system is reset\r
 \r
 #pragma pack(1)\r
 //\r
 // The internal data structure of DEBUG_PORT_HANDLE, which stores some\r
 // important datum which are used across various phases.\r
 //\r
-typedef struct _USB_DEBUG_PORT_HANDLE{\r
+typedef struct _USB_DEBUG_PORT_HANDLE {\r
   //\r
   // The usb debug port memory BAR number in EHCI configuration space.\r
   //\r
-  UINT8        DebugPortBarNumber;\r
-  UINT8        Initialized;\r
+  UINT8     DebugPortBarNumber;\r
+  UINT8     Initialized;\r
   //\r
   // The offset of usb debug port registers in EHCI memory range.\r
   //\r
-  UINT16       DebugPortOffset;\r
+  UINT16    DebugPortOffset;\r
   //\r
   // The usb debug port memory BAR address.\r
   //\r
-  UINT32       UsbDebugPortMemoryBase;\r
+  UINT32    UsbDebugPortMemoryBase;\r
   //\r
   // The EHCI memory BAR address.\r
   //\r
-  UINT32       EhciMemoryBase;\r
+  UINT32    EhciMemoryBase;\r
   //\r
   // The usb debug device In endpoint.\r
   //\r
-  UINT8        InEndpoint;\r
+  UINT8     InEndpoint;\r
   //\r
   // The usb debug device Out endpoint.\r
   //\r
-  UINT8        OutEndpoint;\r
+  UINT8     OutEndpoint;\r
   //\r
   // The Bulk In endpoint toggle bit.\r
   //\r
-  UINT8        BulkInToggle;\r
+  UINT8     BulkInToggle;\r
   //\r
   // The Bulk Out endpoint toggle bit.\r
   //\r
-  UINT8        BulkOutToggle;\r
+  UINT8     BulkOutToggle;\r
   //\r
   // The available data length in the following data buffer.\r
   //\r
-  UINT8        DataCount;\r
+  UINT8     DataCount;\r
   //\r
   // The data buffer. Maximum length is 8 bytes.\r
   //\r
-  UINT8        Data[8];\r
+  UINT8     Data[8];\r
 } USB_DEBUG_PORT_HANDLE;\r
 #pragma pack()\r
 \r
 //\r
 // The global variable which can be used after memory is ready.\r
 //\r
-USB_DEBUG_PORT_HANDLE     mDebugCommunicationLibUsbDebugPortHandle;\r
+USB_DEBUG_PORT_HANDLE  mDebugCommunicationLibUsbDebugPortHandle;\r
 \r
 /**\r
   Calculate the usb debug port bar address.\r
@@ -170,29 +170,29 @@ USB_DEBUG_PORT_HANDLE     mDebugCommunicationLibUsbDebugPortHandle;
 RETURN_STATUS\r
 EFIAPI\r
 CalculateUsbDebugPortBar (\r
-  OUT UINT16     *DebugPortOffset,\r
-  OUT UINT8      *DebugPortBarNumbar\r
- )\r
+  OUT UINT16  *DebugPortOffset,\r
+  OUT UINT8   *DebugPortBarNumbar\r
 )\r
 {\r
-  UINT16     PciStatus;\r
-  UINT16     VendorId;\r
-  UINT16     DeviceId;\r
-  UINT8      ProgInterface;\r
-  UINT8      SubClassCode;\r
-  UINT8      BaseCode;\r
-  UINT8      CapabilityPtr;\r
-  UINT8      CapabilityId;\r
-\r
-  VendorId = PciRead16 (PcdGet32(PcdUsbEhciPciAddress) + PCI_VENDOR_ID_OFFSET);\r
-  DeviceId = PciRead16 (PcdGet32(PcdUsbEhciPciAddress) + PCI_DEVICE_ID_OFFSET);\r
+  UINT16  PciStatus;\r
+  UINT16  VendorId;\r
+  UINT16  DeviceId;\r
+  UINT8   ProgInterface;\r
+  UINT8   SubClassCode;\r
+  UINT8   BaseCode;\r
+  UINT8   CapabilityPtr;\r
+  UINT8   CapabilityId;\r
+\r
+  VendorId = PciRead16 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_VENDOR_ID_OFFSET);\r
+  DeviceId = PciRead16 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_DEVICE_ID_OFFSET);\r
 \r
   if ((VendorId == 0xFFFF) || (DeviceId == 0xFFFF)) {\r
     return RETURN_UNSUPPORTED;\r
   }\r
 \r
-  ProgInterface = PciRead8 (PcdGet32(PcdUsbEhciPciAddress) + PCI_CLASSCODE_OFFSET);\r
-  SubClassCode  = PciRead8 (PcdGet32(PcdUsbEhciPciAddress) + PCI_CLASSCODE_OFFSET + 1);\r
-  BaseCode      = PciRead8 (PcdGet32(PcdUsbEhciPciAddress) + PCI_CLASSCODE_OFFSET + 2);\r
+  ProgInterface = PciRead8 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_CLASSCODE_OFFSET);\r
+  SubClassCode  = PciRead8 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_CLASSCODE_OFFSET + 1);\r
+  BaseCode      = PciRead8 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_CLASSCODE_OFFSET + 2);\r
 \r
   if ((ProgInterface != PCI_IF_EHCI) || (SubClassCode != PCI_CLASS_SERIAL_USB) || (BaseCode != PCI_CLASS_SERIAL)) {\r
     return RETURN_UNSUPPORTED;\r
@@ -201,7 +201,7 @@ CalculateUsbDebugPortBar (
   //\r
   // Enable Ehci Host Controller MMIO Space.\r
   //\r
-  PciStatus = PciRead16 (PcdGet32(PcdUsbEhciPciAddress) + PCI_PRIMARY_STATUS_OFFSET);\r
+  PciStatus = PciRead16 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_PRIMARY_STATUS_OFFSET);\r
 \r
   if ((PciStatus & EFI_PCI_STATUS_CAPABILITY) == 0) {\r
     //\r
@@ -213,17 +213,18 @@ CalculateUsbDebugPortBar (
   //\r
   // Get Pointer To Capability List\r
   //\r
-  CapabilityPtr = PciRead8(PcdGet32(PcdUsbEhciPciAddress) + PCI_CAPBILITY_POINTER_OFFSET);\r
+  CapabilityPtr = PciRead8 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_CAPBILITY_POINTER_OFFSET);\r
 \r
   //\r
   // Find Capability ID 0xA, Which Is For Debug Port\r
   //\r
   while (CapabilityPtr != 0) {\r
-    CapabilityId = PciRead8(PcdGet32(PcdUsbEhciPciAddress) + CapabilityPtr);\r
+    CapabilityId = PciRead8 (PcdGet32 (PcdUsbEhciPciAddress) + CapabilityPtr);\r
     if (CapabilityId == PCI_CAPABILITY_ID_DEBUG_PORT) {\r
       break;\r
     }\r
-    CapabilityPtr = PciRead8(PcdGet32(PcdUsbEhciPciAddress) + CapabilityPtr + 1);\r
+\r
+    CapabilityPtr = PciRead8 (PcdGet32 (PcdUsbEhciPciAddress) + CapabilityPtr + 1);\r
   }\r
 \r
   //\r
@@ -236,8 +237,8 @@ CalculateUsbDebugPortBar (
   //\r
   // Get The Base Address Of Debug Port Register In Debug Port Capability Register\r
   //\r
-  *DebugPortOffset    = (UINT16)(PciRead16(PcdGet32(PcdUsbEhciPciAddress) + CapabilityPtr + 2) & 0x1FFF);\r
-  *DebugPortBarNumbar = (UINT8)((PciRead16(PcdGet32(PcdUsbEhciPciAddress) + CapabilityPtr + 2) >> 13) - 1);\r
+  *DebugPortOffset    = (UINT16)(PciRead16 (PcdGet32 (PcdUsbEhciPciAddress) + CapabilityPtr + 2) & 0x1FFF);\r
+  *DebugPortBarNumbar = (UINT8)((PciRead16 (PcdGet32 (PcdUsbEhciPciAddress) + CapabilityPtr + 2) >> 13) - 1);\r
 \r
   return RETURN_SUCCESS;\r
 }\r
@@ -261,20 +262,21 @@ CalculateUsbDebugPortBar (
 RETURN_STATUS\r
 EFIAPI\r
 UsbDebugPortIn (\r
-  IN      USB_DEBUG_PORT_REGISTER         *DebugPortRegister,\r
-  IN  OUT UINT8                           *Buffer,\r
-      OUT UINT8                           *Length,\r
-  IN      UINT8                           Token,\r
-  IN      UINT8                           Addr,\r
-  IN      UINT8                           Ep,\r
-  IN      UINT8                           DataToggle\r
+  IN      USB_DEBUG_PORT_REGISTER  *DebugPortRegister,\r
+  IN  OUT UINT8                    *Buffer,\r
+  OUT UINT8                        *Length,\r
+  IN      UINT8                    Token,\r
+  IN      UINT8                    Addr,\r
+  IN      UINT8                    Ep,\r
+  IN      UINT8                    DataToggle\r
   )\r
 {\r
-  UINTN                   Index;\r
+  UINTN  Index;\r
 \r
   if (Length == NULL) {\r
     return RETURN_INVALID_PARAMETER;\r
   }\r
+\r
   *Length = 0;\r
 \r
   DebugPortRegister->TokenPid = Token;\r
@@ -290,19 +292,20 @@ UsbDebugPortIn (
   //\r
   // Clearing W/R bit to indicate it's a READ operation\r
   //\r
-  MmioAnd32((UINTN)&DebugPortRegister->ControlStatus, (UINT32)~BIT4);\r
+  MmioAnd32 ((UINTN)&DebugPortRegister->ControlStatus, (UINT32) ~BIT4);\r
 \r
   //\r
   // Setting GO bit as well as clearing DONE bit\r
   //\r
-  MmioOr32((UINTN)&DebugPortRegister->ControlStatus, (UINT32)BIT5);\r
+  MmioOr32 ((UINTN)&DebugPortRegister->ControlStatus, (UINT32)BIT5);\r
 \r
   //\r
   // Wait for completing the request\r
   //\r
-  while ((MmioRead32((UINTN)&DebugPortRegister->ControlStatus) & (UINT32)BIT16) == 0) {\r
-    if ((MmioRead32((UINTN)&DebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
-       != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE)) {\r
+  while ((MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus) & (UINT32)BIT16) == 0) {\r
+    if ((MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
+        != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
+    {\r
       return RETURN_DEVICE_ERROR;\r
     }\r
   }\r
@@ -310,23 +313,23 @@ UsbDebugPortIn (
   //\r
   // Clearing DONE bit by writing 1\r
   //\r
-  MmioOr32((UINTN)&DebugPortRegister->ControlStatus, BIT16);\r
+  MmioOr32 ((UINTN)&DebugPortRegister->ControlStatus, BIT16);\r
 \r
   //\r
   // Check if the request is executed successfully or not.\r
   //\r
-  if ((MmioRead32((UINTN)&DebugPortRegister->ControlStatus)) & BIT6) {\r
+  if ((MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus)) & BIT6) {\r
     return RETURN_DEVICE_ERROR;\r
   }\r
 \r
   //\r
   // Make sure the received data are not beyond the allowable maximum length - 8 byte\r
   //\r
-  if (((MmioRead32((UINTN)&DebugPortRegister->ControlStatus)) & 0xF) > USB_DEBUG_PORT_MAX_PACKET_SIZE) {\r
+  if (((MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus)) & 0xF) > USB_DEBUG_PORT_MAX_PACKET_SIZE) {\r
     return RETURN_DEVICE_ERROR;\r
   }\r
 \r
-  *Length = (UINT8)(MmioRead32((UINTN)&DebugPortRegister->ControlStatus) & 0xF);\r
+  *Length = (UINT8)(MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus) & 0xF);\r
   if (*Length > 8) {\r
     return RETURN_DEVICE_ERROR;\r
   }\r
@@ -334,6 +337,7 @@ UsbDebugPortIn (
   for (Index = 0; Index < *Length; Index++) {\r
     Buffer[Index] = DebugPortRegister->DataBuffer[Index];\r
   }\r
+\r
   return RETURN_SUCCESS;\r
 }\r
 \r
@@ -356,16 +360,16 @@ UsbDebugPortIn (
 RETURN_STATUS\r
 EFIAPI\r
 UsbDebugPortOut (\r
-  IN  USB_DEBUG_PORT_REGISTER         *DebugPortRegister,\r
-  IN  UINT8                           *Buffer,\r
-  IN  UINT8                           Length,\r
-  IN  UINT8                           Token,\r
-  IN  UINT8                           Addr,\r
-  IN  UINT8                           Ep,\r
-  IN  UINT8                           DataToggle\r
+  IN  USB_DEBUG_PORT_REGISTER  *DebugPortRegister,\r
+  IN  UINT8                    *Buffer,\r
+  IN  UINT8                    Length,\r
+  IN  UINT8                    Token,\r
+  IN  UINT8                    Addr,\r
+  IN  UINT8                    Ep,\r
+  IN  UINT8                    DataToggle\r
   )\r
 {\r
-  UINT8             Index;\r
+  UINT8  Index;\r
 \r
   if (Length > 8) {\r
     return RETURN_INVALID_PARAMETER;\r
@@ -377,14 +381,15 @@ UsbDebugPortOut (
   } else {\r
     DebugPortRegister->SendPid = DATA0_PID;\r
   }\r
+\r
   DebugPortRegister->UsbAddress  = (UINT8)(Addr & 0x7F);\r
   DebugPortRegister->UsbEndPoint = (UINT8)(Ep & 0xF);\r
 \r
   //\r
   // Fill in the data length and corresponding data.\r
   //\r
-  MmioAnd32((UINTN)&DebugPortRegister->ControlStatus, (UINT32)~0xF);\r
-  MmioOr32((UINTN)&DebugPortRegister->ControlStatus, Length & 0xF);\r
+  MmioAnd32 ((UINTN)&DebugPortRegister->ControlStatus, (UINT32) ~0xF);\r
+  MmioOr32 ((UINTN)&DebugPortRegister->ControlStatus, Length & 0xF);\r
   for (Index = 0; Index < Length; Index++) {\r
     DebugPortRegister->DataBuffer[Index] = Buffer[Index];\r
   }\r
@@ -392,18 +397,19 @@ UsbDebugPortOut (
   //\r
   // Setting W/R bit to indicate it's a WRITE operation\r
   //\r
-  MmioOr32((UINTN)&DebugPortRegister->ControlStatus, BIT4);\r
+  MmioOr32 ((UINTN)&DebugPortRegister->ControlStatus, BIT4);\r
   //\r
   // Setting GO bit as well as clearing DONE bit\r
   //\r
-  MmioOr32((UINTN)&DebugPortRegister->ControlStatus, BIT5);\r
+  MmioOr32 ((UINTN)&DebugPortRegister->ControlStatus, BIT5);\r
 \r
   //\r
   // Wait for completing the request\r
   //\r
-  while ((MmioRead32((UINTN)&DebugPortRegister->ControlStatus) & BIT16) == 0) {\r
-    if ((MmioRead32((UINTN)&DebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
-       != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE)) {\r
+  while ((MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus) & BIT16) == 0) {\r
+    if ((MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
+        != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
+    {\r
       return RETURN_DEVICE_ERROR;\r
     }\r
   }\r
@@ -411,19 +417,19 @@ UsbDebugPortOut (
   //\r
   // Clearing DONE bit by writing 1\r
   //\r
-  MmioOr32((UINTN)&DebugPortRegister->ControlStatus, BIT16);\r
+  MmioOr32 ((UINTN)&DebugPortRegister->ControlStatus, BIT16);\r
 \r
   //\r
   // Check if the request is executed successfully or not.\r
   //\r
-  if ((MmioRead32((UINTN)&DebugPortRegister->ControlStatus)) & BIT6) {\r
+  if ((MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus)) & BIT6) {\r
     return RETURN_DEVICE_ERROR;\r
   }\r
 \r
   //\r
   // Make sure the sent data are not beyond the allowable maximum length - 8 byte\r
   //\r
-  if (((MmioRead32((UINTN)&DebugPortRegister->ControlStatus)) & 0xF) > USB_DEBUG_PORT_MAX_PACKET_SIZE) {\r
+  if (((MmioRead32 ((UINTN)&DebugPortRegister->ControlStatus)) & 0xF) > USB_DEBUG_PORT_MAX_PACKET_SIZE) {\r
     return RETURN_DEVICE_ERROR;\r
   }\r
 \r
@@ -448,23 +454,23 @@ UsbDebugPortOut (
 RETURN_STATUS\r
 EFIAPI\r
 UsbDebugPortControlTransfer (\r
-  IN      USB_DEBUG_PORT_REGISTER         *DebugPortRegister,\r
-  IN      USB_DEVICE_REQUEST              *SetupPacket,\r
-  IN      UINT8                           Addr,\r
-  IN      UINT8                           Ep,\r
-      OUT UINT8                           *Data,\r
-  IN  OUT UINT8                           *DataLength\r
+  IN      USB_DEBUG_PORT_REGISTER  *DebugPortRegister,\r
+  IN      USB_DEVICE_REQUEST       *SetupPacket,\r
+  IN      UINT8                    Addr,\r
+  IN      UINT8                    Ep,\r
+  OUT UINT8                        *Data,\r
+  IN  OUT UINT8                    *DataLength\r
   )\r
 {\r
-  RETURN_STATUS          Status;\r
-  UINT8                  Temp;\r
-  UINT8                  ReturnStatus[8];\r
+  RETURN_STATUS  Status;\r
+  UINT8          Temp;\r
+  UINT8          ReturnStatus[8];\r
 \r
   //\r
   // Setup Phase\r
   //\r
-  Status = UsbDebugPortOut(DebugPortRegister, (UINT8 *)SetupPacket, (UINT8)sizeof(USB_DEVICE_REQUEST), SETUP_PID, Addr, Ep, 0);\r
-  if (RETURN_ERROR(Status)) {\r
+  Status = UsbDebugPortOut (DebugPortRegister, (UINT8 *)SetupPacket, (UINT8)sizeof (USB_DEVICE_REQUEST), SETUP_PID, Addr, Ep, 0);\r
+  if (RETURN_ERROR (Status)) {\r
     return Status;\r
   }\r
 \r
@@ -476,16 +482,16 @@ UsbDebugPortControlTransfer (
       //\r
       // Get Data From Device\r
       //\r
-      Status = UsbDebugPortIn(DebugPortRegister, Data, DataLength, INPUT_PID, Addr, Ep, 1);\r
-      if (RETURN_ERROR(Status)) {\r
+      Status = UsbDebugPortIn (DebugPortRegister, Data, DataLength, INPUT_PID, Addr, Ep, 1);\r
+      if (RETURN_ERROR (Status)) {\r
         return Status;\r
       }\r
     } else {\r
       //\r
       // Send Data To Device\r
       //\r
-      Status = UsbDebugPortOut(DebugPortRegister, Data, *DataLength, OUTPUT_PID, Addr, Ep, 1);\r
-      if (RETURN_ERROR(Status)) {\r
+      Status = UsbDebugPortOut (DebugPortRegister, Data, *DataLength, OUTPUT_PID, Addr, Ep, 1);\r
+      if (RETURN_ERROR (Status)) {\r
         return Status;\r
       }\r
     }\r
@@ -498,12 +504,12 @@ UsbDebugPortControlTransfer (
     //\r
     // For READ operation, Data Toggle in Status Phase Should be 1.\r
     //\r
-    Status = UsbDebugPortOut(DebugPortRegister, NULL, 0, OUTPUT_PID, Addr, Ep, 1);\r
+    Status = UsbDebugPortOut (DebugPortRegister, NULL, 0, OUTPUT_PID, Addr, Ep, 1);\r
   } else {\r
     //\r
     // For WRITE operation, Data Toggle in Status Phase Should be 1.\r
     //\r
-    Status = UsbDebugPortIn(DebugPortRegister, ReturnStatus, &Temp, INPUT_PID, Addr, Ep, 1);\r
+    Status = UsbDebugPortIn (DebugPortRegister, ReturnStatus, &Temp, INPUT_PID, Addr, Ep, 1);\r
   }\r
 \r
   return Status;\r
@@ -524,37 +530,37 @@ UsbDebugPortControlTransfer (
 **/\r
 BOOLEAN\r
 EFIAPI\r
-NeedReinitializeHardware(\r
-  IN USB_DEBUG_PORT_HANDLE *Handle\r
+NeedReinitializeHardware (\r
+  IN USB_DEBUG_PORT_HANDLE  *Handle\r
   )\r
 {\r
-  UINT16                  PciCmd;\r
-  UINT32                  UsbDebugPortMemoryBase;\r
-  UINT32                  EhciMemoryBase;\r
-  BOOLEAN                 Status;\r
-  USB_DEBUG_PORT_REGISTER *UsbDebugPortRegister;\r
+  UINT16                   PciCmd;\r
+  UINT32                   UsbDebugPortMemoryBase;\r
+  UINT32                   EhciMemoryBase;\r
+  BOOLEAN                  Status;\r
+  USB_DEBUG_PORT_REGISTER  *UsbDebugPortRegister;\r
 \r
   Status = FALSE;\r
 \r
-  EhciMemoryBase = 0xFFFFFC00 & PciRead32(PcdGet32(PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET);\r
+  EhciMemoryBase = 0xFFFFFC00 & PciRead32 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET);\r
   if (EhciMemoryBase != Handle->EhciMemoryBase) {\r
     Handle->EhciMemoryBase = EhciMemoryBase;\r
-    Status = TRUE;\r
+    Status                 = TRUE;\r
   }\r
 \r
-  UsbDebugPortMemoryBase = 0xFFFFFC00 & PciRead32(PcdGet32(PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + Handle->DebugPortBarNumber * 4);\r
+  UsbDebugPortMemoryBase = 0xFFFFFC00 & PciRead32 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + Handle->DebugPortBarNumber * 4);\r
   if (UsbDebugPortMemoryBase != Handle->UsbDebugPortMemoryBase) {\r
     Handle->UsbDebugPortMemoryBase = UsbDebugPortMemoryBase;\r
-    Status = TRUE;\r
+    Status                         = TRUE;\r
   }\r
 \r
   //\r
   // Enable Ehci Memory Space Access\r
   //\r
-  PciCmd    = PciRead16 (PcdGet32(PcdUsbEhciPciAddress) + PCI_COMMAND_OFFSET);\r
+  PciCmd = PciRead16 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_COMMAND_OFFSET);\r
   if (((PciCmd & EFI_PCI_COMMAND_MEMORY_SPACE) == 0) || ((PciCmd & EFI_PCI_COMMAND_BUS_MASTER) == 0)) {\r
     PciCmd |= EFI_PCI_COMMAND_MEMORY_SPACE | EFI_PCI_COMMAND_BUS_MASTER;\r
-    PciWrite16(PcdGet32(PcdUsbEhciPciAddress) + PCI_COMMAND_OFFSET, PciCmd);\r
+    PciWrite16 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_COMMAND_OFFSET, PciCmd);\r
     Status = TRUE;\r
   }\r
 \r
@@ -562,8 +568,9 @@ NeedReinitializeHardware(
   // If the owner and in_use bit is not set, it means system is doing cold/warm boot or EHCI host controller is reset by system software.\r
   //\r
   UsbDebugPortRegister = (USB_DEBUG_PORT_REGISTER *)((UINTN)Handle->UsbDebugPortMemoryBase + Handle->DebugPortOffset);\r
-  if ((MmioRead32((UINTN)&UsbDebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_ENABLE | USB_DEBUG_PORT_IN_USE))\r
-       != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_ENABLE | USB_DEBUG_PORT_IN_USE)) {\r
+  if ((MmioRead32 ((UINTN)&UsbDebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_ENABLE | USB_DEBUG_PORT_IN_USE))\r
+      != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_ENABLE | USB_DEBUG_PORT_IN_USE))\r
+  {\r
     Status = TRUE;\r
   }\r
 \r
@@ -572,6 +579,7 @@ NeedReinitializeHardware(
   } else if (Handle->Initialized != USBDBG_INIT_DONE) {\r
     Status = TRUE;\r
   }\r
+\r
   return Status;\r
 }\r
 \r
@@ -593,88 +601,94 @@ NeedReinitializeHardware(
 RETURN_STATUS\r
 EFIAPI\r
 InitializeUsbDebugHardware (\r
-  IN USB_DEBUG_PORT_HANDLE *Handle\r
-)\r
+  IN USB_DEBUG_PORT_HANDLE  *Handle\r
+  )\r
 {\r
-  RETURN_STATUS             Status;\r
-  USB_DEBUG_PORT_REGISTER   *UsbDebugPortRegister;\r
-  USB_DEBUG_PORT_DESCRIPTOR UsbDebugPortDescriptor;\r
-  UINT32                    *PortStatus;\r
-  UINT32                    *UsbCmd;\r
-  UINT32                    *UsbStatus;\r
-  UINT32                    *UsbHCSParam;\r
-  UINT8                     DebugPortNumber;\r
-  UINT8                     Length;\r
+  RETURN_STATUS              Status;\r
+  USB_DEBUG_PORT_REGISTER    *UsbDebugPortRegister;\r
+  USB_DEBUG_PORT_DESCRIPTOR  UsbDebugPortDescriptor;\r
+  UINT32                     *PortStatus;\r
+  UINT32                     *UsbCmd;\r
+  UINT32                     *UsbStatus;\r
+  UINT32                     *UsbHCSParam;\r
+  UINT8                      DebugPortNumber;\r
+  UINT8                      Length;\r
 \r
   UsbDebugPortRegister = (USB_DEBUG_PORT_REGISTER *)((UINTN)Handle->UsbDebugPortMemoryBase + Handle->DebugPortOffset);\r
-  UsbHCSParam = (UINT32 *)((UINTN)Handle->EhciMemoryBase + 0x04);\r
-  UsbCmd      = (UINT32 *)((UINTN)Handle->EhciMemoryBase + 0x20);\r
-  UsbStatus   = (UINT32 *)((UINTN)Handle->EhciMemoryBase + 0x24);\r
+  UsbHCSParam          = (UINT32 *)((UINTN)Handle->EhciMemoryBase + 0x04);\r
+  UsbCmd               = (UINT32 *)((UINTN)Handle->EhciMemoryBase + 0x20);\r
+  UsbStatus            = (UINT32 *)((UINTN)Handle->EhciMemoryBase + 0x24);\r
 \r
   //\r
   // Check if the debug port is enabled and owned by myself.\r
   //\r
-  if (((MmioRead32((UINTN)&UsbDebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE))\r
-       != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE)) || (Handle->Initialized == USBDBG_RESET)) {\r
+  if (((MmioRead32 ((UINTN)&UsbDebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE))\r
+       != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE)) || (Handle->Initialized == USBDBG_RESET))\r
+  {\r
     DEBUG ((\r
       DEBUG_INFO,\r
       "UsbDbg: Need to reset the host controller. ControlStatus = %08x\n",\r
-      MmioRead32((UINTN)&UsbDebugPortRegister->ControlStatus)\r
+      MmioRead32 ((UINTN)&UsbDebugPortRegister->ControlStatus)\r
       ));\r
     //\r
     // If the host controller is halted, then reset and restart it.\r
     //\r
-    if ((MmioRead32((UINTN)UsbStatus) & BIT12) != 0) {\r
+    if ((MmioRead32 ((UINTN)UsbStatus) & BIT12) != 0) {\r
       DEBUG ((DEBUG_INFO, "UsbDbg: Reset the host controller.\n"));\r
       //\r
       // reset the host controller.\r
       //\r
-      MmioOr32((UINTN)UsbCmd, BIT1);\r
+      MmioOr32 ((UINTN)UsbCmd, BIT1);\r
       //\r
       // ensure that the host controller is reset.\r
       //\r
-      while ((MmioRead32((UINTN)UsbCmd) & BIT1) != 0);\r
+      while ((MmioRead32 ((UINTN)UsbCmd) & BIT1) != 0) {\r
+      }\r
 \r
-      MmioOr32((UINTN)UsbCmd, BIT0);\r
+      MmioOr32 ((UINTN)UsbCmd, BIT0);\r
       // ensure that the host controller is started (HALTED bit must be cleared)\r
-      while ((MmioRead32((UINTN)UsbStatus) & BIT12) != 0);\r
+      while ((MmioRead32 ((UINTN)UsbStatus) & BIT12) != 0) {\r
+      }\r
     }\r
 \r
     //\r
     // First get the ownership of port 0.\r
     //\r
-    MmioOr32((UINTN)&UsbDebugPortRegister->ControlStatus, USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE);\r
+    MmioOr32 ((UINTN)&UsbDebugPortRegister->ControlStatus, USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE);\r
 \r
     MicroSecondDelay (200000);\r
   }\r
+\r
   //\r
   // Find out which port is used as debug port.\r
   //\r
-  DebugPortNumber = (UINT8)((MmioRead32((UINTN)UsbHCSParam) & 0x00F00000) >> 20);\r
+  DebugPortNumber = (UINT8)((MmioRead32 ((UINTN)UsbHCSParam) & 0x00F00000) >> 20);\r
   //\r
   // Should find a device is connected at debug port\r
   //\r
   PortStatus = (UINT32 *)((UINTN)Handle->EhciMemoryBase + 0x64 + (DebugPortNumber - 1) * 4);\r
-  if (!(MmioRead32((UINTN)PortStatus) & BIT0)) {\r
+  if (!(MmioRead32 ((UINTN)PortStatus) & BIT0)) {\r
     Handle->Initialized = USBDBG_NO_DEV;\r
     return RETURN_NOT_FOUND;\r
   }\r
 \r
-  if (Handle->Initialized != USBDBG_INIT_DONE ||\r
-      (MmioRead32 ((UINTN) &UsbDebugPortRegister->ControlStatus) & USB_DEBUG_PORT_ENABLE) == 0) {\r
+  if ((Handle->Initialized != USBDBG_INIT_DONE) ||\r
+      ((MmioRead32 ((UINTN)&UsbDebugPortRegister->ControlStatus) & USB_DEBUG_PORT_ENABLE) == 0))\r
+  {\r
     DEBUG ((DEBUG_INFO, "UsbDbg: Reset the debug port.\n"));\r
     //\r
     // Reset the debug port\r
     //\r
-    MmioOr32((UINTN)PortStatus, BIT8);\r
+    MmioOr32 ((UINTN)PortStatus, BIT8);\r
     MicroSecondDelay (500000);\r
-    MmioAnd32((UINTN)PortStatus, (UINT32)~BIT8);\r
-    while (MmioRead32((UINTN)PortStatus) & BIT8);\r
+    MmioAnd32 ((UINTN)PortStatus, (UINT32) ~BIT8);\r
+    while (MmioRead32 ((UINTN)PortStatus) & BIT8) {\r
+    }\r
 \r
     //\r
     // The port enabled bit should be set by HW.\r
     //\r
-    if ((MmioRead32((UINTN)PortStatus) & BIT2) == 0) {\r
+    if ((MmioRead32 ((UINTN)PortStatus) & BIT2) == 0) {\r
       Handle->Initialized = USBDBG_NO_DBG_CAB;\r
       return RETURN_DEVICE_ERROR;\r
     }\r
@@ -682,7 +696,7 @@ InitializeUsbDebugHardware (
     //\r
     // Enable Usb Debug Port Capability\r
     //\r
-    MmioOr32((UINTN)&UsbDebugPortRegister->ControlStatus, USB_DEBUG_PORT_ENABLE);\r
+    MmioOr32 ((UINTN)&UsbDebugPortRegister->ControlStatus, USB_DEBUG_PORT_ENABLE);\r
 \r
     //\r
     // initialize the data toggle used by bulk in/out endpoint.\r
@@ -694,7 +708,7 @@ InitializeUsbDebugHardware (
     // set usb debug device address as 0x7F.\r
     //\r
     Status = UsbDebugPortControlTransfer (UsbDebugPortRegister, &mDebugCommunicationLibUsbSetDebugAddress, 0x0, 0x0, NULL, NULL);\r
-    if (RETURN_ERROR(Status)) {\r
+    if (RETURN_ERROR (Status)) {\r
       //\r
       // The device can not work well.\r
       //\r
@@ -710,8 +724,8 @@ InitializeUsbDebugHardware (
     //\r
     // Get debug descriptor.\r
     //\r
-    Status = UsbDebugPortControlTransfer (UsbDebugPortRegister, &mDebugCommunicationLibUsbGetDebugDescriptor, 0x7F, 0x0, (UINT8*)&UsbDebugPortDescriptor, &Length);\r
-    if (RETURN_ERROR(Status)) {\r
+    Status = UsbDebugPortControlTransfer (UsbDebugPortRegister, &mDebugCommunicationLibUsbGetDebugDescriptor, 0x7F, 0x0, (UINT8 *)&UsbDebugPortDescriptor, &Length);\r
+    if (RETURN_ERROR (Status)) {\r
       //\r
       // The device is not a usb debug device.\r
       //\r
@@ -719,7 +733,7 @@ InitializeUsbDebugHardware (
       return Status;\r
     }\r
 \r
-    if (Length != sizeof(USB_DEBUG_PORT_DESCRIPTOR)) {\r
+    if (Length != sizeof (USB_DEBUG_PORT_DESCRIPTOR)) {\r
       Handle->Initialized = USBDBG_NO_DBG_CAB;\r
       return RETURN_DEVICE_ERROR;\r
     }\r
@@ -734,7 +748,7 @@ InitializeUsbDebugHardware (
     // enable the usb debug feature.\r
     //\r
     Status = UsbDebugPortControlTransfer (UsbDebugPortRegister, &mDebugCommunicationLibUsbSetDebugFeature, 0x7F, 0x0, NULL, NULL);\r
-    if (RETURN_ERROR(Status)) {\r
+    if (RETURN_ERROR (Status)) {\r
       //\r
       // The device can not work well.\r
       //\r
@@ -773,17 +787,17 @@ InitializeUsbDebugHardware (
 UINTN\r
 EFIAPI\r
 DebugPortReadBuffer (\r
-  IN   DEBUG_PORT_HANDLE    Handle,\r
-  IN   UINT8                *Buffer,\r
-  IN   UINTN                NumberOfBytes,\r
-  IN   UINTN                Timeout\r
+  IN   DEBUG_PORT_HANDLE  Handle,\r
+  IN   UINT8              *Buffer,\r
+  IN   UINTN              NumberOfBytes,\r
+  IN   UINTN              Timeout\r
   )\r
 {\r
-  USB_DEBUG_PORT_HANDLE     *UsbDebugPortHandle;\r
-  RETURN_STATUS             Status;\r
-  UINT8                     Index;\r
+  USB_DEBUG_PORT_HANDLE  *UsbDebugPortHandle;\r
+  RETURN_STATUS          Status;\r
+  UINT8                  Index;\r
 \r
-  if (NumberOfBytes != 1 || Buffer == NULL || Timeout != 0) {\r
+  if ((NumberOfBytes != 1) || (Buffer == NULL) || (Timeout != 0)) {\r
     return 0;\r
   }\r
 \r
@@ -797,9 +811,9 @@ DebugPortReadBuffer (
     UsbDebugPortHandle = (USB_DEBUG_PORT_HANDLE *)Handle;\r
   }\r
 \r
-  if (NeedReinitializeHardware(UsbDebugPortHandle)) {\r
+  if (NeedReinitializeHardware (UsbDebugPortHandle)) {\r
     Status = InitializeUsbDebugHardware (UsbDebugPortHandle);\r
-    if (RETURN_ERROR(Status)) {\r
+    if (RETURN_ERROR (Status)) {\r
       return 0;\r
     }\r
   }\r
@@ -815,8 +829,10 @@ DebugPortReadBuffer (
       if ((Index + 1) >= USB_DEBUG_PORT_MAX_PACKET_SIZE) {\r
         return 0;\r
       }\r
+\r
       UsbDebugPortHandle->Data[Index] = UsbDebugPortHandle->Data[Index + 1];\r
     }\r
+\r
     UsbDebugPortHandle->DataCount = (UINT8)(UsbDebugPortHandle->DataCount - 1);\r
     return 1;\r
   }\r
@@ -842,19 +858,19 @@ DebugPortReadBuffer (
 UINTN\r
 EFIAPI\r
 DebugPortWriteBuffer (\r
-  IN   DEBUG_PORT_HANDLE    Handle,\r
-  IN   UINT8                *Buffer,\r
-  IN   UINTN                NumberOfBytes\r
+  IN   DEBUG_PORT_HANDLE  Handle,\r
+  IN   UINT8              *Buffer,\r
+  IN   UINTN              NumberOfBytes\r
   )\r
 {\r
-  USB_DEBUG_PORT_HANDLE     *UsbDebugPortHandle;\r
-  USB_DEBUG_PORT_REGISTER   *UsbDebugPortRegister;\r
-  RETURN_STATUS             Status;\r
-  UINT8                     Sent;\r
-  UINTN                     Total;\r
-  UINT8                     ReceivedPid;\r
-\r
-  if (NumberOfBytes == 0 || Buffer == NULL) {\r
+  USB_DEBUG_PORT_HANDLE    *UsbDebugPortHandle;\r
+  USB_DEBUG_PORT_REGISTER  *UsbDebugPortRegister;\r
+  RETURN_STATUS            Status;\r
+  UINT8                    Sent;\r
+  UINTN                    Total;\r
+  UINT8                    ReceivedPid;\r
+\r
+  if ((NumberOfBytes == 0) || (Buffer == NULL)) {\r
     return 0;\r
   }\r
 \r
@@ -871,9 +887,9 @@ DebugPortWriteBuffer (
     UsbDebugPortHandle = (USB_DEBUG_PORT_HANDLE *)Handle;\r
   }\r
 \r
-  if (NeedReinitializeHardware(UsbDebugPortHandle)) {\r
+  if (NeedReinitializeHardware (UsbDebugPortHandle)) {\r
     Status = InitializeUsbDebugHardware (UsbDebugPortHandle);\r
-    if (RETURN_ERROR(Status)) {\r
+    if (RETURN_ERROR (Status)) {\r
       return 0;\r
     }\r
   }\r
@@ -887,13 +903,13 @@ DebugPortWriteBuffer (
       Sent = (UINT8)(NumberOfBytes - Total);\r
     }\r
 \r
-    Status = UsbDebugPortOut(UsbDebugPortRegister, Buffer + Total, Sent, OUTPUT_PID, 0x7F, UsbDebugPortHandle->OutEndpoint, UsbDebugPortHandle->BulkOutToggle);\r
+    Status = UsbDebugPortOut (UsbDebugPortRegister, Buffer + Total, Sent, OUTPUT_PID, 0x7F, UsbDebugPortHandle->OutEndpoint, UsbDebugPortHandle->BulkOutToggle);\r
 \r
-    if (RETURN_ERROR(Status)) {\r
+    if (RETURN_ERROR (Status)) {\r
       return Total;\r
     }\r
 \r
-    ReceivedPid = (MmioRead8((UINTN)&UsbDebugPortRegister->ReceivedPid));\r
+    ReceivedPid = (MmioRead8 ((UINTN)&UsbDebugPortRegister->ReceivedPid));\r
     //\r
     // If received a NAK_PID on write transaction, it means the usb debug device is busy and can not handle this transaction.\r
     // should send the packet again.\r
@@ -903,8 +919,10 @@ DebugPortWriteBuffer (
     } else {\r
       UsbDebugPortHandle->BulkOutToggle ^= 1;\r
     }\r
+\r
     Total += Sent;\r
   }\r
+\r
   return Total;\r
 }\r
 \r
@@ -924,14 +942,14 @@ DebugPortWriteBuffer (
 BOOLEAN\r
 EFIAPI\r
 DebugPortPollBuffer (\r
-  IN DEBUG_PORT_HANDLE      Handle\r
+  IN DEBUG_PORT_HANDLE  Handle\r
   )\r
 {\r
-  USB_DEBUG_PORT_HANDLE     *UsbDebugPortHandle;\r
-  USB_DEBUG_PORT_REGISTER   *UsbDebugPortRegister;\r
-  UINT8                     Length;\r
-  UINT8                     Index;\r
-  RETURN_STATUS             Status;\r
+  USB_DEBUG_PORT_HANDLE    *UsbDebugPortHandle;\r
+  USB_DEBUG_PORT_REGISTER  *UsbDebugPortRegister;\r
+  UINT8                    Length;\r
+  UINT8                    Index;\r
+  RETURN_STATUS            Status;\r
 \r
   //\r
   // If Handle is NULL, it means memory is ready for use.\r
@@ -943,9 +961,9 @@ DebugPortPollBuffer (
     UsbDebugPortHandle = (USB_DEBUG_PORT_HANDLE *)Handle;\r
   }\r
 \r
-  if (NeedReinitializeHardware(UsbDebugPortHandle)) {\r
-    Status = InitializeUsbDebugHardware(UsbDebugPortHandle);\r
-    if (RETURN_ERROR(Status)) {\r
+  if (NeedReinitializeHardware (UsbDebugPortHandle)) {\r
+    Status = InitializeUsbDebugHardware (UsbDebugPortHandle);\r
+    if (RETURN_ERROR (Status)) {\r
       return FALSE;\r
     }\r
   }\r
@@ -962,37 +980,39 @@ DebugPortPollBuffer (
 \r
   UsbDebugPortRegister->TokenPid = INPUT_PID;\r
   if (UsbDebugPortHandle->BulkInToggle == 0) {\r
-    UsbDebugPortRegister->SendPid  = DATA0_PID;\r
+    UsbDebugPortRegister->SendPid = DATA0_PID;\r
   } else {\r
-    UsbDebugPortRegister->SendPid  = DATA1_PID;\r
+    UsbDebugPortRegister->SendPid = DATA1_PID;\r
   }\r
+\r
   UsbDebugPortRegister->UsbAddress  = 0x7F;\r
   UsbDebugPortRegister->UsbEndPoint = UsbDebugPortHandle->InEndpoint & 0x0F;\r
 \r
   //\r
   // Clearing W/R bit to indicate it's a READ operation\r
   //\r
-  MmioAnd32((UINTN)&UsbDebugPortRegister->ControlStatus, (UINT32)~BIT4);\r
+  MmioAnd32 ((UINTN)&UsbDebugPortRegister->ControlStatus, (UINT32) ~BIT4);\r
   //\r
   // Setting GO bit as well as clearing DONE bit\r
   //\r
-  MmioOr32((UINTN)&UsbDebugPortRegister->ControlStatus, (UINT32)BIT5);\r
+  MmioOr32 ((UINTN)&UsbDebugPortRegister->ControlStatus, (UINT32)BIT5);\r
 \r
   //\r
   // Wait for completing the request\r
   //\r
-  while ((MmioRead32((UINTN)&UsbDebugPortRegister->ControlStatus) & (UINT32)BIT16) == 0) {\r
-    if ((MmioRead32((UINTN)&UsbDebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
-       != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE)) {\r
+  while ((MmioRead32 ((UINTN)&UsbDebugPortRegister->ControlStatus) & (UINT32)BIT16) == 0) {\r
+    if ((MmioRead32 ((UINTN)&UsbDebugPortRegister->ControlStatus) & (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
+        != (USB_DEBUG_PORT_OWNER | USB_DEBUG_PORT_IN_USE | USB_DEBUG_PORT_ENABLE))\r
+    {\r
       return FALSE;\r
     }\r
   }\r
 \r
-  if ((MmioRead32((UINTN)&UsbDebugPortRegister->ControlStatus)) & BIT6) {\r
+  if ((MmioRead32 ((UINTN)&UsbDebugPortRegister->ControlStatus)) & BIT6) {\r
     return FALSE;\r
   }\r
 \r
-  Length = (UINT8)(MmioRead32((UINTN)&UsbDebugPortRegister->ControlStatus) & 0xF);\r
+  Length = (UINT8)(MmioRead32 ((UINTN)&UsbDebugPortRegister->ControlStatus) & 0xF);\r
 \r
   if (Length > 8) {\r
     return FALSE;\r
@@ -1007,6 +1027,7 @@ DebugPortPollBuffer (
   for (Index = 0; Index < Length; Index++) {\r
     UsbDebugPortHandle->Data[Index] = UsbDebugPortRegister->DataBuffer[Index];\r
   }\r
+\r
   UsbDebugPortHandle->DataCount = Length;\r
 \r
   return TRUE;\r
@@ -1043,51 +1064,52 @@ DebugPortInitialize (
   IN DEBUG_PORT_CONTINUE  Function\r
   )\r
 {\r
-  RETURN_STATUS             Status;\r
-  USB_DEBUG_PORT_HANDLE     Handle;\r
+  RETURN_STATUS          Status;\r
+  USB_DEBUG_PORT_HANDLE  Handle;\r
 \r
   //\r
   // Validate the PCD PcdDebugPortHandleBufferSize value\r
   //\r
   ASSERT (PcdGet16 (PcdDebugPortHandleBufferSize) == sizeof (USB_DEBUG_PORT_HANDLE));\r
 \r
-  if (Function == NULL && Context != NULL) {\r
-    return (DEBUG_PORT_HANDLE *) Context;\r
+  if ((Function == NULL) && (Context != NULL)) {\r
+    return (DEBUG_PORT_HANDLE *)Context;\r
   }\r
-  ZeroMem(&Handle, sizeof (USB_DEBUG_PORT_HANDLE));\r
 \r
-  Status = CalculateUsbDebugPortBar(&Handle.DebugPortOffset, &Handle.DebugPortBarNumber);\r
+  ZeroMem (&Handle, sizeof (USB_DEBUG_PORT_HANDLE));\r
+\r
+  Status = CalculateUsbDebugPortBar (&Handle.DebugPortOffset, &Handle.DebugPortBarNumber);\r
   if (RETURN_ERROR (Status)) {\r
     DEBUG ((DEBUG_ERROR, "UsbDbg: the pci device pointed by PcdUsbEhciPciAddress is not EHCI host controller or does not support debug port capability!\n"));\r
     goto Exit;\r
   }\r
 \r
-  Handle.EhciMemoryBase = 0xFFFFFC00 & PciRead32(PcdGet32(PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET);\r
+  Handle.EhciMemoryBase = 0xFFFFFC00 & PciRead32 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET);\r
 \r
   if (Handle.EhciMemoryBase == 0) {\r
     //\r
     // Usb Debug Port MMIO Space Is Not Enabled. Assumption here that DebugPortBase is zero\r
     //\r
-    PciWrite32(PcdGet32(PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET, PcdGet32(PcdUsbEhciMemorySpaceBase));\r
-    Handle.EhciMemoryBase = 0xFFFFFC00 & PciRead32(PcdGet32(PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET);\r
+    PciWrite32 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET, PcdGet32 (PcdUsbEhciMemorySpaceBase));\r
+    Handle.EhciMemoryBase = 0xFFFFFC00 & PciRead32 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET);\r
   }\r
 \r
-  Handle.UsbDebugPortMemoryBase = 0xFFFFFC00 & PciRead32(PcdGet32(PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + Handle.DebugPortBarNumber * 4);\r
+  Handle.UsbDebugPortMemoryBase = 0xFFFFFC00 & PciRead32 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + Handle.DebugPortBarNumber * 4);\r
 \r
   if (Handle.UsbDebugPortMemoryBase == 0) {\r
     //\r
     // Usb Debug Port MMIO Space Is Not Enabled. Assumption here that DebugPortBase is zero\r
     //\r
-    PciWrite32(PcdGet32(PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + Handle.DebugPortBarNumber * 4, PcdGet32(PcdUsbDebugPortMemorySpaceBase));\r
-    Handle.UsbDebugPortMemoryBase = 0xFFFFFC00 & PciRead32(PcdGet32(PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + Handle.DebugPortBarNumber * 4);\r
+    PciWrite32 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + Handle.DebugPortBarNumber * 4, PcdGet32 (PcdUsbDebugPortMemorySpaceBase));\r
+    Handle.UsbDebugPortMemoryBase = 0xFFFFFC00 & PciRead32 (PcdGet32 (PcdUsbEhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + Handle.DebugPortBarNumber * 4);\r
   }\r
 \r
   Handle.Initialized = USBDBG_RESET;\r
 \r
-  if (NeedReinitializeHardware(&Handle)) {\r
+  if (NeedReinitializeHardware (&Handle)) {\r
     DEBUG ((DEBUG_ERROR, "UsbDbg: Start EHCI debug port initialization!\n"));\r
     Status = InitializeUsbDebugHardware (&Handle);\r
-    if (RETURN_ERROR(Status)) {\r
+    if (RETURN_ERROR (Status)) {\r
       DEBUG ((DEBUG_ERROR, "UsbDbg: Failed, please check if USB debug cable is plugged into EHCI debug port correctly!\n"));\r
       goto Exit;\r
     }\r
@@ -1098,7 +1120,7 @@ Exit:
   if (Function != NULL) {\r
     Function (Context, &Handle);\r
   } else {\r
-    CopyMem(&mDebugCommunicationLibUsbDebugPortHandle, &Handle, sizeof (USB_DEBUG_PORT_HANDLE));\r
+    CopyMem (&mDebugCommunicationLibUsbDebugPortHandle, &Handle, sizeof (USB_DEBUG_PORT_HANDLE));\r
   }\r
 \r
   return (DEBUG_PORT_HANDLE)(UINTN)&mDebugCommunicationLibUsbDebugPortHandle;\r
index d76314a42ae6cde027a179e74efaacfd98d5bc4c..3a3d16e4b926b35f6254f68f707308de9f1877f8 100644 (file)
@@ -8,27 +8,27 @@
 \r
 #include "DebugCommunicationLibUsb3Internal.h"\r
 \r
-UINT16   mString0Desc[] = {\r
+UINT16  mString0Desc[] = {\r
   //  String Descriptor Type + Length\r
-  ( USB_DESC_TYPE_STRING << 8 ) + STRING0_DESC_LEN,\r
+  (USB_DESC_TYPE_STRING << 8) + STRING0_DESC_LEN,\r
   0x0409\r
 };\r
 \r
-UINT16   mManufacturerStrDesc[] = {\r
+UINT16  mManufacturerStrDesc[] = {\r
   //  String Descriptor Type + Length\r
-  ( USB_DESC_TYPE_STRING << 8 ) + MANU_DESC_LEN,\r
-  'I', 'n', 't', 'e', 'l'\r
+  (USB_DESC_TYPE_STRING << 8) + MANU_DESC_LEN,\r
+  'I',                                        'n','t', 'e', 'l'\r
 };\r
 \r
-UINT16   mProductStrDesc[] = {\r
+UINT16  mProductStrDesc[] = {\r
   //  String Descriptor Type + Length\r
-  ( USB_DESC_TYPE_STRING << 8 ) +  PRODUCT_DESC_LEN,\r
-  'U', 'S', 'B', ' ', '3', '.', '0', ' ', 'D', 'e', 'b', 'u', 'g', ' ', 'C', 'a', 'b', 'l', 'e'\r
+  (USB_DESC_TYPE_STRING << 8) +  PRODUCT_DESC_LEN,\r
+  'U',                                            'S','B', ' ', '3', '.', '0', ' ', 'D', 'e', 'b', 'u', 'g', ' ', 'C', 'a', 'b', 'l', 'e'\r
 };\r
 \r
-UINT16   mSerialNumberStrDesc[] = {\r
+UINT16  mSerialNumberStrDesc[] = {\r
   //  String Descriptor Type + Length\r
-  ( USB_DESC_TYPE_STRING << 8 ) +  SERIAL_DESC_LEN,\r
+  (USB_DESC_TYPE_STRING << 8) +  SERIAL_DESC_LEN,\r
   '1'\r
 };\r
 \r
@@ -39,14 +39,14 @@ UINT16   mSerialNumberStrDesc[] = {
   @param[in]      BitMask     32-bit mask\r
 **/\r
 VOID\r
-XhcSetR32Bit(\r
-  IN OUT  UINTN  Register,\r
-  IN      UINT32 BitMask\r
+XhcSetR32Bit (\r
+  IN OUT  UINTN   Register,\r
+  IN      UINT32  BitMask\r
   )\r
 {\r
-  UINT32    RegisterValue;\r
+  UINT32  RegisterValue;\r
 \r
-  RegisterValue = MmioRead32 (Register);\r
+  RegisterValue  = MmioRead32 (Register);\r
   RegisterValue |= (UINT32)(BitMask);\r
   MmioWrite32 (Register, RegisterValue);\r
 }\r
@@ -58,14 +58,14 @@ XhcSetR32Bit(
   @param[in]      BitMask     32-bit mask\r
 **/\r
 VOID\r
-XhcClearR32Bit(\r
-  IN OUT  UINTN  Register,\r
-  IN      UINT32 BitMask\r
+XhcClearR32Bit (\r
+  IN OUT  UINTN   Register,\r
+  IN      UINT32  BitMask\r
   )\r
 {\r
-  UINT32    RegisterValue;\r
+  UINT32  RegisterValue;\r
 \r
-  RegisterValue = MmioRead32 (Register);\r
+  RegisterValue  = MmioRead32 (Register);\r
   RegisterValue &= ~BitMask;\r
   MmioWrite32 (Register, RegisterValue);\r
 }\r
@@ -104,15 +104,15 @@ XhcWriteDebugReg (
 **/\r
 UINT32\r
 XhcReadDebugReg (\r
-  IN  USB3_DEBUG_PORT_HANDLE *Handle,\r
-  IN  UINT32                 Offset\r
+  IN  USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN  UINT32                  Offset\r
   )\r
 {\r
-  UINT32                  Data;\r
-  EFI_PHYSICAL_ADDRESS    DebugCapabilityBase;\r
+  UINT32                Data;\r
+  EFI_PHYSICAL_ADDRESS  DebugCapabilityBase;\r
 \r
   DebugCapabilityBase = Handle->DebugCapabilityBase;\r
-  Data = MmioRead32 ((UINTN)(DebugCapabilityBase + Offset));\r
+  Data                = MmioRead32 ((UINTN)(DebugCapabilityBase + Offset));\r
 \r
   return Data;\r
 }\r
@@ -127,12 +127,12 @@ XhcReadDebugReg (
 **/\r
 VOID\r
 XhcSetDebugRegBit (\r
-  IN USB3_DEBUG_PORT_HANDLE   *Handle,\r
-  IN UINT32                   Offset,\r
-  IN UINT32                   Bit\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN UINT32                  Offset,\r
+  IN UINT32                  Bit\r
   )\r
 {\r
-  UINT32                  Data;\r
+  UINT32  Data;\r
 \r
   Data  = XhcReadDebugReg (Handle, Offset);\r
   Data |= Bit;\r
@@ -149,15 +149,15 @@ XhcSetDebugRegBit (
 **/\r
 VOID\r
 XhcClearDebugRegBit (\r
-  IN USB3_DEBUG_PORT_HANDLE   *Handle,\r
-  IN UINT32                   Offset,\r
-  IN UINT32                   Bit\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN UINT32                  Offset,\r
+  IN UINT32                  Bit\r
   )\r
 {\r
-  UINT32                  Data;\r
+  UINT32  Data;\r
 \r
   Data  = XhcReadDebugReg (Handle, Offset);\r
-  Data  &= ~Bit;\r
+  Data &= ~Bit;\r
   XhcWriteDebugReg (Handle, Offset, Data);\r
 }\r
 \r
@@ -172,26 +172,26 @@ ProgramXhciBaseAddress (
   VOID\r
   )\r
 {\r
-  UINT16                      PciCmd;\r
-  UINT32                      Low;\r
-  UINT32                      High;\r
-  EFI_PHYSICAL_ADDRESS        XhciMmioBase;\r
-\r
-  Low = PciRead32 (PcdGet32(PcdUsbXhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET);\r
-  High = PciRead32 (PcdGet32(PcdUsbXhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + 4);\r
-  XhciMmioBase = (EFI_PHYSICAL_ADDRESS) (LShiftU64 ((UINT64) High, 32) | Low);\r
+  UINT16                PciCmd;\r
+  UINT32                Low;\r
+  UINT32                High;\r
+  EFI_PHYSICAL_ADDRESS  XhciMmioBase;\r
+\r
+  Low           = PciRead32 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET);\r
+  High          = PciRead32 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + 4);\r
+  XhciMmioBase  = (EFI_PHYSICAL_ADDRESS)(LShiftU64 ((UINT64)High, 32) | Low);\r
   XhciMmioBase &= XHCI_BASE_ADDRESS_64_BIT_MASK;\r
 \r
   if ((XhciMmioBase == 0) || (XhciMmioBase == XHCI_BASE_ADDRESS_64_BIT_MASK)) {\r
-    XhciMmioBase = PcdGet64(PcdUsbXhciMemorySpaceBase);\r
-    PciWrite32(PcdGet32(PcdUsbXhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET, XhciMmioBase & 0xFFFFFFFF);\r
-    PciWrite32(PcdGet32(PcdUsbXhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + 4, (RShiftU64 (XhciMmioBase, 32) & 0xFFFFFFFF));\r
+    XhciMmioBase = PcdGet64 (PcdUsbXhciMemorySpaceBase);\r
+    PciWrite32 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET, XhciMmioBase & 0xFFFFFFFF);\r
+    PciWrite32 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_BASE_ADDRESSREG_OFFSET + 4, (RShiftU64 (XhciMmioBase, 32) & 0xFFFFFFFF));\r
   }\r
 \r
-  PciCmd = PciRead16 (PcdGet32(PcdUsbXhciPciAddress) + PCI_COMMAND_OFFSET);\r
+  PciCmd = PciRead16 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_COMMAND_OFFSET);\r
   if (((PciCmd & EFI_PCI_COMMAND_MEMORY_SPACE) == 0) || ((PciCmd & EFI_PCI_COMMAND_BUS_MASTER) == 0)) {\r
     PciCmd |= EFI_PCI_COMMAND_MEMORY_SPACE | EFI_PCI_COMMAND_BUS_MASTER;\r
-    PciWrite16(PcdGet32(PcdUsbXhciPciAddress) + PCI_COMMAND_OFFSET, PciCmd);\r
+    PciWrite16 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_COMMAND_OFFSET, PciCmd);\r
   }\r
 \r
   return XhciMmioBase;\r
@@ -206,8 +206,8 @@ ProgramXhciBaseAddress (
 **/\r
 VOID\r
 UpdateXhcResource (\r
-  IN OUT USB3_DEBUG_PORT_HANDLE            *Handle,\r
-  IN EFI_PHYSICAL_ADDRESS                   XhciMmioBase\r
+  IN OUT USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN EFI_PHYSICAL_ADDRESS        XhciMmioBase\r
   )\r
 {\r
   if (Handle == NULL) {\r
@@ -234,18 +234,18 @@ UpdateXhcResource (
 RETURN_STATUS\r
 EFIAPI\r
 CalculateUsbDebugPortMmioBase (\r
-  USB3_DEBUG_PORT_HANDLE          *Handle\r
- )\r
+  USB3_DEBUG_PORT_HANDLE  *Handle\r
 )\r
 {\r
-  UINT16                          VendorId;\r
-  UINT16                          DeviceId;\r
-  UINT8                           ProgInterface;\r
-  UINT8                           SubClassCode;\r
-  UINT8                           BaseCode;\r
-  BOOLEAN                         Flag;\r
-  UINT32                          Capability;\r
-  EFI_PHYSICAL_ADDRESS            CapabilityPointer;\r
-  UINT8                           CapLength;\r
+  UINT16                VendorId;\r
+  UINT16                DeviceId;\r
+  UINT8                 ProgInterface;\r
+  UINT8                 SubClassCode;\r
+  UINT8                 BaseCode;\r
+  BOOLEAN               Flag;\r
+  UINT32                Capability;\r
+  EFI_PHYSICAL_ADDRESS  CapabilityPointer;\r
+  UINT8                 CapLength;\r
 \r
   if (Handle->Initialized != USB3DBG_UNINITIALIZED) {\r
     if (Handle->Initialized == USB3DBG_NO_DBG_CAB) {\r
@@ -255,22 +255,22 @@ CalculateUsbDebugPortMmioBase (
     }\r
   }\r
 \r
-  VendorId = PciRead16 (PcdGet32(PcdUsbXhciPciAddress) + PCI_VENDOR_ID_OFFSET);\r
-  DeviceId = PciRead16 (PcdGet32(PcdUsbXhciPciAddress) + PCI_DEVICE_ID_OFFSET);\r
+  VendorId = PciRead16 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_VENDOR_ID_OFFSET);\r
+  DeviceId = PciRead16 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_DEVICE_ID_OFFSET);\r
 \r
   if ((VendorId == 0xFFFF) || (DeviceId == 0xFFFF)) {\r
     goto Done;\r
   }\r
 \r
-  ProgInterface = PciRead8 (PcdGet32(PcdUsbXhciPciAddress) + PCI_CLASSCODE_OFFSET);\r
-  SubClassCode  = PciRead8 (PcdGet32(PcdUsbXhciPciAddress) + PCI_CLASSCODE_OFFSET + 1);\r
-  BaseCode      = PciRead8 (PcdGet32(PcdUsbXhciPciAddress) + PCI_CLASSCODE_OFFSET + 2);\r
+  ProgInterface = PciRead8 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_CLASSCODE_OFFSET);\r
+  SubClassCode  = PciRead8 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_CLASSCODE_OFFSET + 1);\r
+  BaseCode      = PciRead8 (PcdGet32 (PcdUsbXhciPciAddress) + PCI_CLASSCODE_OFFSET + 2);\r
 \r
   if ((ProgInterface != PCI_IF_XHCI) || (SubClassCode != PCI_CLASS_SERIAL_USB) || (BaseCode != PCI_CLASS_SERIAL)) {\r
     goto Done;\r
   }\r
 \r
-  CapLength = MmioRead8 ((UINTN) Handle->XhciMmioBase);\r
+  CapLength = MmioRead8 ((UINTN)Handle->XhciMmioBase);\r
 \r
   //\r
   // Get capability pointer from HCCPARAMS at offset 0x10\r
@@ -280,21 +280,23 @@ CalculateUsbDebugPortMmioBase (
   //\r
   // Search XHCI debug capability\r
   //\r
-  Flag = FALSE;\r
+  Flag       = FALSE;\r
   Capability = MmioRead32 ((UINTN)CapabilityPointer);\r
   while (TRUE) {\r
     if ((Capability & XHC_CAPABILITY_ID_MASK) == PCI_CAPABILITY_ID_DEBUG_PORT) {\r
       Flag = TRUE;\r
       break;\r
     }\r
+\r
     if ((((Capability & XHC_NEXT_CAPABILITY_MASK) >> 8) & XHC_CAPABILITY_ID_MASK) == 0) {\r
       //\r
       // Reach the end of capability list, quit\r
       //\r
       break;\r
     }\r
+\r
     CapabilityPointer += ((Capability & XHC_NEXT_CAPABILITY_MASK) >> 8) * 4;\r
-    Capability = MmioRead32 ((UINTN)CapabilityPointer);\r
+    Capability         = MmioRead32 ((UINTN)CapabilityPointer);\r
   }\r
 \r
   if (!Flag) {\r
@@ -307,8 +309,8 @@ CalculateUsbDebugPortMmioBase (
   Handle->DebugCapabilityBase   = CapabilityPointer;\r
   Handle->DebugCapabilityOffset = CapabilityPointer - Handle->XhciMmioBase;\r
   Handle->XhciOpRegister        = Handle->XhciMmioBase + CapLength;\r
-  Handle->DebugSupport = TRUE;\r
-  Handle->Initialized = USB3DBG_DBG_CAB;\r
+  Handle->DebugSupport          = TRUE;\r
+  Handle->Initialized           = USB3DBG_DBG_CAB;\r
   return RETURN_SUCCESS;\r
 \r
 Done:\r
@@ -331,12 +333,12 @@ Done:
 **/\r
 BOOLEAN\r
 EFIAPI\r
-NeedReinitializeHardware(\r
-  IN USB3_DEBUG_PORT_HANDLE *Handle\r
+NeedReinitializeHardware (\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle\r
   )\r
 {\r
-  BOOLEAN                 Result;\r
-  volatile UINT32         Dcctrl;\r
+  BOOLEAN          Result;\r
+  volatile UINT32  Dcctrl;\r
 \r
   Result = FALSE;\r
 \r
@@ -347,7 +349,7 @@ NeedReinitializeHardware(
   if ((Dcctrl & BIT0) == 0) {\r
     Result = TRUE;\r
   } else if (!Handle->Ready) {\r
-    Handle->Ready = TRUE;\r
+    Handle->Ready       = TRUE;\r
     Handle->Initialized = USB3DBG_ENABLED;\r
   }\r
 \r
@@ -363,8 +365,8 @@ NeedReinitializeHardware(
 **/\r
 EFI_STATUS\r
 CreateEventRing (\r
-  IN  USB3_DEBUG_PORT_HANDLE     *Handle,\r
-  OUT EVENT_RING                 *EventRing\r
+  IN  USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  OUT EVENT_RING              *EventRing\r
   )\r
 {\r
   VOID                        *Buf;\r
@@ -377,13 +379,13 @@ CreateEventRing (
   //\r
   Buf = AllocateAlignBuffer (sizeof (TRB_TEMPLATE) * EVENT_RING_TRB_NUMBER);\r
   ASSERT (Buf != NULL);\r
-  ASSERT (((UINTN) Buf & 0x3F) == 0);\r
+  ASSERT (((UINTN)Buf & 0x3F) == 0);\r
   ZeroMem (Buf, sizeof (TRB_TEMPLATE) * EVENT_RING_TRB_NUMBER);\r
 \r
-  EventRing->EventRingSeg0    = (EFI_PHYSICAL_ADDRESS)(UINTN) Buf;\r
+  EventRing->EventRingSeg0    = (EFI_PHYSICAL_ADDRESS)(UINTN)Buf;\r
   EventRing->TrbNumber        = EVENT_RING_TRB_NUMBER;\r
-  EventRing->EventRingDequeue = (EFI_PHYSICAL_ADDRESS)(UINTN) EventRing->EventRingSeg0;\r
-  EventRing->EventRingEnqueue = (EFI_PHYSICAL_ADDRESS)(UINTN) EventRing->EventRingSeg0;\r
+  EventRing->EventRingDequeue = (EFI_PHYSICAL_ADDRESS)(UINTN)EventRing->EventRingSeg0;\r
+  EventRing->EventRingEnqueue = (EFI_PHYSICAL_ADDRESS)(UINTN)EventRing->EventRingSeg0;\r
 \r
   //\r
   // Software maintains an Event Ring Consumer Cycle State (CCS) bit, initializing it to '1'\r
@@ -396,11 +398,11 @@ CreateEventRing (
   //\r
   Buf = AllocateAlignBuffer (sizeof (EVENT_RING_SEG_TABLE_ENTRY) * ERST_NUMBER);\r
   ASSERT (Buf != NULL);\r
-  ASSERT (((UINTN) Buf & 0x3F) == 0);\r
+  ASSERT (((UINTN)Buf & 0x3F) == 0);\r
   ZeroMem (Buf, sizeof (EVENT_RING_SEG_TABLE_ENTRY) * ERST_NUMBER);\r
 \r
-  ERSTBase              = (EVENT_RING_SEG_TABLE_ENTRY *) Buf;\r
-  EventRing->ERSTBase   = (EFI_PHYSICAL_ADDRESS)(UINTN) ERSTBase;\r
+  ERSTBase            = (EVENT_RING_SEG_TABLE_ENTRY *)Buf;\r
+  EventRing->ERSTBase = (EFI_PHYSICAL_ADDRESS)(UINTN)ERSTBase;\r
 \r
   //\r
   // Fill Event Segment address\r
@@ -415,13 +417,13 @@ CreateEventRing (
   XhcWriteDebugReg (\r
     Handle,\r
     XHC_DC_DCERDP,\r
-    XHC_LOW_32BIT((UINT64)(UINTN)EventRing->EventRingDequeue)\r
+    XHC_LOW_32BIT ((UINT64)(UINTN)EventRing->EventRingDequeue)\r
     );\r
 \r
   XhcWriteDebugReg (\r
     Handle,\r
     XHC_DC_DCERDP + 4,\r
-    XHC_HIGH_32BIT((UINT64)(UINTN)EventRing->EventRingDequeue)\r
+    XHC_HIGH_32BIT ((UINT64)(UINTN)EventRing->EventRingDequeue)\r
     );\r
 \r
   //\r
@@ -430,13 +432,13 @@ CreateEventRing (
   XhcWriteDebugReg (\r
     Handle,\r
     XHC_DC_DCERSTBA,\r
-    XHC_LOW_32BIT((UINT64)(UINTN)ERSTBase)\r
+    XHC_LOW_32BIT ((UINT64)(UINTN)ERSTBase)\r
     );\r
 \r
   XhcWriteDebugReg (\r
     Handle,\r
     XHC_DC_DCERSTBA + 4,\r
-    XHC_HIGH_32BIT((UINT64)(UINTN)ERSTBase)\r
+    XHC_HIGH_32BIT ((UINT64)(UINTN)ERSTBase)\r
     );\r
 \r
   //\r
@@ -460,37 +462,37 @@ CreateEventRing (
 **/\r
 VOID\r
 CreateTransferRing (\r
-  IN  USB3_DEBUG_PORT_HANDLE      *Handle,\r
-  IN  UINT32                      TrbNum,\r
-  OUT TRANSFER_RING               *TransferRing\r
+  IN  USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN  UINT32                  TrbNum,\r
+  OUT TRANSFER_RING           *TransferRing\r
   )\r
 {\r
-  VOID                  *Buf;\r
-  LINK_TRB              *EndTrb;\r
+  VOID      *Buf;\r
+  LINK_TRB  *EndTrb;\r
 \r
   Buf = AllocateAlignBuffer (sizeof (TRB_TEMPLATE) * TrbNum);\r
   ASSERT (Buf != NULL);\r
-  ASSERT (((UINTN) Buf & 0xF) == 0);\r
+  ASSERT (((UINTN)Buf & 0xF) == 0);\r
   ZeroMem (Buf, sizeof (TRB_TEMPLATE) * TrbNum);\r
 \r
-  TransferRing->RingSeg0     = (EFI_PHYSICAL_ADDRESS)(UINTN) Buf;\r
-  TransferRing->TrbNumber    = TrbNum;\r
-  TransferRing->RingEnqueue  = TransferRing->RingSeg0;\r
-  TransferRing->RingDequeue  = TransferRing->RingSeg0;\r
-  TransferRing->RingPCS      = 1;\r
+  TransferRing->RingSeg0    = (EFI_PHYSICAL_ADDRESS)(UINTN)Buf;\r
+  TransferRing->TrbNumber   = TrbNum;\r
+  TransferRing->RingEnqueue = TransferRing->RingSeg0;\r
+  TransferRing->RingDequeue = TransferRing->RingSeg0;\r
+  TransferRing->RingPCS     = 1;\r
   //\r
   // 4.9.2 Transfer Ring Management\r
   // To form a ring (or circular queue) a Link TRB may be inserted at the end of a ring to\r
   // point to the first TRB in the ring.\r
   //\r
-  EndTrb        = (LINK_TRB *) ((UINTN)Buf + sizeof (TRB_TEMPLATE) * (TrbNum - 1));\r
+  EndTrb        = (LINK_TRB *)((UINTN)Buf + sizeof (TRB_TEMPLATE) * (TrbNum - 1));\r
   EndTrb->Type  = TRB_TYPE_LINK;\r
   EndTrb->PtrLo = XHC_LOW_32BIT (Buf);\r
   EndTrb->PtrHi = XHC_HIGH_32BIT (Buf);\r
   //\r
   // Toggle Cycle (TC). When set to '1', the xHC shall toggle its interpretation of the Cycle bit.\r
   //\r
-  EndTrb->TC    = 1;\r
+  EndTrb->TC = 1;\r
   //\r
   // Set Cycle bit as other TRB PCS init value\r
   //\r
@@ -508,26 +510,26 @@ CreateTransferRing (
 **/\r
 EFI_STATUS\r
 CreateDebugCapabilityContext (\r
-  IN  USB3_DEBUG_PORT_HANDLE   *Handle\r
+  IN  USB3_DEBUG_PORT_HANDLE  *Handle\r
   )\r
 {\r
-  VOID                        *Buf;\r
-  XHC_DC_CONTEXT              *DebugCapabilityContext;\r
-  UINT8                       *String0Desc;\r
-  UINT8                       *ManufacturerStrDesc;\r
-  UINT8                       *ProductStrDesc;\r
-  UINT8                       *SerialNumberStrDesc;\r
+  VOID            *Buf;\r
+  XHC_DC_CONTEXT  *DebugCapabilityContext;\r
+  UINT8           *String0Desc;\r
+  UINT8           *ManufacturerStrDesc;\r
+  UINT8           *ProductStrDesc;\r
+  UINT8           *SerialNumberStrDesc;\r
 \r
   //\r
   // Allocate debug device context\r
   //\r
   Buf = AllocateAlignBuffer (sizeof (XHC_DC_CONTEXT));\r
   ASSERT (Buf != NULL);\r
-  ASSERT (((UINTN) Buf & 0xF) == 0);\r
+  ASSERT (((UINTN)Buf & 0xF) == 0);\r
   ZeroMem (Buf, sizeof (XHC_DC_CONTEXT));\r
 \r
-  DebugCapabilityContext = (XHC_DC_CONTEXT *)(UINTN) Buf;\r
-  Handle->DebugCapabilityContext = (EFI_PHYSICAL_ADDRESS)(UINTN) DebugCapabilityContext;\r
+  DebugCapabilityContext         = (XHC_DC_CONTEXT *)(UINTN)Buf;\r
+  Handle->DebugCapabilityContext = (EFI_PHYSICAL_ADDRESS)(UINTN)DebugCapabilityContext;\r
 \r
   //\r
   // Initialize DbcInfoContext.\r
@@ -556,7 +558,7 @@ CreateDebugCapabilityContext (
   //\r
   // Update string descriptor address\r
   //\r
-  String0Desc = (UINT8 *) AllocateAlignBuffer (STRING0_DESC_LEN + MANU_DESC_LEN + PRODUCT_DESC_LEN + SERIAL_DESC_LEN);\r
+  String0Desc = (UINT8 *)AllocateAlignBuffer (STRING0_DESC_LEN + MANU_DESC_LEN + PRODUCT_DESC_LEN + SERIAL_DESC_LEN);\r
   ASSERT (String0Desc != NULL);\r
   ZeroMem (String0Desc, STRING0_DESC_LEN + MANU_DESC_LEN + PRODUCT_DESC_LEN + SERIAL_DESC_LEN);\r
   CopyMem (String0Desc, mString0Desc, STRING0_DESC_LEN);\r
@@ -596,12 +598,12 @@ CreateDebugCapabilityContext (
   XhcWriteDebugReg (\r
     Handle,\r
     XHC_DC_DCCP,\r
-    XHC_LOW_32BIT((UINT64)(UINTN)DebugCapabilityContext)\r
+    XHC_LOW_32BIT ((UINT64)(UINTN)DebugCapabilityContext)\r
     );\r
   XhcWriteDebugReg (\r
     Handle,\r
     XHC_DC_DCCP + 4,\r
-    XHC_HIGH_32BIT((UINT64)(UINTN)DebugCapabilityContext)\r
+    XHC_HIGH_32BIT ((UINT64)(UINTN)DebugCapabilityContext)\r
     );\r
   return EFI_SUCCESS;\r
 }\r
@@ -614,11 +616,11 @@ CreateDebugCapabilityContext (
 **/\r
 VOID\r
 XhcDetectDebugCapabilityReady (\r
-  IN USB3_DEBUG_PORT_HANDLE *Handle\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle\r
   )\r
 {\r
-  UINT64                          TimeOut;\r
-  volatile UINT32                 Dcctrl;\r
+  UINT64           TimeOut;\r
+  volatile UINT32  Dcctrl;\r
 \r
   TimeOut = 1;\r
   if (Handle->Initialized == USB3DBG_DBG_CAB) {\r
@@ -642,6 +644,7 @@ XhcDetectDebugCapabilityReady (
       Handle->Ready = TRUE;\r
       break;\r
     }\r
+\r
     MicroSecondDelay (XHC_POLL_DELAY);\r
     TimeOut--;\r
   } while (TimeOut != 0);\r
@@ -659,27 +662,28 @@ XhcDetectDebugCapabilityReady (
 RETURN_STATUS\r
 EFIAPI\r
 InitializeUsbDebugHardware (\r
-  IN USB3_DEBUG_PORT_HANDLE *Handle\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle\r
   )\r
 {\r
-  RETURN_STATUS                   Status;\r
-  UINT8                           *Buffer;\r
-  UINTN                           Index;\r
-  UINT8                           TotalUsb3Port;\r
-  EFI_PHYSICAL_ADDRESS            XhciOpRegister;\r
-  UINT32                          Dcddi1;\r
+  RETURN_STATUS         Status;\r
+  UINT8                 *Buffer;\r
+  UINTN                 Index;\r
+  UINT8                 TotalUsb3Port;\r
+  EFI_PHYSICAL_ADDRESS  XhciOpRegister;\r
+  UINT32                Dcddi1;\r
 \r
   XhciOpRegister = Handle->XhciOpRegister;\r
-  TotalUsb3Port = MmioRead32 (((UINTN) Handle->XhciMmioBase + XHC_HCSPARAMS1_OFFSET)) >> 24;\r
+  TotalUsb3Port  = MmioRead32 (((UINTN)Handle->XhciMmioBase + XHC_HCSPARAMS1_OFFSET)) >> 24;\r
 \r
   if (Handle->Initialized == USB3DBG_NOT_ENABLED) {\r
-    Dcddi1 = XhcReadDebugReg (Handle,XHC_DC_DCDDI1);\r
+    Dcddi1 = XhcReadDebugReg (Handle, XHC_DC_DCDDI1);\r
     if (Dcddi1 != (UINT32)((XHCI_DEBUG_DEVICE_VENDOR_ID << 16) | XHCI_DEBUG_DEVICE_PROTOCOL)) {\r
       //\r
       // The debug capability has been reset by other code, return device error.\r
       //\r
       return EFI_DEVICE_ERROR;\r
     }\r
+\r
     //\r
     // If XHCI supports debug capability, hardware resource has been allocated,\r
     // but it has not been enabled, try to enable again.\r
@@ -718,8 +722,8 @@ InitializeUsbDebugHardware (
   //\r
   // Construct the buffer for read, poll and write.\r
   //\r
-  Handle->UrbIn.Data  = (EFI_PHYSICAL_ADDRESS)(UINTN) Buffer;\r
-  Handle->Data        = (EFI_PHYSICAL_ADDRESS)(UINTN) Buffer + XHCI_DEBUG_DEVICE_MAX_PACKET_SIZE;\r
+  Handle->UrbIn.Data  = (EFI_PHYSICAL_ADDRESS)(UINTN)Buffer;\r
+  Handle->Data        = (EFI_PHYSICAL_ADDRESS)(UINTN)Buffer + XHCI_DEBUG_DEVICE_MAX_PACKET_SIZE;\r
   Handle->UrbOut.Data = Handle->UrbIn.Data + XHCI_DEBUG_DEVICE_MAX_PACKET_SIZE * 2;\r
 \r
   //\r
@@ -739,16 +743,16 @@ InitializeUsbDebugHardware (
   // Init DCDDI1 and DCDDI2\r
   //\r
   XhcWriteDebugReg (\r
-   Handle,\r
-   XHC_DC_DCDDI1,\r
-   (UINT32)((XHCI_DEBUG_DEVICE_VENDOR_ID << 16) | XHCI_DEBUG_DEVICE_PROTOCOL)\r
-   );\r
+    Handle,\r
+    XHC_DC_DCDDI1,\r
+    (UINT32)((XHCI_DEBUG_DEVICE_VENDOR_ID << 16) | XHCI_DEBUG_DEVICE_PROTOCOL)\r
+    );\r
 \r
   XhcWriteDebugReg (\r
-   Handle,\r
-   XHC_DC_DCDDI2,\r
-   (UINT32)((XHCI_DEBUG_DEVICE_REVISION << 16) | XHCI_DEBUG_DEVICE_PRODUCT_ID)\r
-   );\r
+    Handle,\r
+    XHC_DC_DCDDI2,\r
+    (UINT32)((XHCI_DEBUG_DEVICE_REVISION << 16) | XHCI_DEBUG_DEVICE_PRODUCT_ID)\r
+    );\r
 \r
 Enable:\r
   if ((Handle->Initialized == USB3DBG_NOT_ENABLED) && (!Handle->ChangePortPower)) {\r
@@ -775,7 +779,7 @@ Enable:
   Status = RETURN_SUCCESS;\r
   if (!Handle->Ready) {\r
     Handle->Initialized = USB3DBG_NOT_ENABLED;\r
-    Status = RETURN_NOT_READY;\r
+    Status              = RETURN_NOT_READY;\r
   } else {\r
     Handle->Initialized = USB3DBG_ENABLED;\r
   }\r
@@ -791,16 +795,16 @@ Enable:
 **/\r
 VOID\r
 DiscoverInitializeUsbDebugPort (\r
-  IN USB3_DEBUG_PORT_HANDLE     *Handle\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle\r
   )\r
 {\r
-  EFI_STATUS                    Status;\r
-  EFI_PHYSICAL_ADDRESS          XhciMmioBase;\r
+  EFI_STATUS            Status;\r
+  EFI_PHYSICAL_ADDRESS  XhciMmioBase;\r
 \r
   //\r
   // Read 64-bit MMIO base address\r
   //\r
-  XhciMmioBase = ProgramXhciBaseAddress ();\r
+  XhciMmioBase         = ProgramXhciBaseAddress ();\r
   Handle->XhciMmioBase = XhciMmioBase;\r
 \r
   Status = CalculateUsbDebugPortMmioBase (Handle);\r
@@ -820,14 +824,14 @@ DiscoverInitializeUsbDebugPort (
 **/\r
 VOID\r
 SetUsb3DebugPortInstance (\r
-  IN USB3_DEBUG_PORT_HANDLE     *Instance\r
+  IN USB3_DEBUG_PORT_HANDLE  *Instance\r
   )\r
 {\r
-  EFI_PHYSICAL_ADDRESS          *AddrPtr;\r
+  EFI_PHYSICAL_ADDRESS  *AddrPtr;\r
 \r
   AddrPtr = GetUsb3DebugPortInstanceAddrPtr ();\r
   ASSERT (AddrPtr != NULL);\r
-  *AddrPtr = (EFI_PHYSICAL_ADDRESS) (UINTN) Instance;\r
+  *AddrPtr = (EFI_PHYSICAL_ADDRESS)(UINTN)Instance;\r
 }\r
 \r
 /**\r
@@ -839,13 +843,13 @@ GetUsb3DebugPortInstance (
   VOID\r
   )\r
 {\r
-  EFI_PHYSICAL_ADDRESS          *AddrPtr;\r
-  USB3_DEBUG_PORT_HANDLE        *Instance;\r
+  EFI_PHYSICAL_ADDRESS    *AddrPtr;\r
+  USB3_DEBUG_PORT_HANDLE  *Instance;\r
 \r
   AddrPtr = GetUsb3DebugPortInstanceAddrPtr ();\r
   ASSERT (AddrPtr != NULL);\r
 \r
-  Instance = (USB3_DEBUG_PORT_HANDLE *) (UINTN) *AddrPtr;\r
+  Instance = (USB3_DEBUG_PORT_HANDLE *)(UINTN)*AddrPtr;\r
 \r
   return Instance;\r
 }\r
@@ -870,17 +874,17 @@ GetUsb3DebugPortInstance (
 UINTN\r
 EFIAPI\r
 DebugPortReadBuffer (\r
-  IN   DEBUG_PORT_HANDLE        Handle,\r
-  IN   UINT8                    *Buffer,\r
-  IN   UINTN                    NumberOfBytes,\r
-  IN   UINTN                    Timeout\r
+  IN   DEBUG_PORT_HANDLE  Handle,\r
+  IN   UINT8              *Buffer,\r
+  IN   UINTN              NumberOfBytes,\r
+  IN   UINTN              Timeout\r
   )\r
 {\r
-  USB3_DEBUG_PORT_HANDLE    *UsbDebugPortHandle;\r
-  UINT8                     Index;\r
-  UINT8                     *Data;\r
+  USB3_DEBUG_PORT_HANDLE  *UsbDebugPortHandle;\r
+  UINT8                   Index;\r
+  UINT8                   *Data;\r
 \r
-  if (NumberOfBytes != 1 || Buffer == NULL || Timeout != 0) {\r
+  if ((NumberOfBytes != 1) || (Buffer == NULL) || (Timeout != 0)) {\r
     return 0;\r
   }\r
 \r
@@ -889,11 +893,12 @@ DebugPortReadBuffer (
   // If Handle is not NULL, use it and set the instance.\r
   //\r
   if (Handle != NULL) {\r
-    UsbDebugPortHandle = (USB3_DEBUG_PORT_HANDLE *) Handle;\r
+    UsbDebugPortHandle = (USB3_DEBUG_PORT_HANDLE *)Handle;\r
     SetUsb3DebugPortInstance (UsbDebugPortHandle);\r
   } else {\r
     UsbDebugPortHandle = GetUsb3DebugPortInstance ();\r
   }\r
+\r
   if (UsbDebugPortHandle == NULL) {\r
     return 0;\r
   }\r
@@ -922,8 +927,10 @@ DebugPortReadBuffer (
       if ((Index + 1) >= XHCI_DEBUG_DEVICE_MAX_PACKET_SIZE) {\r
         return 0;\r
       }\r
+\r
       Data[Index] = Data[Index + 1];\r
     }\r
+\r
     UsbDebugPortHandle->DataCount = (UINT8)(UsbDebugPortHandle->DataCount - 1);\r
     return 1;\r
   }\r
@@ -949,16 +956,16 @@ DebugPortReadBuffer (
 UINTN\r
 EFIAPI\r
 DebugPortWriteBuffer (\r
-  IN   DEBUG_PORT_HANDLE    Handle,\r
-  IN   UINT8                *Buffer,\r
-  IN   UINTN                NumberOfBytes\r
+  IN   DEBUG_PORT_HANDLE  Handle,\r
+  IN   UINT8              *Buffer,\r
+  IN   UINTN              NumberOfBytes\r
   )\r
 {\r
-  USB3_DEBUG_PORT_HANDLE    *UsbDebugPortHandle;\r
-  UINTN                     Sent;\r
-  UINTN                     Total;\r
+  USB3_DEBUG_PORT_HANDLE  *UsbDebugPortHandle;\r
+  UINTN                   Sent;\r
+  UINTN                   Total;\r
 \r
-  if (NumberOfBytes == 0 || Buffer == NULL) {\r
+  if ((NumberOfBytes == 0) || (Buffer == NULL)) {\r
     return 0;\r
   }\r
 \r
@@ -970,11 +977,12 @@ DebugPortWriteBuffer (
   // If Handle is not NULL, use it and set the instance.\r
   //\r
   if (Handle != NULL) {\r
-    UsbDebugPortHandle = (USB3_DEBUG_PORT_HANDLE *) Handle;\r
+    UsbDebugPortHandle = (USB3_DEBUG_PORT_HANDLE *)Handle;\r
     SetUsb3DebugPortInstance (UsbDebugPortHandle);\r
   } else {\r
     UsbDebugPortHandle = GetUsb3DebugPortInstance ();\r
   }\r
+\r
   if (UsbDebugPortHandle == NULL) {\r
     return 0;\r
   }\r
@@ -1001,6 +1009,7 @@ DebugPortWriteBuffer (
     } else {\r
       Sent = (UINT8)(NumberOfBytes - Total);\r
     }\r
+\r
     XhcDataTransfer (UsbDebugPortHandle, EfiUsbDataOut, Buffer + Total, &Sent, DATA_TRANSFER_WRITE_TIMEOUT);\r
     Total += Sent;\r
   }\r
@@ -1024,22 +1033,23 @@ DebugPortWriteBuffer (
 BOOLEAN\r
 EFIAPI\r
 DebugPortPollBuffer (\r
-  IN DEBUG_PORT_HANDLE      Handle\r
+  IN DEBUG_PORT_HANDLE  Handle\r
   )\r
 {\r
-  USB3_DEBUG_PORT_HANDLE     *UsbDebugPortHandle;\r
-  UINTN                     Length;\r
+  USB3_DEBUG_PORT_HANDLE  *UsbDebugPortHandle;\r
+  UINTN                   Length;\r
 \r
   //\r
   // If Handle is NULL, get own instance.\r
   // If Handle is not NULL, use it and set the instance.\r
   //\r
   if (Handle != NULL) {\r
-    UsbDebugPortHandle = (USB3_DEBUG_PORT_HANDLE *) Handle;\r
+    UsbDebugPortHandle = (USB3_DEBUG_PORT_HANDLE *)Handle;\r
     SetUsb3DebugPortInstance (UsbDebugPortHandle);\r
   } else {\r
     UsbDebugPortHandle = GetUsb3DebugPortInstance ();\r
   }\r
+\r
   if (UsbDebugPortHandle == NULL) {\r
     return FALSE;\r
   }\r
@@ -1079,7 +1089,7 @@ DebugPortPollBuffer (
   //\r
   // Store data into internal buffer for use later\r
   //\r
-  UsbDebugPortHandle->DataCount = (UINT8) Length;\r
+  UsbDebugPortHandle->DataCount = (UINT8)Length;\r
   return TRUE;\r
 }\r
 \r
@@ -1114,17 +1124,18 @@ DebugPortInitialize (
   IN DEBUG_PORT_CONTINUE  Function\r
   )\r
 {\r
-  USB3_DEBUG_PORT_HANDLE    *UsbDebugPortHandle;\r
+  USB3_DEBUG_PORT_HANDLE  *UsbDebugPortHandle;\r
 \r
   //\r
   // Validate the PCD PcdDebugPortHandleBufferSize value\r
   //\r
   ASSERT (PcdGet16 (PcdDebugPortHandleBufferSize) == sizeof (USB3_DEBUG_PORT_HANDLE));\r
 \r
-  if (Function == NULL && Context != NULL) {\r
-    SetUsb3DebugPortInstance ((USB3_DEBUG_PORT_HANDLE *) Context);\r
-    return (DEBUG_PORT_HANDLE) Context;\r
+  if ((Function == NULL) && (Context != NULL)) {\r
+    SetUsb3DebugPortInstance ((USB3_DEBUG_PORT_HANDLE *)Context);\r
+    return (DEBUG_PORT_HANDLE)Context;\r
   }\r
+\r
   UsbDebugPortHandle = GetUsb3DebugPortInstance ();\r
   if (UsbDebugPortHandle == NULL) {\r
     return NULL;\r
@@ -1133,8 +1144,8 @@ DebugPortInitialize (
   DiscoverInitializeUsbDebugPort (UsbDebugPortHandle);\r
 \r
   if (Function != NULL) {\r
-    Function (Context, (DEBUG_PORT_HANDLE) UsbDebugPortHandle);\r
+    Function (Context, (DEBUG_PORT_HANDLE)UsbDebugPortHandle);\r
   }\r
 \r
-  return (DEBUG_PORT_HANDLE) UsbDebugPortHandle;\r
+  return (DEBUG_PORT_HANDLE)UsbDebugPortHandle;\r
 }\r
index d2ff2d52a70ffab1b7ff15799a4a67986fb2558d..4490526273c9b88acbabf931661de889d926b8ee 100644 (file)
 #include <Protocol/DxeSmmReadyToLock.h>\r
 #include "DebugCommunicationLibUsb3Internal.h"\r
 \r
-GUID                        gUsb3DbgGuid =  USB3_DBG_GUID;\r
+GUID  gUsb3DbgGuid =  USB3_DBG_GUID;\r
 \r
-USB3_DEBUG_PORT_HANDLE      mUsb3Instance = {USB3DBG_UNINITIALIZED};\r
-EFI_PHYSICAL_ADDRESS        mUsb3InstanceAddr = 0;\r
-EFI_PHYSICAL_ADDRESS        *mUsb3InstanceAddrPtr = NULL;\r
-EFI_PCI_IO_PROTOCOL         *mUsb3PciIo = NULL;\r
+USB3_DEBUG_PORT_HANDLE  mUsb3Instance         = { USB3DBG_UNINITIALIZED };\r
+EFI_PHYSICAL_ADDRESS    mUsb3InstanceAddr     = 0;\r
+EFI_PHYSICAL_ADDRESS    *mUsb3InstanceAddrPtr = NULL;\r
+EFI_PCI_IO_PROTOCOL     *mUsb3PciIo           = NULL;\r
 \r
 /**\r
   Creates a named event that can be signaled.\r
@@ -71,7 +71,7 @@ Usb3NamedEventListen (
   // Register for an installation of protocol interface\r
   //\r
   Status = gBS->RegisterProtocolNotify (\r
-                  (EFI_GUID *) Name,\r
+                  (EFI_GUID *)Name,\r
                   *Event,\r
                   &RegistrationLocal\r
                   );\r
@@ -90,27 +90,27 @@ Usb3NamedEventListen (
 **/\r
 VOID\r
 Usb3MapOneDmaBuffer (\r
-  IN EFI_PCI_IO_PROTOCOL        *PciIo,\r
-  IN EFI_PHYSICAL_ADDRESS       Address,\r
-  IN UINTN                      NumberOfBytes\r
+  IN EFI_PCI_IO_PROTOCOL   *PciIo,\r
+  IN EFI_PHYSICAL_ADDRESS  Address,\r
+  IN UINTN                 NumberOfBytes\r
   )\r
 {\r
-  EFI_STATUS                    Status;\r
-  VOID                          *HostAddress;\r
-  EFI_PHYSICAL_ADDRESS          DeviceAddress;\r
-  VOID                          *Mapping;\r
-\r
-  HostAddress = (VOID *) (UINTN) Address;\r
-  Status = PciIo->Map (\r
-                    PciIo,\r
-                    EfiPciIoOperationBusMasterCommonBuffer,\r
-                    HostAddress,\r
-                    &NumberOfBytes,\r
-                    &DeviceAddress,\r
-                    &Mapping\r
-                    );\r
+  EFI_STATUS            Status;\r
+  VOID                  *HostAddress;\r
+  EFI_PHYSICAL_ADDRESS  DeviceAddress;\r
+  VOID                  *Mapping;\r
+\r
+  HostAddress = (VOID *)(UINTN)Address;\r
+  Status      = PciIo->Map (\r
+                         PciIo,\r
+                         EfiPciIoOperationBusMasterCommonBuffer,\r
+                         HostAddress,\r
+                         &NumberOfBytes,\r
+                         &DeviceAddress,\r
+                         &Mapping\r
+                         );\r
   ASSERT_EFI_ERROR (Status);\r
-  ASSERT (DeviceAddress == ((EFI_PHYSICAL_ADDRESS) (UINTN) HostAddress));\r
+  ASSERT (DeviceAddress == ((EFI_PHYSICAL_ADDRESS)(UINTN)HostAddress));\r
 }\r
 \r
 /**\r
@@ -122,8 +122,8 @@ Usb3MapOneDmaBuffer (
 **/\r
 VOID\r
 Usb3MapDmaBuffers (\r
-  IN USB3_DEBUG_PORT_HANDLE     *Instance,\r
-  IN EFI_PCI_IO_PROTOCOL        *PciIo\r
+  IN USB3_DEBUG_PORT_HANDLE  *Instance,\r
+  IN EFI_PCI_IO_PROTOCOL     *PciIo\r
   )\r
 {\r
   Usb3MapOneDmaBuffer (\r
@@ -164,7 +164,7 @@ Usb3MapDmaBuffers (
 \r
   Usb3MapOneDmaBuffer (\r
     PciIo,\r
-    ((XHC_DC_CONTEXT *) (UINTN) Instance->DebugCapabilityContext)->DbcInfoContext.String0DescAddress,\r
+    ((XHC_DC_CONTEXT *)(UINTN)Instance->DebugCapabilityContext)->DbcInfoContext.String0DescAddress,\r
     STRING0_DESC_LEN + MANU_DESC_LEN + PRODUCT_DESC_LEN + SERIAL_DESC_LEN\r
     );\r
 }\r
@@ -180,11 +180,11 @@ Usb3MapDmaBuffers (
 VOID\r
 EFIAPI\r
 Usb3DxeSmmReadyToLockNotify (\r
-  IN EFI_EVENT                  Event,\r
-  IN VOID                       *Context\r
+  IN EFI_EVENT  Event,\r
+  IN VOID       *Context\r
   )\r
 {\r
-  USB3_DEBUG_PORT_HANDLE        *Instance;\r
+  USB3_DEBUG_PORT_HANDLE  *Instance;\r
 \r
   DEBUG ((DEBUG_INFO, "%a()\n", __FUNCTION__));\r
 \r
@@ -221,15 +221,15 @@ Usb3GetIoMmu (
   VOID\r
   )\r
 {\r
-  EFI_STATUS                Status;\r
-  EDKII_IOMMU_PROTOCOL      *IoMmu;\r
+  EFI_STATUS            Status;\r
+  EDKII_IOMMU_PROTOCOL  *IoMmu;\r
 \r
-  IoMmu = NULL;\r
+  IoMmu  = NULL;\r
   Status = gBS->LocateProtocol (\r
-             &gEdkiiIoMmuProtocolGuid,\r
-             NULL,\r
-             (VOID **) &IoMmu\r
-             );\r
+                  &gEdkiiIoMmuProtocolGuid,\r
+                  NULL,\r
+                  (VOID **)&IoMmu\r
+                  );\r
   if (!EFI_ERROR (Status) && (IoMmu != NULL)) {\r
     return IoMmu;\r
   }\r
@@ -248,22 +248,22 @@ Usb3GetIoMmu (
 VOID\r
 EFIAPI\r
 Usb3PciIoNotify (\r
-  IN  EFI_EVENT                 Event,\r
-  IN  VOID                      *Context\r
+  IN  EFI_EVENT  Event,\r
+  IN  VOID       *Context\r
   )\r
 {\r
-  EFI_STATUS                    Status;\r
-  UINTN                         PciIoHandleCount;\r
-  EFI_HANDLE                    *PciIoHandleBuffer;\r
-  UINTN                         Index;\r
-  EFI_PCI_IO_PROTOCOL           *PciIo;\r
-  UINTN                         PciSegment;\r
-  UINTN                         PciBusNumber;\r
-  UINTN                         PciDeviceNumber;\r
-  UINTN                         PciFunctionNumber;\r
-  UINT32                        PciAddress;\r
-  USB3_DEBUG_PORT_HANDLE        *Instance;\r
-  EFI_EVENT                     SmmReadyToLockEvent;\r
+  EFI_STATUS              Status;\r
+  UINTN                   PciIoHandleCount;\r
+  EFI_HANDLE              *PciIoHandleBuffer;\r
+  UINTN                   Index;\r
+  EFI_PCI_IO_PROTOCOL     *PciIo;\r
+  UINTN                   PciSegment;\r
+  UINTN                   PciBusNumber;\r
+  UINTN                   PciDeviceNumber;\r
+  UINTN                   PciFunctionNumber;\r
+  UINT32                  PciAddress;\r
+  USB3_DEBUG_PORT_HANDLE  *Instance;\r
+  EFI_EVENT               SmmReadyToLockEvent;\r
 \r
   Status = gBS->LocateHandleBuffer (\r
                   ByProtocol,\r
@@ -274,18 +274,19 @@ Usb3PciIoNotify (
                   );\r
   if (!EFI_ERROR (Status) &&\r
       (PciIoHandleBuffer != NULL) &&\r
-      (PciIoHandleCount != 0)) {\r
+      (PciIoHandleCount != 0))\r
+  {\r
     for (Index = 0; Index < PciIoHandleCount; Index++) {\r
       Status = gBS->HandleProtocol (\r
                       PciIoHandleBuffer[Index],\r
                       &gEfiPciIoProtocolGuid,\r
-                      (VOID **) &PciIo\r
+                      (VOID **)&PciIo\r
                       );\r
       ASSERT_EFI_ERROR (Status);\r
       Status = PciIo->GetLocation (PciIo, &PciSegment, &PciBusNumber, &PciDeviceNumber, &PciFunctionNumber);\r
       ASSERT_EFI_ERROR (Status);\r
-      PciAddress = (UINT32) ((PciBusNumber << 20) | (PciDeviceNumber << 15) | (PciFunctionNumber << 12));\r
-      if (PciAddress == PcdGet32(PcdUsbXhciPciAddress)) {\r
+      PciAddress = (UINT32)((PciBusNumber << 20) | (PciDeviceNumber << 15) | (PciFunctionNumber << 12));\r
+      if (PciAddress == PcdGet32 (PcdUsbXhciPciAddress)) {\r
         //\r
         // Found the PciIo for USB3 debug port.\r
         //\r
@@ -309,6 +310,7 @@ Usb3PciIoNotify (
             }\r
           }\r
         }\r
+\r
         gBS->CloseEvent (Event);\r
         break;\r
       }\r
@@ -331,9 +333,10 @@ GetUsb3DebugPortInstanceAddrPtr (
     //\r
     // Use the local variables temporarily.\r
     //\r
-    mUsb3InstanceAddr = (EFI_PHYSICAL_ADDRESS) (UINTN) &mUsb3Instance;\r
+    mUsb3InstanceAddr    = (EFI_PHYSICAL_ADDRESS)(UINTN)&mUsb3Instance;\r
     mUsb3InstanceAddrPtr = &mUsb3InstanceAddr;\r
   }\r
+\r
   return mUsb3InstanceAddrPtr;\r
 }\r
 \r
@@ -355,29 +358,30 @@ GetUsb3DebugPortInstanceAddrPtr (
 **/\r
 EFI_STATUS\r
 Usb3AllocateDmaBuffer (\r
-  IN EFI_PCI_IO_PROTOCOL    *PciIo,\r
-  IN UINTN                  Pages,\r
-  OUT VOID                  **Address\r
+  IN EFI_PCI_IO_PROTOCOL  *PciIo,\r
+  IN UINTN                Pages,\r
+  OUT VOID                **Address\r
   )\r
 {\r
-  EFI_STATUS            Status;\r
+  EFI_STATUS  Status;\r
 \r
   *Address = NULL;\r
-  Status = PciIo->AllocateBuffer (\r
-                    PciIo,\r
-                    AllocateAnyPages,\r
-                    EfiRuntimeServicesData,\r
-                    Pages,\r
-                    Address,\r
-                    0\r
-                    );\r
+  Status   = PciIo->AllocateBuffer (\r
+                      PciIo,\r
+                      AllocateAnyPages,\r
+                      EfiRuntimeServicesData,\r
+                      Pages,\r
+                      Address,\r
+                      0\r
+                      );\r
   if (!EFI_ERROR (Status)) {\r
     Usb3MapOneDmaBuffer (\r
       PciIo,\r
-      (EFI_PHYSICAL_ADDRESS) (UINTN) *Address,\r
+      (EFI_PHYSICAL_ADDRESS)(UINTN)*Address,\r
       EFI_PAGES_TO_SIZE (Pages)\r
       );\r
   }\r
+\r
   return Status;\r
 }\r
 \r
@@ -389,14 +393,14 @@ Usb3AllocateDmaBuffer (
   @return A pointer to the allocated buffer or NULL if allocation fails.\r
 \r
 **/\r
-VOID*\r
+VOID *\r
 AllocateAlignBuffer (\r
-  IN UINTN                    BufferSize\r
+  IN UINTN  BufferSize\r
   )\r
 {\r
-  EFI_PHYSICAL_ADDRESS    TmpAddr;\r
-  EFI_STATUS              Status;\r
-  VOID                    *Buf;\r
+  EFI_PHYSICAL_ADDRESS  TmpAddr;\r
+  EFI_STATUS            Status;\r
+  VOID                  *Buf;\r
 \r
   Buf = NULL;\r
 \r
@@ -409,14 +413,14 @@ AllocateAlignBuffer (
         );\r
     } else {\r
       TmpAddr = 0xFFFFFFFF;\r
-      Status = gBS->AllocatePages (\r
-                      AllocateMaxAddress,\r
-                      EfiACPIMemoryNVS,\r
-                      EFI_SIZE_TO_PAGES (BufferSize),\r
-                      &TmpAddr\r
-                      );\r
+      Status  = gBS->AllocatePages (\r
+                       AllocateMaxAddress,\r
+                       EfiACPIMemoryNVS,\r
+                       EFI_SIZE_TO_PAGES (BufferSize),\r
+                       &TmpAddr\r
+                       );\r
       if (!EFI_ERROR (Status)) {\r
-        Buf = (VOID *) (UINTN) TmpAddr;\r
+        Buf = (VOID *)(UINTN)TmpAddr;\r
       }\r
     }\r
   }\r
@@ -440,34 +444,34 @@ DebugCommunicationUsb3DxeConstructor (
   IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  EFI_PHYSICAL_ADDRESS          *AddrPtr;\r
-  USB3_DEBUG_PORT_HANDLE        *Instance;\r
-  EFI_PHYSICAL_ADDRESS          Address;\r
-  EFI_STATUS                    Status;\r
-  EFI_EVENT                     Event;\r
+  EFI_PHYSICAL_ADDRESS    *AddrPtr;\r
+  USB3_DEBUG_PORT_HANDLE  *Instance;\r
+  EFI_PHYSICAL_ADDRESS    Address;\r
+  EFI_STATUS              Status;\r
+  EFI_EVENT               Event;\r
 \r
-  Status = EfiGetSystemConfigurationTable (&gUsb3DbgGuid, (VOID **) &AddrPtr);\r
+  Status = EfiGetSystemConfigurationTable (&gUsb3DbgGuid, (VOID **)&AddrPtr);\r
   if (EFI_ERROR (Status) || (AddrPtr == NULL)) {\r
     //\r
     // Instead of using local variables, install system configuration table for\r
     // the local instance and the buffer to save instance address pointer.\r
     //\r
     Address = SIZE_4GB;\r
-    Status = gBS->AllocatePages (\r
-                    AllocateMaxAddress,\r
-                    EfiACPIMemoryNVS,\r
-                    EFI_SIZE_TO_PAGES (sizeof (EFI_PHYSICAL_ADDRESS) + sizeof (USB3_DEBUG_PORT_HANDLE)),\r
-                    &Address\r
-                    );\r
+    Status  = gBS->AllocatePages (\r
+                     AllocateMaxAddress,\r
+                     EfiACPIMemoryNVS,\r
+                     EFI_SIZE_TO_PAGES (sizeof (EFI_PHYSICAL_ADDRESS) + sizeof (USB3_DEBUG_PORT_HANDLE)),\r
+                     &Address\r
+                     );\r
     if (EFI_ERROR (Status)) {\r
       return Status;\r
     }\r
 \r
-    AddrPtr = (EFI_PHYSICAL_ADDRESS *) (UINTN) Address;\r
+    AddrPtr = (EFI_PHYSICAL_ADDRESS *)(UINTN)Address;\r
     ZeroMem (AddrPtr, sizeof (EFI_PHYSICAL_ADDRESS) + sizeof (USB3_DEBUG_PORT_HANDLE));\r
-    Instance = (USB3_DEBUG_PORT_HANDLE *) (AddrPtr + 1);\r
+    Instance = (USB3_DEBUG_PORT_HANDLE *)(AddrPtr + 1);\r
     CopyMem (Instance, &mUsb3Instance, sizeof (USB3_DEBUG_PORT_HANDLE));\r
-    *AddrPtr = (EFI_PHYSICAL_ADDRESS) (UINTN) Instance;\r
+    *AddrPtr = (EFI_PHYSICAL_ADDRESS)(UINTN)Instance;\r
 \r
     Status = gBS->InstallConfigurationTable (&gUsb3DbgGuid, AddrPtr);\r
     if (EFI_ERROR (Status)) {\r
@@ -478,6 +482,7 @@ DebugCommunicationUsb3DxeConstructor (
   if (mUsb3InstanceAddrPtr != NULL) {\r
     *AddrPtr = *mUsb3InstanceAddrPtr;\r
   }\r
+\r
   mUsb3InstanceAddrPtr = AddrPtr;\r
 \r
   Instance = GetUsb3DebugPortInstance ();\r
@@ -491,7 +496,7 @@ DebugCommunicationUsb3DxeConstructor (
                &Event\r
                );\r
     if (!EFI_ERROR (Status)) {\r
-      Instance->PciIoEvent = (EFI_PHYSICAL_ADDRESS) (UINTN) Event;\r
+      Instance->PciIoEvent = (EFI_PHYSICAL_ADDRESS)(UINTN)Event;\r
     }\r
   }\r
 \r
@@ -514,7 +519,7 @@ DebugCommunicationUsb3DxeDestructor (
   IN EFI_SYSTEM_TABLE  *SystemTable\r
   )\r
 {\r
-  USB3_DEBUG_PORT_HANDLE        *Instance;\r
+  USB3_DEBUG_PORT_HANDLE  *Instance;\r
 \r
   Instance = GetUsb3DebugPortInstance ();\r
   ASSERT (Instance != NULL);\r
@@ -523,9 +528,9 @@ DebugCommunicationUsb3DxeDestructor (
     //\r
     // Close the event created.\r
     //\r
-    gBS->CloseEvent ((EFI_EVENT) (UINTN) Instance->PciIoEvent);\r
+    gBS->CloseEvent ((EFI_EVENT)(UINTN)Instance->PciIoEvent);\r
     Instance->PciIoEvent = 0;\r
   }\r
+\r
   return EFI_SUCCESS;\r
 }\r
-\r
index df50220f33dc1b3b495aac4e6c6c66a060b35481..c73233ea49b0bd10a4316c336ddc30c22b086d76 100644 (file)
 //\r
 // The state machine of usb debug port\r
 //\r
-#define USB3DBG_NO_DBG_CAB    0   // The XHCI host controller does not support debug capability\r
-#define USB3DBG_DBG_CAB       1   // The XHCI host controller supports debug capability\r
-#define USB3DBG_ENABLED       2   // The XHCI debug device is enabled\r
-#define USB3DBG_NOT_ENABLED   4   // The XHCI debug device is not enabled\r
-#define USB3DBG_UNINITIALIZED 255 // The XHCI debug device is uninitialized\r
+#define USB3DBG_NO_DBG_CAB     0   // The XHCI host controller does not support debug capability\r
+#define USB3DBG_DBG_CAB        1   // The XHCI host controller supports debug capability\r
+#define USB3DBG_ENABLED        2   // The XHCI debug device is enabled\r
+#define USB3DBG_NOT_ENABLED    4   // The XHCI debug device is not enabled\r
+#define USB3DBG_UNINITIALIZED  255 // The XHCI debug device is uninitialized\r
 \r
-#define USB3_DEBUG_PORT_WRITE_MAX_PACKET_SIZE 0x08\r
+#define USB3_DEBUG_PORT_WRITE_MAX_PACKET_SIZE  0x08\r
 \r
 //\r
 // MaxPacketSize for DbC Endpoint Descriptor IN and OUT\r
 //\r
-#define XHCI_DEBUG_DEVICE_MAX_PACKET_SIZE    0x400\r
+#define XHCI_DEBUG_DEVICE_MAX_PACKET_SIZE  0x400\r
 \r
 #define XHCI_DEBUG_DEVICE_VENDOR_ID   0x0525\r
 #define XHCI_DEBUG_DEVICE_PRODUCT_ID  0x127A\r
 #define XHCI_DEBUG_DEVICE_PROTOCOL    0xFF\r
 #define XHCI_DEBUG_DEVICE_REVISION    0x00\r
 \r
-#define XHCI_BASE_ADDRESS_64_BIT_MASK 0xFFFFFFFFFFFF0000ULL\r
-#define XHCI_BASE_ADDRESS_32_BIT_MASK 0xFFFF0000\r
+#define XHCI_BASE_ADDRESS_64_BIT_MASK  0xFFFFFFFFFFFF0000ULL\r
+#define XHCI_BASE_ADDRESS_32_BIT_MASK  0xFFFF0000\r
 \r
 #define PCI_CAPABILITY_ID_DEBUG_PORT  0x0A\r
 #define XHC_HCCPARAMS_OFFSET          0x10\r
 #define XHC_CAPABILITY_ID_MASK        0xFF\r
 #define XHC_NEXT_CAPABILITY_MASK      0xFF00\r
 \r
-#define XHC_HCSPARAMS1_OFFSET         0x4    // Structural Parameters 1\r
-#define XHC_USBCMD_OFFSET             0x0    // USB Command Register Offset\r
-#define XHC_USBSTS_OFFSET             0x4    // USB Status Register Offset\r
-#define XHC_PORTSC_OFFSET             0x400  // Port Status and Control Register Offset\r
+#define XHC_HCSPARAMS1_OFFSET  0x4           // Structural Parameters 1\r
+#define XHC_USBCMD_OFFSET      0x0           // USB Command Register Offset\r
+#define XHC_USBSTS_OFFSET      0x4           // USB Status Register Offset\r
+#define XHC_PORTSC_OFFSET      0x400         // Port Status and Control Register Offset\r
 \r
-#define XHC_USBCMD_RUN                BIT0  // Run/Stop\r
-#define XHC_USBCMD_RESET              BIT1  // Host Controller Reset\r
+#define XHC_USBCMD_RUN    BIT0              // Run/Stop\r
+#define XHC_USBCMD_RESET  BIT1              // Host Controller Reset\r
 \r
-#define XHC_USBSTS_HALT               BIT0\r
+#define XHC_USBSTS_HALT  BIT0\r
 \r
 //\r
 // Indicate the timeout when data is transferred in microsecond. 0 means infinite timeout.\r
 //\r
-#define DATA_TRANSFER_WRITE_TIMEOUT      0\r
-#define DATA_TRANSFER_READ_TIMEOUT       50000\r
-#define DATA_TRANSFER_POLL_TIMEOUT       1000\r
-#define XHC_DEBUG_PORT_1_MILLISECOND     1000\r
+#define DATA_TRANSFER_WRITE_TIMEOUT   0\r
+#define DATA_TRANSFER_READ_TIMEOUT    50000\r
+#define DATA_TRANSFER_POLL_TIMEOUT    1000\r
+#define XHC_DEBUG_PORT_1_MILLISECOND  1000\r
 //\r
 // XHCI port power off/on delay\r
 //\r
-#define XHC_DEBUG_PORT_ON_OFF_DELAY    100000\r
+#define XHC_DEBUG_PORT_ON_OFF_DELAY  100000\r
 \r
 //\r
 // USB debug device string descriptor (header size + unicode string length)\r
 //\r
-#define STRING0_DESC_LEN      4\r
-#define MANU_DESC_LEN         12\r
-#define PRODUCT_DESC_LEN      40\r
-#define SERIAL_DESC_LEN       4\r
+#define STRING0_DESC_LEN  4\r
+#define MANU_DESC_LEN     12\r
+#define PRODUCT_DESC_LEN  40\r
+#define SERIAL_DESC_LEN   4\r
 \r
 //\r
 // Debug Capability Register Offset\r
 //\r
-#define XHC_DC_DCID                  0x0\r
-#define XHC_DC_DCDB                  0x4\r
-#define XHC_DC_DCERSTSZ              0x8\r
-#define XHC_DC_DCERSTBA              0x10\r
-#define XHC_DC_DCERDP                0x18\r
-#define XHC_DC_DCCTRL                0x20\r
-#define XHC_DC_DCST                  0x24\r
-#define XHC_DC_DCPORTSC              0x28\r
-#define XHC_DC_DCCP                  0x30\r
-#define XHC_DC_DCDDI1                0x38\r
-#define XHC_DC_DCDDI2                0x3C\r
+#define XHC_DC_DCID      0x0\r
+#define XHC_DC_DCDB      0x4\r
+#define XHC_DC_DCERSTSZ  0x8\r
+#define XHC_DC_DCERSTBA  0x10\r
+#define XHC_DC_DCERDP    0x18\r
+#define XHC_DC_DCCTRL    0x20\r
+#define XHC_DC_DCST      0x24\r
+#define XHC_DC_DCPORTSC  0x28\r
+#define XHC_DC_DCCP      0x30\r
+#define XHC_DC_DCDDI1    0x38\r
+#define XHC_DC_DCDDI2    0x3C\r
 \r
-#define TRB_TYPE_LINK                6\r
+#define TRB_TYPE_LINK  6\r
 \r
-#define ERST_NUMBER                  0x01\r
-#define TR_RING_TRB_NUMBER           0x100\r
-#define EVENT_RING_TRB_NUMBER        0x200\r
+#define ERST_NUMBER            0x01\r
+#define TR_RING_TRB_NUMBER     0x100\r
+#define EVENT_RING_TRB_NUMBER  0x200\r
 \r
-#define ED_BULK_OUT                  2\r
-#define ED_BULK_IN                   6\r
+#define ED_BULK_OUT  2\r
+#define ED_BULK_IN   6\r
 \r
-#define XHC_LOW_32BIT(Addr64)          ((UINT32)(((UINTN)(Addr64)) & 0xFFFFFFFF))\r
-#define XHC_HIGH_32BIT(Addr64)         ((UINT32)(RShiftU64((UINT64)(UINTN)(Addr64), 32) & 0xFFFFFFFF))\r
-#define XHC_BIT_IS_SET(Data, Bit)      ((BOOLEAN)(((Data) & (Bit)) == (Bit)))\r
+#define XHC_LOW_32BIT(Addr64)      ((UINT32)(((UINTN)(Addr64)) & 0xFFFFFFFF))\r
+#define XHC_HIGH_32BIT(Addr64)     ((UINT32)(RShiftU64((UINT64)(UINTN)(Addr64), 32) & 0xFFFFFFFF))\r
+#define XHC_BIT_IS_SET(Data, Bit)  ((BOOLEAN)(((Data) & (Bit)) == (Bit)))\r
 \r
 //\r
 // Endpoint Type (EP Type).\r
 //\r
-#define ED_NOT_VALID                          0\r
-#define ED_ISOCH_OUT                          1\r
-#define ED_BULK_OUT                           2\r
-#define ED_INTERRUPT_OUT                      3\r
-#define ED_CONTROL_BIDIR                      4\r
-#define ED_ISOCH_IN                           5\r
-#define ED_BULK_IN                            6\r
-#define ED_INTERRUPT_IN                       7\r
+#define ED_NOT_VALID      0\r
+#define ED_ISOCH_OUT      1\r
+#define ED_BULK_OUT       2\r
+#define ED_INTERRUPT_OUT  3\r
+#define ED_CONTROL_BIDIR  4\r
+#define ED_ISOCH_IN       5\r
+#define ED_BULK_IN        6\r
+#define ED_INTERRUPT_IN   7\r
 \r
 //\r
 // 6.4.5 TRB Completion Codes\r
 //\r
 // 6.4.6 TRB Types\r
 //\r
-#define TRB_TYPE_NORMAL                       1\r
-#define TRB_TYPE_SETUP_STAGE                  2\r
-#define TRB_TYPE_DATA_STAGE                   3\r
-#define TRB_TYPE_STATUS_STAGE                 4\r
-#define TRB_TYPE_ISOCH                        5\r
-#define TRB_TYPE_LINK                         6\r
-#define TRB_TYPE_EVENT_DATA                   7\r
-#define TRB_TYPE_NO_OP                        8\r
-#define TRB_TYPE_EN_SLOT                      9\r
-#define TRB_TYPE_DIS_SLOT                     10\r
-#define TRB_TYPE_ADDRESS_DEV                  11\r
-#define TRB_TYPE_CON_ENDPOINT                 12\r
-#define TRB_TYPE_EVALU_CONTXT                 13\r
-#define TRB_TYPE_RESET_ENDPOINT               14\r
-#define TRB_TYPE_STOP_ENDPOINT                15\r
-#define TRB_TYPE_SET_TR_DEQUE                 16\r
-#define TRB_TYPE_RESET_DEV                    17\r
-#define TRB_TYPE_GET_PORT_BANW                21\r
-#define TRB_TYPE_FORCE_HEADER                 22\r
-#define TRB_TYPE_NO_OP_COMMAND                23\r
-#define TRB_TYPE_TRANS_EVENT                  32\r
-#define TRB_TYPE_COMMAND_COMPLT_EVENT         33\r
-#define TRB_TYPE_PORT_STATUS_CHANGE_EVENT     34\r
-#define TRB_TYPE_HOST_CONTROLLER_EVENT        37\r
-#define TRB_TYPE_DEVICE_NOTIFI_EVENT          38\r
-#define TRB_TYPE_MFINDEX_WRAP_EVENT           39\r
+#define TRB_TYPE_NORMAL                    1\r
+#define TRB_TYPE_SETUP_STAGE               2\r
+#define TRB_TYPE_DATA_STAGE                3\r
+#define TRB_TYPE_STATUS_STAGE              4\r
+#define TRB_TYPE_ISOCH                     5\r
+#define TRB_TYPE_LINK                      6\r
+#define TRB_TYPE_EVENT_DATA                7\r
+#define TRB_TYPE_NO_OP                     8\r
+#define TRB_TYPE_EN_SLOT                   9\r
+#define TRB_TYPE_DIS_SLOT                  10\r
+#define TRB_TYPE_ADDRESS_DEV               11\r
+#define TRB_TYPE_CON_ENDPOINT              12\r
+#define TRB_TYPE_EVALU_CONTXT              13\r
+#define TRB_TYPE_RESET_ENDPOINT            14\r
+#define TRB_TYPE_STOP_ENDPOINT             15\r
+#define TRB_TYPE_SET_TR_DEQUE              16\r
+#define TRB_TYPE_RESET_DEV                 17\r
+#define TRB_TYPE_GET_PORT_BANW             21\r
+#define TRB_TYPE_FORCE_HEADER              22\r
+#define TRB_TYPE_NO_OP_COMMAND             23\r
+#define TRB_TYPE_TRANS_EVENT               32\r
+#define TRB_TYPE_COMMAND_COMPLT_EVENT      33\r
+#define TRB_TYPE_PORT_STATUS_CHANGE_EVENT  34\r
+#define TRB_TYPE_HOST_CONTROLLER_EVENT     37\r
+#define TRB_TYPE_DEVICE_NOTIFI_EVENT       38\r
+#define TRB_TYPE_MFINDEX_WRAP_EVENT        39\r
 \r
 //\r
 // Convert millisecond to microsecond.\r
 //\r
-#define XHC_1_MILLISECOND                     (1000)\r
-#define XHC_POLL_DELAY                        (1000)\r
-#define XHC_GENERIC_TIMEOUT                   (10 * 1000)\r
+#define XHC_1_MILLISECOND    (1000)\r
+#define XHC_POLL_DELAY       (1000)\r
+#define XHC_GENERIC_TIMEOUT  (10 * 1000)\r
 \r
-#define EFI_USB_SPEED_FULL                    0x0000  ///< 12 Mb/s, USB 1.1 OHCI and UHCI HC.\r
-#define EFI_USB_SPEED_LOW                     0x0001  ///< 1 Mb/s, USB 1.1 OHCI and UHCI HC.\r
-#define EFI_USB_SPEED_HIGH                    0x0002  ///< 480 Mb/s, USB 2.0 EHCI HC.\r
-#define EFI_USB_SPEED_SUPER                   0x0003  ///< 4.8 Gb/s, USB 3.0 XHCI HC.\r
+#define EFI_USB_SPEED_FULL   0x0000                   ///< 12 Mb/s, USB 1.1 OHCI and UHCI HC.\r
+#define EFI_USB_SPEED_LOW    0x0001                   ///< 1 Mb/s, USB 1.1 OHCI and UHCI HC.\r
+#define EFI_USB_SPEED_HIGH   0x0002                   ///< 480 Mb/s, USB 2.0 EHCI HC.\r
+#define EFI_USB_SPEED_SUPER  0x0003                   ///< 4.8 Gb/s, USB 3.0 XHCI HC.\r
 \r
 //\r
 // Transfer types, used in URB to identify the transfer type\r
 //\r
-#define XHC_CTRL_TRANSFER                     0x01\r
-#define XHC_BULK_TRANSFER                     0x02\r
-#define XHC_INT_TRANSFER_SYNC                 0x04\r
-#define XHC_INT_TRANSFER_ASYNC                0x08\r
-#define XHC_INT_ONLY_TRANSFER_ASYNC           0x10\r
+#define XHC_CTRL_TRANSFER            0x01\r
+#define XHC_BULK_TRANSFER            0x02\r
+#define XHC_INT_TRANSFER_SYNC        0x04\r
+#define XHC_INT_TRANSFER_ASYNC       0x08\r
+#define XHC_INT_ONLY_TRANSFER_ASYNC  0x10\r
 \r
 //\r
 // USB Transfer Results\r
 //\r
-#define EFI_USB_NOERROR             0x00\r
-#define EFI_USB_ERR_NOTEXECUTE      0x01\r
-#define EFI_USB_ERR_STALL           0x02\r
-#define EFI_USB_ERR_BUFFER          0x04\r
-#define EFI_USB_ERR_BABBLE          0x08\r
-#define EFI_USB_ERR_NAK             0x10\r
-#define EFI_USB_ERR_CRC             0x20\r
-#define EFI_USB_ERR_TIMEOUT         0x40\r
-#define EFI_USB_ERR_BITSTUFF        0x80\r
-#define EFI_USB_ERR_SYSTEM          0x100\r
+#define EFI_USB_NOERROR         0x00\r
+#define EFI_USB_ERR_NOTEXECUTE  0x01\r
+#define EFI_USB_ERR_STALL       0x02\r
+#define EFI_USB_ERR_BUFFER      0x04\r
+#define EFI_USB_ERR_BABBLE      0x08\r
+#define EFI_USB_ERR_NAK         0x10\r
+#define EFI_USB_ERR_CRC         0x20\r
+#define EFI_USB_ERR_TIMEOUT     0x40\r
+#define EFI_USB_ERR_BITSTUFF    0x80\r
+#define EFI_USB_ERR_SYSTEM      0x100\r
 \r
 #pragma pack(1)\r
 \r
 // 7.6.9.2 When used by the DbC it is always a 64 byte data structure\r
 //\r
 typedef struct _ENDPOINT_CONTEXT_64 {\r
-  UINT32                  EPState:3;\r
-  UINT32                  RsvdZ1:5;\r
-  UINT32                  Mult:2;         // set to 0\r
-  UINT32                  MaxPStreams:5;  // set to 0\r
-  UINT32                  LSA:1;          // set to 0\r
-  UINT32                  Interval:8;     // set to 0\r
-  UINT32                  RsvdZ2:8;\r
-\r
-  UINT32                  RsvdZ3:1;\r
-  UINT32                  CErr:2;\r
-  UINT32                  EPType:3;\r
-  UINT32                  RsvdZ4:1;\r
-  UINT32                  HID:1;          // set to 0\r
-  UINT32                  MaxBurstSize:8;\r
-  UINT32                  MaxPacketSize:16;\r
-\r
-  UINT32                  PtrLo;\r
-\r
-  UINT32                  PtrHi;\r
-\r
-  UINT32                  AverageTRBLength:16;\r
-  UINT32                  MaxESITPayload:16;  // set to 0\r
-\r
-  UINT32                  RsvdZ5;             // Reserved\r
-  UINT32                  RsvdZ6;\r
-  UINT32                  RsvdZ7;\r
-\r
-  UINT32                  RsvdZ8;\r
-  UINT32                  RsvdZ9;\r
-  UINT32                  RsvdZ10;\r
-  UINT32                  RsvdZ11;\r
-\r
-  UINT32                  RsvdZ12;\r
-  UINT32                  RsvdZ13;\r
-  UINT32                  RsvdZ14;\r
-  UINT32                  RsvdZ15;\r
+  UINT32    EPState          : 3;\r
+  UINT32    RsvdZ1           : 5;\r
+  UINT32    Mult             : 2;         // set to 0\r
+  UINT32    MaxPStreams      : 5;         // set to 0\r
+  UINT32    LSA              : 1;         // set to 0\r
+  UINT32    Interval         : 8;         // set to 0\r
+  UINT32    RsvdZ2           : 8;\r
+\r
+  UINT32    RsvdZ3           : 1;\r
+  UINT32    CErr             : 2;\r
+  UINT32    EPType           : 3;\r
+  UINT32    RsvdZ4           : 1;\r
+  UINT32    HID              : 1;         // set to 0\r
+  UINT32    MaxBurstSize     : 8;\r
+  UINT32    MaxPacketSize    : 16;\r
+\r
+  UINT32    PtrLo;\r
+\r
+  UINT32    PtrHi;\r
+\r
+  UINT32    AverageTRBLength : 16;\r
+  UINT32    MaxESITPayload   : 16;            // set to 0\r
+\r
+  UINT32    RsvdZ5;                           // Reserved\r
+  UINT32    RsvdZ6;\r
+  UINT32    RsvdZ7;\r
+\r
+  UINT32    RsvdZ8;\r
+  UINT32    RsvdZ9;\r
+  UINT32    RsvdZ10;\r
+  UINT32    RsvdZ11;\r
+\r
+  UINT32    RsvdZ12;\r
+  UINT32    RsvdZ13;\r
+  UINT32    RsvdZ14;\r
+  UINT32    RsvdZ15;\r
 } ENDPOINT_CONTEXT_64;\r
 \r
 //\r
@@ -261,25 +261,25 @@ typedef struct _ENDPOINT_CONTEXT_64 {
 // Rings, and to define the Data stage information for Control Transfer Rings.\r
 //\r
 typedef struct _TRANSFER_TRB_NORMAL {\r
-  UINT32                  TRBPtrLo;\r
-\r
-  UINT32                  TRBPtrHi;\r
-\r
-  UINT32                  Length:17;\r
-  UINT32                  TDSize:5;\r
-  UINT32                  IntTarget:10;\r
-\r
-  UINT32                  CycleBit:1;\r
-  UINT32                  ENT:1;\r
-  UINT32                  ISP:1;\r
-  UINT32                  NS:1;\r
-  UINT32                  CH:1;\r
-  UINT32                  IOC:1;\r
-  UINT32                  IDT:1;\r
-  UINT32                  RsvdZ1:2;\r
-  UINT32                  BEI:1;\r
-  UINT32                  Type:6;\r
-  UINT32                  RsvdZ2:16;\r
+  UINT32    TRBPtrLo;\r
+\r
+  UINT32    TRBPtrHi;\r
+\r
+  UINT32    Length    : 17;\r
+  UINT32    TDSize    : 5;\r
+  UINT32    IntTarget : 10;\r
+\r
+  UINT32    CycleBit  : 1;\r
+  UINT32    ENT       : 1;\r
+  UINT32    ISP       : 1;\r
+  UINT32    NS        : 1;\r
+  UINT32    CH        : 1;\r
+  UINT32    IOC       : 1;\r
+  UINT32    IDT       : 1;\r
+  UINT32    RsvdZ1    : 2;\r
+  UINT32    BEI       : 1;\r
+  UINT32    Type      : 6;\r
+  UINT32    RsvdZ2    : 16;\r
 } TRANSFER_TRB_NORMAL;\r
 \r
 //\r
@@ -288,21 +288,21 @@ typedef struct _TRANSFER_TRB_NORMAL {
 // for more information on the use and operation of Transfer Events.\r
 //\r
 typedef struct _EVT_TRB_TRANSFER {\r
-  UINT32                  TRBPtrLo;\r
+  UINT32    TRBPtrLo;\r
 \r
-  UINT32                  TRBPtrHi;\r
+  UINT32    TRBPtrHi;\r
 \r
-  UINT32                  Length:24;\r
-  UINT32                  Completecode:8;\r
+  UINT32    Length       : 24;\r
+  UINT32    Completecode : 8;\r
 \r
-  UINT32                  CycleBit:1;\r
-  UINT32                  RsvdZ1:1;\r
-  UINT32                  ED:1;\r
-  UINT32                  RsvdZ2:7;\r
-  UINT32                  Type:6;\r
-  UINT32                  EndpointId:5;\r
-  UINT32                  RsvdZ3:3;\r
-  UINT32                  SlotId:8;\r
+  UINT32    CycleBit     : 1;\r
+  UINT32    RsvdZ1       : 1;\r
+  UINT32    ED           : 1;\r
+  UINT32    RsvdZ2       : 7;\r
+  UINT32    Type         : 6;\r
+  UINT32    EndpointId   : 5;\r
+  UINT32    RsvdZ3       : 3;\r
+  UINT32    SlotId       : 8;\r
 } EVT_TRB_TRANSFER;\r
 \r
 //\r
@@ -310,104 +310,104 @@ typedef struct _EVT_TRB_TRANSFER {
 // A Link TRB provides support for non-contiguous TRB Rings.\r
 //\r
 typedef struct _LINK_TRB {\r
-  UINT32                  PtrLo;\r
+  UINT32    PtrLo;\r
 \r
-  UINT32                  PtrHi;\r
+  UINT32    PtrHi;\r
 \r
-  UINT32                  RsvdZ1:22;\r
-  UINT32                  InterTarget:10;\r
+  UINT32    RsvdZ1      : 22;\r
+  UINT32    InterTarget : 10;\r
 \r
-  UINT32                  CycleBit:1;\r
-  UINT32                  TC:1;\r
-  UINT32                  RsvdZ2:2;\r
-  UINT32                  CH:1;\r
-  UINT32                  IOC:1;\r
-  UINT32                  RsvdZ3:4;\r
-  UINT32                  Type:6;\r
-  UINT32                  RsvdZ4:16;\r
+  UINT32    CycleBit    : 1;\r
+  UINT32    TC          : 1;\r
+  UINT32    RsvdZ2      : 2;\r
+  UINT32    CH          : 1;\r
+  UINT32    IOC         : 1;\r
+  UINT32    RsvdZ3      : 4;\r
+  UINT32    Type        : 6;\r
+  UINT32    RsvdZ4      : 16;\r
 } LINK_TRB;\r
 \r
 //\r
 // TRB Template: 16 bytes\r
 //\r
 typedef struct _TRB_TEMPLATE {\r
-  UINT32                    Parameter1;\r
+  UINT32    Parameter1;\r
 \r
-  UINT32                    Parameter2;\r
+  UINT32    Parameter2;\r
 \r
-  UINT32                    Status;\r
+  UINT32    Status;\r
 \r
-  UINT32                    CycleBit:1;\r
-  UINT32                    RsvdZ1:9;\r
-  UINT32                    Type:6;\r
-  UINT32                    Control:16;\r
+  UINT32    CycleBit : 1;\r
+  UINT32    RsvdZ1   : 9;\r
+  UINT32    Type     : 6;\r
+  UINT32    Control  : 16;\r
 } TRB_TEMPLATE;\r
 \r
 //\r
 // Refer to XHCI 6.5 Event Ring Segment Table: 16 bytes\r
 //\r
 typedef struct _EVENT_RING_SEG_TABLE_ENTRY {\r
-  UINT32                  PtrLo;\r
-  UINT32                  PtrHi;\r
-  UINT32                  RingTrbSize:16;\r
-  UINT32                  RsvdZ1:16;\r
-  UINT32                  RsvdZ2;\r
+  UINT32    PtrLo;\r
+  UINT32    PtrHi;\r
+  UINT32    RingTrbSize : 16;\r
+  UINT32    RsvdZ1      : 16;\r
+  UINT32    RsvdZ2;\r
 } EVENT_RING_SEG_TABLE_ENTRY;\r
 \r
 //\r
 // Size: 40 bytes\r
 //\r
 typedef struct _EVENT_RING {\r
-  EFI_PHYSICAL_ADDRESS      ERSTBase;\r
-  EFI_PHYSICAL_ADDRESS      EventRingSeg0;\r
-  UINT32                    TrbNumber;\r
-  EFI_PHYSICAL_ADDRESS      EventRingEnqueue;\r
-  EFI_PHYSICAL_ADDRESS      EventRingDequeue;\r
-  UINT32                    EventRingCCS;\r
+  EFI_PHYSICAL_ADDRESS    ERSTBase;\r
+  EFI_PHYSICAL_ADDRESS    EventRingSeg0;\r
+  UINT32                  TrbNumber;\r
+  EFI_PHYSICAL_ADDRESS    EventRingEnqueue;\r
+  EFI_PHYSICAL_ADDRESS    EventRingDequeue;\r
+  UINT32                  EventRingCCS;\r
 } EVENT_RING;\r
 \r
 // Size: 32 bytes\r
 typedef struct _TRANSFER_RING {\r
-  EFI_PHYSICAL_ADDRESS      RingSeg0;\r
-  UINT32                    TrbNumber;\r
-  EFI_PHYSICAL_ADDRESS      RingEnqueue;\r
-  EFI_PHYSICAL_ADDRESS      RingDequeue;\r
-  UINT32                    RingPCS;\r
+  EFI_PHYSICAL_ADDRESS    RingSeg0;\r
+  UINT32                  TrbNumber;\r
+  EFI_PHYSICAL_ADDRESS    RingEnqueue;\r
+  EFI_PHYSICAL_ADDRESS    RingDequeue;\r
+  UINT32                  RingPCS;\r
 } TRANSFER_RING;\r
 \r
 //\r
 // Size: 64 bytes\r
 //\r
 typedef struct _DBC_INFO_CONTEXT {\r
-  UINT64        String0DescAddress;\r
-  UINT64        ManufacturerStrDescAddress;\r
-  UINT64        ProductStrDescAddress;\r
-  UINT64        SerialNumberStrDescAddress;\r
-  UINT64        String0Length:8;\r
-  UINT64        ManufacturerStrLength:8;\r
-  UINT64        ProductStrLength:8;\r
-  UINT64        SerialNumberStrLength:8;\r
-  UINT64        RsvdZ1:32;\r
-  UINT64        RsvdZ2;\r
-  UINT64        RsvdZ3;\r
-  UINT64        RsvdZ4;\r
+  UINT64    String0DescAddress;\r
+  UINT64    ManufacturerStrDescAddress;\r
+  UINT64    ProductStrDescAddress;\r
+  UINT64    SerialNumberStrDescAddress;\r
+  UINT64    String0Length         : 8;\r
+  UINT64    ManufacturerStrLength : 8;\r
+  UINT64    ProductStrLength      : 8;\r
+  UINT64    SerialNumberStrLength : 8;\r
+  UINT64    RsvdZ1                : 32;\r
+  UINT64    RsvdZ2;\r
+  UINT64    RsvdZ3;\r
+  UINT64    RsvdZ4;\r
 } DBC_INFO_CONTEXT;\r
 \r
 //\r
 // Debug Capability Context Data Structure: 192 bytes\r
 //\r
 typedef struct _XHC_DC_CONTEXT {\r
-  DBC_INFO_CONTEXT      DbcInfoContext;\r
-  ENDPOINT_CONTEXT_64   EpOutContext;\r
-  ENDPOINT_CONTEXT_64   EpInContext;\r
+  DBC_INFO_CONTEXT       DbcInfoContext;\r
+  ENDPOINT_CONTEXT_64    EpOutContext;\r
+  ENDPOINT_CONTEXT_64    EpInContext;\r
 } XHC_DC_CONTEXT;\r
 \r
 //\r
 // Size: 16 bytes\r
 //\r
 typedef union _TRB {\r
-  TRB_TEMPLATE                TrbTemplate;\r
-  TRANSFER_TRB_NORMAL         TrbNormal;\r
+  TRB_TEMPLATE           TrbTemplate;\r
+  TRANSFER_TRB_NORMAL    TrbNormal;\r
 } TRB;\r
 \r
 ///\r
@@ -427,113 +427,113 @@ typedef struct _URB {
   //\r
   // Transfer data buffer\r
   //\r
-  EFI_PHYSICAL_ADDRESS            Data;\r
-  UINT32                          DataLen;\r
+  EFI_PHYSICAL_ADDRESS      Data;\r
+  UINT32                    DataLen;\r
 \r
   //\r
   // Execute result\r
   //\r
-  UINT32                          Result;\r
+  UINT32                    Result;\r
   //\r
   // Completed data length\r
   //\r
-  UINT32                          Completed;\r
+  UINT32                    Completed;\r
   //\r
   // Tranfer Ring info\r
   //\r
-  EFI_PHYSICAL_ADDRESS            Ring;\r
-  EFI_PHYSICAL_ADDRESS            Trb;\r
-  BOOLEAN                         Finished;\r
-  EFI_USB_DATA_DIRECTION          Direction;\r
+  EFI_PHYSICAL_ADDRESS      Ring;\r
+  EFI_PHYSICAL_ADDRESS      Trb;\r
+  BOOLEAN                   Finished;\r
+  EFI_USB_DATA_DIRECTION    Direction;\r
 } URB;\r
 \r
 typedef struct _USB3_DEBUG_PORT_INSTANCE {\r
-  UINT8                                   Initialized;\r
+  UINT8                   Initialized;\r
 \r
   //\r
   // The flag indicates debug capability is supported\r
   //\r
-  BOOLEAN                                 DebugSupport;\r
+  BOOLEAN                 DebugSupport;\r
 \r
   //\r
   // The flag indicates debug device is ready\r
   //\r
-  BOOLEAN                                 Ready;\r
+  BOOLEAN                 Ready;\r
 \r
   //\r
   // The flag indicates the instance is from HOB\r
   //\r
-  BOOLEAN                                 FromHob;\r
+  BOOLEAN                 FromHob;\r
 \r
   //\r
   // Prevent notification being interrupted by debug timer\r
   //\r
-  BOOLEAN                                 InNotify;\r
+  BOOLEAN                 InNotify;\r
 \r
   //\r
   // PciIo protocol event\r
   //\r
-  EFI_PHYSICAL_ADDRESS                    PciIoEvent;\r
+  EFI_PHYSICAL_ADDRESS    PciIoEvent;\r
 \r
   //\r
   // The flag indicates if USB 3.0 ports has been turn off/on power\r
   //\r
-  BOOLEAN                                 ChangePortPower;\r
+  BOOLEAN                 ChangePortPower;\r
 \r
   //\r
   // XHCI MMIO Base address\r
   //\r
-  EFI_PHYSICAL_ADDRESS                    XhciMmioBase;\r
+  EFI_PHYSICAL_ADDRESS    XhciMmioBase;\r
 \r
   //\r
   // XHCI OP RegisterBase address\r
   //\r
-  EFI_PHYSICAL_ADDRESS                    XhciOpRegister;\r
+  EFI_PHYSICAL_ADDRESS    XhciOpRegister;\r
 \r
   //\r
   // XHCI Debug Register Base Address\r
   //\r
-  EFI_PHYSICAL_ADDRESS                    DebugCapabilityBase;\r
+  EFI_PHYSICAL_ADDRESS    DebugCapabilityBase;\r
 \r
   //\r
   // XHCI Debug Capability offset\r
   //\r
-  UINT64                                  DebugCapabilityOffset;\r
+  UINT64                  DebugCapabilityOffset;\r
 \r
   //\r
   // XHCI Debug Context Address\r
   //\r
-  EFI_PHYSICAL_ADDRESS                    DebugCapabilityContext;\r
+  EFI_PHYSICAL_ADDRESS    DebugCapabilityContext;\r
 \r
   //\r
   // Transfer Ring\r
   //\r
-  TRANSFER_RING                           TransferRingOut;\r
-  TRANSFER_RING                           TransferRingIn;\r
+  TRANSFER_RING           TransferRingOut;\r
+  TRANSFER_RING           TransferRingIn;\r
 \r
   //\r
   // EventRing\r
   //\r
-  EVENT_RING                              EventRing;\r
+  EVENT_RING              EventRing;\r
 \r
   //\r
   // URB - Read\r
   //\r
-  URB                                     UrbOut;\r
+  URB                     UrbOut;\r
 \r
   //\r
   // URB - Write\r
   //\r
-  URB                                     UrbIn;\r
+  URB                     UrbIn;\r
 \r
   //\r
   // The available data length in the following data buffer.\r
   //\r
-  UINT8                                   DataCount;\r
+  UINT8                   DataCount;\r
   //\r
   // The data buffer address for data read and poll.\r
   //\r
-  EFI_PHYSICAL_ADDRESS                    Data;\r
+  EFI_PHYSICAL_ADDRESS    Data;\r
 } USB3_DEBUG_PORT_HANDLE;\r
 \r
 #pragma pack()\r
@@ -549,8 +549,8 @@ typedef struct _USB3_DEBUG_PORT_INSTANCE {
 **/\r
 UINT32\r
 XhcReadDebugReg (\r
-  IN  USB3_DEBUG_PORT_HANDLE    *Handle,\r
-  IN  UINT32                    Offset\r
+  IN  USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN  UINT32                  Offset\r
   );\r
 \r
 /**\r
@@ -578,9 +578,9 @@ XhcSetDebugRegBit (
 **/\r
 VOID\r
 XhcWriteDebugReg (\r
-  IN USB3_DEBUG_PORT_HANDLE     *Handle,\r
-  IN UINT32                     Offset,\r
-  IN UINT32                     Data\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN UINT32                  Offset,\r
+  IN UINT32                  Data\r
   );\r
 \r
 /**\r
@@ -594,7 +594,7 @@ XhcWriteDebugReg (
                             is not enabled.\r
 **/\r
 BOOLEAN\r
-XhcIsBitSet(\r
+XhcIsBitSet (\r
   UINTN   Register,\r
   UINT32  BitMask\r
   );\r
@@ -606,7 +606,7 @@ XhcIsBitSet(
   @param[in]      BitMask     32-bit mask\r
 **/\r
 VOID\r
-XhcSetR32Bit(\r
+XhcSetR32Bit (\r
   UINTN   Register,\r
   UINT32  BitMask\r
   );\r
@@ -618,9 +618,9 @@ XhcSetR32Bit(
   @param[in]      BitMask     32-bit mask\r
 **/\r
 VOID\r
-XhcClearR32Bit(\r
-  IN OUT  UINTN  Register,\r
-  IN      UINT32 BitMask\r
+XhcClearR32Bit (\r
+  IN OUT  UINTN   Register,\r
+  IN      UINT32  BitMask\r
   );\r
 \r
 /**\r
@@ -654,9 +654,9 @@ GetXhciPciCommand (
   @return A pointer to the allocated buffer or NULL if allocation fails.\r
 \r
 **/\r
-VOID*\r
+VOID *\r
 AllocateAlignBuffer (\r
-  IN UINTN                    BufferSize\r
+  IN UINTN  BufferSize\r
   );\r
 \r
 /**\r
@@ -694,11 +694,11 @@ USB3InitializeReal (
 EFI_STATUS\r
 EFIAPI\r
 XhcDataTransfer (\r
-  IN     USB3_DEBUG_PORT_HANDLE              *Handle,\r
-  IN     EFI_USB_DATA_DIRECTION              Direction,\r
-  IN OUT VOID                                *Data,\r
-  IN OUT UINTN                               *DataLength,\r
-  IN     UINTN                               Timeout\r
+  IN     USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN     EFI_USB_DATA_DIRECTION  Direction,\r
+  IN OUT VOID                    *Data,\r
+  IN OUT UINTN                   *DataLength,\r
+  IN     UINTN                   Timeout\r
   );\r
 \r
 /**\r
@@ -713,7 +713,7 @@ XhcDataTransfer (
 RETURN_STATUS\r
 EFIAPI\r
 InitializeUsbDebugHardware (\r
-  IN USB3_DEBUG_PORT_HANDLE *Handle\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle\r
   );\r
 \r
 /**\r
index cce676eb8ae37d7c72c4201afd6af65e655f4e2c..15842a317ef06272408a889b1a7df37f655d00be 100644 (file)
@@ -13,7 +13,7 @@
 #include <Ppi/IoMmu.h>\r
 #include "DebugCommunicationLibUsb3Internal.h"\r
 \r
-GUID                    gUsb3DbgGuid = USB3_DBG_GUID;\r
+GUID  gUsb3DbgGuid = USB3_DBG_GUID;\r
 \r
 /**\r
   USB3 IOMMU PPI notify.\r
@@ -33,7 +33,7 @@ Usb3IoMmuPpiNotify (
   IN VOID                       *Ppi\r
   )\r
 {\r
-  USB3_DEBUG_PORT_HANDLE        *Instance;\r
+  USB3_DEBUG_PORT_HANDLE  *Instance;\r
 \r
   DEBUG ((DEBUG_INFO, "%a()\n", __FUNCTION__));\r
 \r
@@ -60,7 +60,7 @@ Usb3IoMmuPpiNotify (
   return EFI_SUCCESS;\r
 }\r
 \r
-EFI_PEI_NOTIFY_DESCRIPTOR mUsb3IoMmuPpiNotifyDesc = {\r
+EFI_PEI_NOTIFY_DESCRIPTOR  mUsb3IoMmuPpiNotifyDesc = {\r
   (EFI_PEI_PPI_DESCRIPTOR_NOTIFY_CALLBACK | EFI_PEI_PPI_DESCRIPTOR_TERMINATE_LIST),\r
   &gEdkiiIoMmuPpiGuid,\r
   Usb3IoMmuPpiNotify\r
@@ -94,12 +94,12 @@ IoMmuAllocateBuffer (
   OUT VOID                  **Mapping\r
   )\r
 {\r
-  EFI_STATUS            Status;\r
-  UINTN                 NumberOfBytes;\r
+  EFI_STATUS  Status;\r
+  UINTN       NumberOfBytes;\r
 \r
-  *HostAddress = NULL;\r
+  *HostAddress   = NULL;\r
   *DeviceAddress = 0;\r
-  *Mapping = NULL;\r
+  *Mapping       = NULL;\r
 \r
   Status = IoMmu->AllocateBuffer (\r
                     IoMmu,\r
@@ -113,19 +113,20 @@ IoMmuAllocateBuffer (
   }\r
 \r
   NumberOfBytes = EFI_PAGES_TO_SIZE (Pages);\r
-  Status = IoMmu->Map (\r
-                    IoMmu,\r
-                    EdkiiIoMmuOperationBusMasterCommonBuffer,\r
-                    *HostAddress,\r
-                    &NumberOfBytes,\r
-                    DeviceAddress,\r
-                    Mapping\r
-                    );\r
+  Status        = IoMmu->Map (\r
+                           IoMmu,\r
+                           EdkiiIoMmuOperationBusMasterCommonBuffer,\r
+                           *HostAddress,\r
+                           &NumberOfBytes,\r
+                           DeviceAddress,\r
+                           Mapping\r
+                           );\r
   if (EFI_ERROR (Status)) {\r
     IoMmu->FreeBuffer (IoMmu, Pages, *HostAddress);\r
     *HostAddress = NULL;\r
     return EFI_OUT_OF_RESOURCES;\r
   }\r
+\r
   Status = IoMmu->SetAttribute (\r
                     IoMmu,\r
                     *Mapping,\r
@@ -134,7 +135,7 @@ IoMmuAllocateBuffer (
   if (EFI_ERROR (Status)) {\r
     IoMmu->Unmap (IoMmu, *Mapping);\r
     IoMmu->FreeBuffer (IoMmu, Pages, *HostAddress);\r
-    *Mapping = NULL;\r
+    *Mapping     = NULL;\r
     *HostAddress = NULL;\r
     return Status;\r
   }\r
@@ -153,15 +154,15 @@ Usb3GetIoMmu (
   VOID\r
   )\r
 {\r
-  EFI_STATUS                Status;\r
-  EDKII_IOMMU_PPI           *IoMmu;\r
+  EFI_STATUS       Status;\r
+  EDKII_IOMMU_PPI  *IoMmu;\r
 \r
-  IoMmu = NULL;\r
+  IoMmu  = NULL;\r
   Status = PeiServicesLocatePpi (\r
              &gEdkiiIoMmuPpiGuid,\r
              0,\r
              NULL,\r
-             (VOID **) &IoMmu\r
+             (VOID **)&IoMmu\r
              );\r
   if (!EFI_ERROR (Status) && (IoMmu != NULL)) {\r
     return IoMmu;\r
@@ -179,10 +180,10 @@ GetUsb3DebugPortInstanceAddrPtr (
   VOID\r
   )\r
 {\r
-  USB3_DEBUG_PORT_HANDLE        *Instance;\r
-  EFI_PHYSICAL_ADDRESS          *AddrPtr;\r
-  EFI_PEI_HOB_POINTERS          Hob;\r
-  EFI_STATUS                    Status;\r
+  USB3_DEBUG_PORT_HANDLE  *Instance;\r
+  EFI_PHYSICAL_ADDRESS    *AddrPtr;\r
+  EFI_PEI_HOB_POINTERS    Hob;\r
+  EFI_STATUS              Status;\r
 \r
   Hob.Raw = GetFirstGuidHob (&gUsb3DbgGuid);\r
   if (Hob.Raw == NULL) {\r
@@ -196,9 +197,9 @@ GetUsb3DebugPortInstanceAddrPtr (
                 );\r
     ASSERT (AddrPtr != NULL);\r
     ZeroMem (AddrPtr, sizeof (EFI_PHYSICAL_ADDRESS) + sizeof (USB3_DEBUG_PORT_HANDLE));\r
-    Instance = (USB3_DEBUG_PORT_HANDLE *) (AddrPtr + 1);\r
-    *AddrPtr = (EFI_PHYSICAL_ADDRESS) (UINTN) Instance;\r
-    Instance->FromHob = TRUE;\r
+    Instance              = (USB3_DEBUG_PORT_HANDLE *)(AddrPtr + 1);\r
+    *AddrPtr              = (EFI_PHYSICAL_ADDRESS)(UINTN)Instance;\r
+    Instance->FromHob     = TRUE;\r
     Instance->Initialized = USB3DBG_UNINITIALIZED;\r
     if (Usb3GetIoMmu () == NULL) {\r
       Status = PeiServicesNotifyPpi (&mUsb3IoMmuPpiNotifyDesc);\r
@@ -219,18 +220,18 @@ GetUsb3DebugPortInstanceAddrPtr (
   @return A pointer to the allocated buffer or NULL if allocation fails.\r
 \r
 **/\r
-VOID*\r
+VOID *\r
 AllocateAlignBuffer (\r
-  IN UINTN                    BufferSize\r
+  IN UINTN  BufferSize\r
   )\r
 {\r
-  VOID                     *Buf;\r
-  EFI_PHYSICAL_ADDRESS     Address;\r
-  EFI_STATUS               Status;\r
-  VOID                     *MemoryDiscoveredPpi;\r
-  EDKII_IOMMU_PPI          *IoMmu;\r
-  VOID                     *HostAddress;\r
-  VOID                     *Mapping;\r
+  VOID                  *Buf;\r
+  EFI_PHYSICAL_ADDRESS  Address;\r
+  EFI_STATUS            Status;\r
+  VOID                  *MemoryDiscoveredPpi;\r
+  EDKII_IOMMU_PPI       *IoMmu;\r
+  VOID                  *HostAddress;\r
+  VOID                  *Mapping;\r
 \r
   Buf = NULL;\r
 \r
@@ -241,7 +242,7 @@ AllocateAlignBuffer (
              &gEfiPeiMemoryDiscoveredPpiGuid,\r
              0,\r
              NULL,\r
-             (VOID **) &MemoryDiscoveredPpi\r
+             (VOID **)&MemoryDiscoveredPpi\r
              );\r
   if (!EFI_ERROR (Status)) {\r
     IoMmu = Usb3GetIoMmu ();\r
@@ -254,8 +255,8 @@ AllocateAlignBuffer (
                  &Mapping\r
                  );\r
       if (!EFI_ERROR (Status)) {\r
-        ASSERT (Address == ((EFI_PHYSICAL_ADDRESS) (UINTN) HostAddress));\r
-        Buf = (VOID *)(UINTN) Address;\r
+        ASSERT (Address == ((EFI_PHYSICAL_ADDRESS)(UINTN)HostAddress));\r
+        Buf = (VOID *)(UINTN)Address;\r
       }\r
     } else {\r
       Status = PeiServicesAllocatePages (\r
@@ -264,10 +265,10 @@ AllocateAlignBuffer (
                  &Address\r
                  );\r
       if (!EFI_ERROR (Status)) {\r
-        Buf = (VOID *)(UINTN) Address;\r
+        Buf = (VOID *)(UINTN)Address;\r
       }\r
     }\r
   }\r
+\r
   return Buf;\r
 }\r
-\r
index 262cfab3fbb40a8b3eaa430f7c14316fd664dc40..a651e8827112fe85fa0eea6a8e671398006734fa 100644 (file)
 EFI_STATUS\r
 EFIAPI\r
 XhcSyncTrsRing (\r
-  IN USB3_DEBUG_PORT_HANDLE    *Handle,\r
-  IN TRANSFER_RING             *TrsRing\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN TRANSFER_RING           *TrsRing\r
   )\r
 {\r
-  UINTN               Index;\r
-  TRB_TEMPLATE        *TrsTrb;\r
-  UINT32              CycleBit;\r
+  UINTN         Index;\r
+  TRB_TEMPLATE  *TrsTrb;\r
+  UINT32        CycleBit;\r
 \r
   ASSERT (TrsRing != NULL);\r
 \r
   //\r
   // Calculate the latest RingEnqueue and RingPCS\r
   //\r
-  TrsTrb = (TRB_TEMPLATE *)(UINTN) TrsRing->RingEnqueue;\r
+  TrsTrb = (TRB_TEMPLATE *)(UINTN)TrsRing->RingEnqueue;\r
 \r
   ASSERT (TrsTrb != NULL);\r
 \r
@@ -40,13 +40,14 @@ XhcSyncTrsRing (
     if (TrsTrb->CycleBit != (TrsRing->RingPCS & BIT0)) {\r
       break;\r
     }\r
+\r
     TrsTrb++;\r
-    if ((UINT8) TrsTrb->Type == TRB_TYPE_LINK) {\r
-      ASSERT (((LINK_TRB*)TrsTrb)->TC != 0);\r
+    if ((UINT8)TrsTrb->Type == TRB_TYPE_LINK) {\r
+      ASSERT (((LINK_TRB *)TrsTrb)->TC != 0);\r
       //\r
       // set cycle bit in Link TRB as normal\r
       //\r
-      ((LINK_TRB*)TrsTrb)->CycleBit = TrsRing->RingPCS & BIT0;\r
+      ((LINK_TRB *)TrsTrb)->CycleBit = TrsRing->RingPCS & BIT0;\r
       //\r
       // Toggle PCS maintained by software\r
       //\r
@@ -54,10 +55,11 @@ XhcSyncTrsRing (
       TrsTrb           = (TRB_TEMPLATE *)(UINTN)((TrsTrb->Parameter1 | LShiftU64 ((UINT64)TrsTrb->Parameter2, 32)) & ~0x0F);\r
     }\r
   }\r
+\r
   ASSERT (Index != TrsRing->TrbNumber);\r
 \r
-  if ((EFI_PHYSICAL_ADDRESS)(UINTN) TrsTrb != TrsRing->RingEnqueue) {\r
-    TrsRing->RingEnqueue = (EFI_PHYSICAL_ADDRESS)(UINTN) TrsTrb;\r
+  if ((EFI_PHYSICAL_ADDRESS)(UINTN)TrsTrb != TrsRing->RingEnqueue) {\r
+    TrsRing->RingEnqueue = (EFI_PHYSICAL_ADDRESS)(UINTN)TrsTrb;\r
   }\r
 \r
   //\r
@@ -83,11 +85,11 @@ EFI_STATUS
 EFIAPI\r
 XhcSyncEventRing (\r
   IN USB3_DEBUG_PORT_HANDLE  *Handle,\r
-  IN EVENT_RING                *EvtRing\r
+  IN EVENT_RING              *EvtRing\r
   )\r
 {\r
-  UINTN               Index;\r
-  TRB_TEMPLATE        *EvtTrb1;\r
+  UINTN         Index;\r
+  TRB_TEMPLATE  *EvtTrb1;\r
 \r
   ASSERT (EvtRing != NULL);\r
 \r
@@ -95,7 +97,7 @@ XhcSyncEventRing (
   // Calculate the EventRingEnqueue and EventRingCCS.\r
   // Note: only support single Segment\r
   //\r
-  EvtTrb1 = (TRB_TEMPLATE *)(UINTN) EvtRing->EventRingDequeue;\r
+  EvtTrb1 = (TRB_TEMPLATE *)(UINTN)EvtRing->EventRingDequeue;\r
 \r
   for (Index = 0; Index < EvtRing->TrbNumber; Index++) {\r
     if (EvtTrb1->CycleBit != EvtRing->EventRingCCS) {\r
@@ -104,8 +106,8 @@ XhcSyncEventRing (
 \r
     EvtTrb1++;\r
 \r
-    if ((UINTN)EvtTrb1 >= ((UINTN) EvtRing->EventRingSeg0 + sizeof (TRB_TEMPLATE) * EvtRing->TrbNumber)) {\r
-      EvtTrb1 = (TRB_TEMPLATE *)(UINTN) EvtRing->EventRingSeg0;\r
+    if ((UINTN)EvtTrb1 >= ((UINTN)EvtRing->EventRingSeg0 + sizeof (TRB_TEMPLATE) * EvtRing->TrbNumber)) {\r
+      EvtTrb1               = (TRB_TEMPLATE *)(UINTN)EvtRing->EventRingSeg0;\r
       EvtRing->EventRingCCS = (EvtRing->EventRingCCS) ? 0 : 1;\r
     }\r
   }\r
@@ -133,16 +135,16 @@ XhcSyncEventRing (
 EFI_STATUS\r
 EFIAPI\r
 XhcCheckNewEvent (\r
-  IN  USB3_DEBUG_PORT_HANDLE   *Handle,\r
-  IN  EVENT_RING               *EvtRing,\r
-  OUT TRB_TEMPLATE             **NewEvtTrb\r
+  IN  USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN  EVENT_RING              *EvtRing,\r
+  OUT TRB_TEMPLATE            **NewEvtTrb\r
   )\r
 {\r
-  EFI_STATUS          Status;\r
+  EFI_STATUS  Status;\r
 \r
   ASSERT (EvtRing != NULL);\r
 \r
-  *NewEvtTrb = (TRB_TEMPLATE *)(UINTN) EvtRing->EventRingDequeue;\r
+  *NewEvtTrb = (TRB_TEMPLATE *)(UINTN)EvtRing->EventRingDequeue;\r
 \r
   if (EvtRing->EventRingDequeue == EvtRing->EventRingEnqueue) {\r
     return EFI_NOT_READY;\r
@@ -154,7 +156,7 @@ XhcCheckNewEvent (
   //\r
   // If the dequeue pointer is beyond the ring, then roll-back it to the beginning of the ring.\r
   //\r
-  if ((UINTN)EvtRing->EventRingDequeue >= ((UINTN) EvtRing->EventRingSeg0 + sizeof (TRB_TEMPLATE) * EvtRing->TrbNumber)) {\r
+  if ((UINTN)EvtRing->EventRingDequeue >= ((UINTN)EvtRing->EventRingSeg0 + sizeof (TRB_TEMPLATE) * EvtRing->TrbNumber)) {\r
     EvtRing->EventRingDequeue = EvtRing->EventRingSeg0;\r
   }\r
 \r
@@ -173,14 +175,14 @@ XhcCheckNewEvent (
 **/\r
 BOOLEAN\r
 IsTrbInTrsRing (\r
-  IN  TRANSFER_RING       *Ring,\r
-  IN  TRB_TEMPLATE        *Trb\r
+  IN  TRANSFER_RING  *Ring,\r
+  IN  TRB_TEMPLATE   *Trb\r
   )\r
 {\r
   TRB_TEMPLATE  *CheckedTrb;\r
   UINTN         Index;\r
 \r
-  CheckedTrb = (TRB_TEMPLATE *)(UINTN) Ring->RingSeg0;\r
+  CheckedTrb = (TRB_TEMPLATE *)(UINTN)Ring->RingSeg0;\r
 \r
   ASSERT (Ring->TrbNumber == TR_RING_TRB_NUMBER);\r
 \r
@@ -188,6 +190,7 @@ IsTrbInTrsRing (
     if (Trb == CheckedTrb) {\r
       return TRUE;\r
     }\r
+\r
     CheckedTrb++;\r
   }\r
 \r
@@ -204,18 +207,18 @@ IsTrbInTrsRing (
 **/\r
 VOID\r
 XhcCheckUrbResult (\r
-  IN  USB3_DEBUG_PORT_HANDLE *Handle,\r
-  IN  URB                      *Urb\r
+  IN  USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN  URB                     *Urb\r
   )\r
 {\r
-  EVT_TRB_TRANSFER        *EvtTrb;\r
-  TRB_TEMPLATE            *TRBPtr;\r
-  UINTN                   Index;\r
-  EFI_STATUS              Status;\r
-  URB                     *CheckedUrb;\r
-  UINT64                  XhcDequeue;\r
-  UINT32                  High;\r
-  UINT32                  Low;\r
+  EVT_TRB_TRANSFER  *EvtTrb;\r
+  TRB_TEMPLATE      *TRBPtr;\r
+  UINTN             Index;\r
+  EFI_STATUS        Status;\r
+  URB               *CheckedUrb;\r
+  UINT64            XhcDequeue;\r
+  UINT32            High;\r
+  UINT32            Low;\r
 \r
   ASSERT ((Handle != NULL) && (Urb != NULL));\r
 \r
@@ -231,7 +234,6 @@ XhcCheckUrbResult (
   XhcSyncEventRing (Handle, &Handle->EventRing);\r
 \r
   for (Index = 0; Index < Handle->EventRing.TrbNumber; Index++) {\r
-\r
     Status = XhcCheckNewEvent (Handle, &Handle->EventRing, ((TRB_TEMPLATE **)&EvtTrb));\r
     if (Status == EFI_NOT_READY) {\r
       //\r
@@ -244,7 +246,7 @@ XhcCheckUrbResult (
       continue;\r
     }\r
 \r
-    TRBPtr = (TRB_TEMPLATE *)(UINTN)(EvtTrb->TRBPtrLo | LShiftU64 ((UINT64) EvtTrb->TRBPtrHi, 32));\r
+    TRBPtr = (TRB_TEMPLATE *)(UINTN)(EvtTrb->TRBPtrLo | LShiftU64 ((UINT64)EvtTrb->TRBPtrHi, 32));\r
 \r
     if (IsTrbInTrsRing ((TRANSFER_RING *)(UINTN)(Urb->Ring), TRBPtr)) {\r
       CheckedUrb = Urb;\r
@@ -253,7 +255,7 @@ XhcCheckUrbResult (
       // If it is read event and it should be generated by poll, and current operation is write, we need save data into internal buffer.\r
       // Internal buffer is used by next read.\r
       //\r
-      Handle->DataCount = (UINT8) (Handle->UrbIn.DataLen - EvtTrb->Length);\r
+      Handle->DataCount = (UINT8)(Handle->UrbIn.DataLen - EvtTrb->Length);\r
       CopyMem ((VOID *)(UINTN)Handle->Data, (VOID *)(UINTN)Handle->UrbIn.Data, Handle->DataCount);\r
       //\r
       // Fill this TRB complete with CycleBit, otherwise next read will fail with old TRB.\r
@@ -265,14 +267,16 @@ XhcCheckUrbResult (
     }\r
 \r
     if ((EvtTrb->Completecode == TRB_COMPLETION_SHORT_PACKET) ||\r
-        (EvtTrb->Completecode == TRB_COMPLETION_SUCCESS)) {\r
+        (EvtTrb->Completecode == TRB_COMPLETION_SUCCESS))\r
+    {\r
       //\r
       // The length of data which were transferred.\r
       //\r
-      CheckedUrb->Completed += (((TRANSFER_TRB_NORMAL*)TRBPtr)->Length - EvtTrb->Length);\r
+      CheckedUrb->Completed += (((TRANSFER_TRB_NORMAL *)TRBPtr)->Length - EvtTrb->Length);\r
     } else {\r
-      CheckedUrb->Result  |= EFI_USB_ERR_TIMEOUT;\r
+      CheckedUrb->Result |= EFI_USB_ERR_TIMEOUT;\r
     }\r
+\r
     //\r
     // This Urb has been processed\r
     //\r
@@ -286,9 +290,9 @@ EXIT:
   // Some 3rd party XHCI external cards don't support single 64-bytes width register access,\r
   // So divide it to two 32-bytes width register access.\r
   //\r
-  Low  = XhcReadDebugReg (Handle, XHC_DC_DCERDP);\r
-  High = XhcReadDebugReg (Handle, XHC_DC_DCERDP + 4);\r
-  XhcDequeue = (UINT64)(LShiftU64((UINT64)High, 32) | Low);\r
+  Low        = XhcReadDebugReg (Handle, XHC_DC_DCERDP);\r
+  High       = XhcReadDebugReg (Handle, XHC_DC_DCERDP + 4);\r
+  XhcDequeue = (UINT64)(LShiftU64 ((UINT64)High, 32) | Low);\r
 \r
   if ((XhcDequeue & (~0x0F)) != ((UINT64)(UINTN)Handle->EventRing.EventRingDequeue & (~0x0F))) {\r
     //\r
@@ -312,11 +316,11 @@ EXIT:
 EFI_STATUS\r
 EFIAPI\r
 XhcRingDoorBell (\r
-  IN USB3_DEBUG_PORT_HANDLE    *Handle,\r
-  IN URB                       *Urb\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN URB                     *Urb\r
   )\r
 {\r
-  UINT32      Dcdb;\r
+  UINT32  Dcdb;\r
 \r
   //\r
   // 7.6.8.2 DCDB Register\r
@@ -342,20 +346,21 @@ XhcRingDoorBell (
 **/\r
 VOID\r
 XhcExecTransfer (\r
-  IN  USB3_DEBUG_PORT_HANDLE   *Handle,\r
-  IN  URB                      *Urb,\r
-  IN  UINTN                    Timeout\r
+  IN  USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN  URB                     *Urb,\r
+  IN  UINTN                   Timeout\r
   )\r
 {\r
-  TRANSFER_RING           *Ring;\r
-  TRB_TEMPLATE            *Trb;\r
-  UINTN                   Loop;\r
-  UINTN                   Index;\r
+  TRANSFER_RING  *Ring;\r
+  TRB_TEMPLATE   *Trb;\r
+  UINTN          Loop;\r
+  UINTN          Index;\r
 \r
   Loop = Timeout / XHC_DEBUG_PORT_1_MILLISECOND;\r
   if (Timeout == 0) {\r
     Loop = 0xFFFFFFFF;\r
   }\r
+\r
   XhcRingDoorBell (Handle, Urb);\r
   //\r
   // Event Ring Not Empty bit can only be set to 1 by XHC after ringing door bell with some delay.\r
@@ -365,19 +370,22 @@ XhcExecTransfer (
     if (Urb->Finished) {\r
       break;\r
     }\r
+\r
     MicroSecondDelay (XHC_DEBUG_PORT_1_MILLISECOND);\r
   }\r
+\r
   if (Index == Loop) {\r
     //\r
     // If time out occurs.\r
     //\r
     Urb->Result |= EFI_USB_ERR_TIMEOUT;\r
   }\r
+\r
   //\r
   // If URB transfer is error, restore transfer ring to original value before URB transfer\r
   // This will make the current transfer TRB is always at the latest unused one in transfer ring.\r
   //\r
-  Ring = (TRANSFER_RING *)(UINTN) Urb->Ring;\r
+  Ring = (TRANSFER_RING *)(UINTN)Urb->Ring;\r
   if ((Urb->Result != EFI_USB_NOERROR) && (Urb->Direction == EfiUsbDataIn)) {\r
     //\r
     // Adjust Enqueue pointer\r
@@ -386,7 +394,7 @@ XhcExecTransfer (
     //\r
     // Clear CCS flag for next use\r
     //\r
-    Trb = (TRB_TEMPLATE *)(UINTN) Urb->Trb;\r
+    Trb           = (TRB_TEMPLATE *)(UINTN)Urb->Trb;\r
     Trb->CycleBit = ((~Ring->RingPCS) & BIT0);\r
   } else {\r
     //\r
@@ -407,12 +415,12 @@ XhcExecTransfer (
 **/\r
 EFI_STATUS\r
 XhcCreateTransferTrb (\r
-  IN USB3_DEBUG_PORT_HANDLE   *Handle,\r
-  IN URB                        *Urb\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN URB                     *Urb\r
   )\r
 {\r
-  TRANSFER_RING                 *EPRing;\r
-  TRB                           *Trb;\r
+  TRANSFER_RING  *EPRing;\r
+  TRB            *Trb;\r
 \r
   if (Urb->Direction == EfiUsbDataIn) {\r
     EPRing = &Handle->TransferRingIn;\r
@@ -420,11 +428,11 @@ XhcCreateTransferTrb (
     EPRing = &Handle->TransferRingOut;\r
   }\r
 \r
-  Urb->Ring = (EFI_PHYSICAL_ADDRESS)(UINTN) EPRing;\r
+  Urb->Ring = (EFI_PHYSICAL_ADDRESS)(UINTN)EPRing;\r
   XhcSyncTrsRing (Handle, EPRing);\r
 \r
-  Urb->Trb = EPRing->RingEnqueue;\r
-  Trb = (TRB *)(UINTN)EPRing->RingEnqueue;\r
+  Urb->Trb                 = EPRing->RingEnqueue;\r
+  Trb                      = (TRB *)(UINTN)EPRing->RingEnqueue;\r
   Trb->TrbNormal.TRBPtrLo  = XHC_LOW_32BIT (Urb->Data);\r
   Trb->TrbNormal.TRBPtrHi  = XHC_HIGH_32BIT (Urb->Data);\r
   Trb->TrbNormal.Length    = Urb->DataLen;\r
@@ -453,17 +461,17 @@ XhcCreateTransferTrb (
   @return Created URB or NULL\r
 \r
 **/\r
-URB*\r
+URB *\r
 XhcCreateUrb (\r
-  IN USB3_DEBUG_PORT_HANDLE             *Handle,\r
-  IN EFI_USB_DATA_DIRECTION             Direction,\r
-  IN VOID                               *Data,\r
-  IN UINTN                              DataLen\r
+  IN USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN EFI_USB_DATA_DIRECTION  Direction,\r
+  IN VOID                    *Data,\r
+  IN UINTN                   DataLen\r
   )\r
 {\r
-  EFI_STATUS                    Status;\r
-  URB                           *Urb;\r
-  EFI_PHYSICAL_ADDRESS          UrbData;\r
+  EFI_STATUS            Status;\r
+  URB                   *Urb;\r
+  EFI_PHYSICAL_ADDRESS  UrbData;\r
 \r
   if (Direction == EfiUsbDataIn) {\r
     Urb = &Handle->UrbIn;\r
@@ -471,7 +479,7 @@ XhcCreateUrb (
     Urb = &Handle->UrbOut;\r
   }\r
 \r
-  UrbData  = Urb->Data;\r
+  UrbData = Urb->Data;\r
 \r
   ZeroMem (Urb, sizeof (URB));\r
   Urb->Direction = Direction;\r
@@ -481,20 +489,20 @@ XhcCreateUrb (
   // to make XHCI DMA successfully\r
   // re-use the pre-allocate buffer in PEI to avoid DXE memory service or gBS are not ready\r
   //\r
-  Urb->Data  = UrbData;\r
+  Urb->Data = UrbData;\r
 \r
   if (Direction == EfiUsbDataIn) {\r
     //\r
     // Do not break URB data in buffer as it may contain the data which were just put in via DMA by XHC\r
     //\r
-    Urb->DataLen  = (UINT32) DataLen;\r
+    Urb->DataLen = (UINT32)DataLen;\r
   } else {\r
     //\r
     // Put data into URB data out buffer which will create TRBs\r
     //\r
-    ZeroMem ((VOID*)(UINTN) Urb->Data, DataLen);\r
-    CopyMem ((VOID*)(UINTN) Urb->Data, Data, DataLen);\r
-    Urb->DataLen  = (UINT32) DataLen;\r
+    ZeroMem ((VOID *)(UINTN)Urb->Data, DataLen);\r
+    CopyMem ((VOID *)(UINTN)Urb->Data, Data, DataLen);\r
+    Urb->DataLen = (UINT32)DataLen;\r
   }\r
 \r
   Status = XhcCreateTransferTrb (Handle, Urb);\r
@@ -524,15 +532,15 @@ XhcCreateUrb (
 EFI_STATUS\r
 EFIAPI\r
 XhcDataTransfer (\r
-  IN     USB3_DEBUG_PORT_HANDLE              *Handle,\r
-  IN     EFI_USB_DATA_DIRECTION              Direction,\r
-  IN OUT VOID                                *Data,\r
-  IN OUT UINTN                               *DataLength,\r
-  IN     UINTN                               Timeout\r
+  IN     USB3_DEBUG_PORT_HANDLE  *Handle,\r
+  IN     EFI_USB_DATA_DIRECTION  Direction,\r
+  IN OUT VOID                    *Data,\r
+  IN OUT UINTN                   *DataLength,\r
+  IN     UINTN                   Timeout\r
   )\r
 {\r
-  URB                     *Urb;\r
-  EFI_STATUS              Status;\r
+  URB         *Urb;\r
+  EFI_STATUS  Status;\r
 \r
   //\r
   // Validate the parameters\r
@@ -557,7 +565,7 @@ XhcDataTransfer (
     return EFI_DEVICE_ERROR;\r
   }\r
 \r
-  *DataLength     = Urb->Completed;\r
+  *DataLength = Urb->Completed;\r
 \r
   Status = EFI_TIMEOUT;\r
   if (Urb->Result == EFI_USB_NOERROR) {\r
@@ -574,4 +582,3 @@ XhcDataTransfer (
 \r
   return Status;\r
 }\r
-\r
index 80bafca41be605129010bf4d321b4f3a963ef750..600bde10d656835fad36507ce7885cea4dc5c685 100644 (file)
 **/\r
 BOOLEAN\r
 CheckDebugAgentHandler (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  IN  UINTN                      InterruptType\r
+  IN  IA32_DESCRIPTOR  *IdtDescriptor,\r
+  IN  UINTN            InterruptType\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  UINTN                      InterruptHandler;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  UINTN                     InterruptHandler;\r
 \r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor->Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor->Base;\r
   if (IdtEntry == NULL) {\r
     return FALSE;\r
   }\r
 \r
   InterruptHandler = IdtEntry[InterruptType].Bits.OffsetLow +\r
-                    (IdtEntry[InterruptType].Bits.OffsetHigh << 16);\r
-  if (InterruptHandler >= sizeof (UINT32) &&  *(UINT32 *)(InterruptHandler - sizeof (UINT32)) == AGENT_HANDLER_SIGNATURE) {\r
+                     (IdtEntry[InterruptType].Bits.OffsetHigh << 16);\r
+  if ((InterruptHandler >= sizeof (UINT32)) &&  (*(UINT32 *)(InterruptHandler - sizeof (UINT32)) == AGENT_HANDLER_SIGNATURE)) {\r
     return TRUE;\r
   } else {\r
     return FALSE;\r
@@ -50,23 +50,23 @@ CheckDebugAgentHandler (
 **/\r
 VOID\r
 SaveAndUpdateIdtEntry1 (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  OUT IA32_IDT_GATE_DESCRIPTOR   *SavedIdtEntry\r
+  IN  IA32_DESCRIPTOR           *IdtDescriptor,\r
+  OUT IA32_IDT_GATE_DESCRIPTOR  *SavedIdtEntry\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  UINT16                     CodeSegment;\r
-  UINTN                      InterruptHandler;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  UINT16                    CodeSegment;\r
+  UINTN                     InterruptHandler;\r
 \r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor->Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor->Base;\r
   CopyMem (SavedIdtEntry, &IdtEntry[1], sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
 \r
-    //\r
+  //\r
   // Use current CS as the segment selector of interrupt gate in IDT\r
   //\r
   CodeSegment = AsmReadCs ();\r
 \r
-  InterruptHandler = (UINTN) &AsmInterruptHandle;\r
+  InterruptHandler            = (UINTN)&AsmInterruptHandle;\r
   IdtEntry[1].Bits.OffsetLow  = (UINT16)(UINTN)InterruptHandler;\r
   IdtEntry[1].Bits.OffsetHigh = (UINT16)((UINTN)InterruptHandler >> 16);\r
   IdtEntry[1].Bits.Selector   = CodeSegment;\r
@@ -82,12 +82,12 @@ SaveAndUpdateIdtEntry1 (
 **/\r
 VOID\r
 RestoreIdtEntry1 (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  IN  IA32_IDT_GATE_DESCRIPTOR   *RestoredIdtEntry\r
+  IN  IA32_DESCRIPTOR           *IdtDescriptor,\r
+  IN  IA32_IDT_GATE_DESCRIPTOR  *RestoredIdtEntry\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
 \r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor->Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor->Base;\r
   CopyMem (&IdtEntry[1], RestoredIdtEntry, sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
 }\r
index 766f6d75f7a29c1327c2c523604606b6b2f5bc74..2c80f7e22db5fac2e9f0669cd3e03c765934dbf7 100644 (file)
@@ -27,7 +27,7 @@ IsDrxEnabled (
   IN  UINTN  Dr7\r
   )\r
 {\r
-  return (BOOLEAN) (((Dr7 >> (RegisterIndex * 2)) & (BIT0 | BIT1)) == (BIT0 | BIT1));\r
+  return (BOOLEAN)(((Dr7 >> (RegisterIndex * 2)) & (BIT0 | BIT1)) == (BIT0 | BIT1));\r
 }\r
 \r
 /**\r
@@ -46,25 +46,25 @@ PeCoffLoaderExtraActionCommon (
   IN     UINTN                         Signature\r
   )\r
 {\r
-  BOOLEAN                    InterruptState;\r
-  UINTN                      Dr0;\r
-  UINTN                      Dr1;\r
-  UINTN                      Dr2;\r
-  UINTN                      Dr3;\r
-  UINTN                      Dr7;\r
-  UINTN                      Cr4;\r
-  UINTN                      NewDr7;\r
-  UINT8                      LoadImageMethod;\r
-  UINT8                      DebugAgentStatus;\r
-  IA32_DESCRIPTOR            IdtDescriptor;\r
-  IA32_IDT_GATE_DESCRIPTOR   OriginalIdtEntry;\r
-  BOOLEAN                    IdtEntryHooked;\r
-  UINT32                     RegEdx;\r
+  BOOLEAN                   InterruptState;\r
+  UINTN                     Dr0;\r
+  UINTN                     Dr1;\r
+  UINTN                     Dr2;\r
+  UINTN                     Dr3;\r
+  UINTN                     Dr7;\r
+  UINTN                     Cr4;\r
+  UINTN                     NewDr7;\r
+  UINT8                     LoadImageMethod;\r
+  UINT8                     DebugAgentStatus;\r
+  IA32_DESCRIPTOR           IdtDescriptor;\r
+  IA32_IDT_GATE_DESCRIPTOR  OriginalIdtEntry;\r
+  BOOLEAN                   IdtEntryHooked;\r
+  UINT32                    RegEdx;\r
 \r
   ASSERT (ImageContext != NULL);\r
 \r
   if (ImageContext->PdbPointer != NULL) {\r
-    DEBUG((DEBUG_ERROR, "    PDB = %a\n", ImageContext->PdbPointer));\r
+    DEBUG ((DEBUG_ERROR, "    PDB = %a\n", ImageContext->PdbPointer));\r
   }\r
 \r
   //\r
@@ -84,6 +84,7 @@ PeCoffLoaderExtraActionCommon (
       LoadImageMethod = DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3;\r
     }\r
   }\r
+\r
   AsmReadIdtr (&IdtDescriptor);\r
   if (LoadImageMethod == DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3) {\r
     if (!CheckDebugAgentHandler (&IdtDescriptor, SOFT_INT_VECTOR_NUM)) {\r
@@ -122,8 +123,8 @@ PeCoffLoaderExtraActionCommon (
   //\r
   AsmWriteDr7 (BIT10);\r
   AsmWriteDr0 (Signature);\r
-  AsmWriteDr1 ((UINTN) ImageContext->PdbPointer);\r
-  AsmWriteDr2 ((UINTN) ImageContext);\r
+  AsmWriteDr1 ((UINTN)ImageContext->PdbPointer);\r
+  AsmWriteDr2 ((UINTN)ImageContext);\r
   AsmWriteDr3 (IO_PORT_BREAKPOINT_ADDRESS);\r
 \r
   if (LoadImageMethod == DEBUG_LOAD_IMAGE_METHOD_IO_HW_BREAKPOINT) {\r
@@ -136,7 +137,6 @@ PeCoffLoaderExtraActionCommon (
     do {\r
       DebugAgentStatus = IoRead8 (IO_PORT_BREAKPOINT_ADDRESS);\r
     } while (DebugAgentStatus == DEBUG_AGENT_IMAGE_WAIT);\r
-\r
   } else if (LoadImageMethod == DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3) {\r
     //\r
     // Generate a software break point.\r
@@ -150,26 +150,31 @@ PeCoffLoaderExtraActionCommon (
   //       in the above exception handler\r
   //\r
   NewDr7 = AsmReadDr7 () | BIT10; // H/w sets bit 10, some simulators don't\r
-  if (!IsDrxEnabled (0, NewDr7) && (AsmReadDr0 () == 0 || AsmReadDr0 () == Signature)) {\r
+  if (!IsDrxEnabled (0, NewDr7) && ((AsmReadDr0 () == 0) || (AsmReadDr0 () == Signature))) {\r
     //\r
     // If user changed Dr3 (by setting HW bp in the above exception handler,\r
     // we will not set Dr0 to 0 in GO/STEP handler because the break cause is not IMAGE_LOAD/_UNLOAD.\r
     //\r
     AsmWriteDr0 (Dr0);\r
   }\r
-  if (!IsDrxEnabled (1, NewDr7) && (AsmReadDr1 () == (UINTN) ImageContext->PdbPointer)) {\r
+\r
+  if (!IsDrxEnabled (1, NewDr7) && (AsmReadDr1 () == (UINTN)ImageContext->PdbPointer)) {\r
     AsmWriteDr1 (Dr1);\r
   }\r
-  if (!IsDrxEnabled (2, NewDr7) && (AsmReadDr2 () == (UINTN) ImageContext)) {\r
+\r
+  if (!IsDrxEnabled (2, NewDr7) && (AsmReadDr2 () == (UINTN)ImageContext)) {\r
     AsmWriteDr2 (Dr2);\r
   }\r
+\r
   if (!IsDrxEnabled (3, NewDr7) && (AsmReadDr3 () == IO_PORT_BREAKPOINT_ADDRESS)) {\r
     AsmWriteDr3 (Dr3);\r
   }\r
+\r
   if (LoadImageMethod == DEBUG_LOAD_IMAGE_METHOD_IO_HW_BREAKPOINT) {\r
     if (AsmReadCr4 () == (Cr4 | BIT3)) {\r
       AsmWriteCr4 (Cr4);\r
     }\r
+\r
     if (NewDr7 == 0x20000480) {\r
       AsmWriteDr7 (Dr7);\r
     }\r
@@ -178,12 +183,14 @@ PeCoffLoaderExtraActionCommon (
       AsmWriteDr7 (Dr7);\r
     }\r
   }\r
+\r
   //\r
   // Restore original IDT entry for INT1 if it was hooked.\r
   //\r
   if (IdtEntryHooked) {\r
     RestoreIdtEntry1 (&IdtDescriptor, &OriginalIdtEntry);\r
   }\r
+\r
   //\r
   // Restore the interrupt state\r
   //\r
index 9aeb005be9c317d199d6e9af3cb37267d79d8db4..149186b226f4ea591c37ce919cf561235685c549 100644 (file)
 \r
 #include <ImageDebugSupport.h>\r
 \r
-#define DEBUG_LOAD_IMAGE_METHOD_IO_HW_BREAKPOINT    1\r
-#define DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3           2\r
+#define DEBUG_LOAD_IMAGE_METHOD_IO_HW_BREAKPOINT  1\r
+#define DEBUG_LOAD_IMAGE_METHOD_SOFT_INT3         2\r
 \r
-#define IO_HW_BREAKPOINT_VECTOR_NUM                 1\r
-#define SOFT_INT_VECTOR_NUM                         3\r
+#define IO_HW_BREAKPOINT_VECTOR_NUM  1\r
+#define SOFT_INT_VECTOR_NUM          3\r
 \r
 extern UINTN  AsmInterruptHandle;\r
 \r
@@ -39,8 +39,8 @@ extern UINTN  AsmInterruptHandle;
 **/\r
 BOOLEAN\r
 CheckDebugAgentHandler (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  IN  UINTN                      InterruptType\r
+  IN  IA32_DESCRIPTOR  *IdtDescriptor,\r
+  IN  UINTN            InterruptType\r
   );\r
 \r
 /**\r
@@ -52,8 +52,8 @@ CheckDebugAgentHandler (
 **/\r
 VOID\r
 SaveAndUpdateIdtEntry1 (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  OUT IA32_IDT_GATE_DESCRIPTOR   *SavedIdtEntry\r
+  IN  IA32_DESCRIPTOR           *IdtDescriptor,\r
+  OUT IA32_IDT_GATE_DESCRIPTOR  *SavedIdtEntry\r
   );\r
 \r
 /**\r
@@ -65,9 +65,8 @@ SaveAndUpdateIdtEntry1 (
 **/\r
 VOID\r
 RestoreIdtEntry1 (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  IN  IA32_IDT_GATE_DESCRIPTOR   *RestoredIdtEntry\r
+  IN  IA32_DESCRIPTOR           *IdtDescriptor,\r
+  IN  IA32_IDT_GATE_DESCRIPTOR  *RestoredIdtEntry\r
   );\r
 \r
 #endif\r
-\r
index b470c07dd23a6e8323125f2a73fe45f7b5b0b9a4..952285a8eac0815f12d053855a687d34f3f5ed47 100644 (file)
 **/\r
 BOOLEAN\r
 CheckDebugAgentHandler (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  IN  UINTN                      InterruptType\r
+  IN  IA32_DESCRIPTOR  *IdtDescriptor,\r
+  IN  UINTN            InterruptType\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  UINTN                      InterruptHandler;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  UINTN                     InterruptHandler;\r
 \r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor->Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor->Base;\r
   if (IdtEntry == NULL) {\r
     return FALSE;\r
   }\r
 \r
   InterruptHandler = IdtEntry[InterruptType].Bits.OffsetLow +\r
-                    (((UINTN)IdtEntry[InterruptType].Bits.OffsetHigh) << 16) +\r
-                    (((UINTN)IdtEntry[InterruptType].Bits.OffsetUpper) << 32);\r
-  if (InterruptHandler >= sizeof (UINT32) &&  *(UINT32 *)(InterruptHandler - sizeof (UINT32)) == AGENT_HANDLER_SIGNATURE) {\r
+                     (((UINTN)IdtEntry[InterruptType].Bits.OffsetHigh) << 16) +\r
+                     (((UINTN)IdtEntry[InterruptType].Bits.OffsetUpper) << 32);\r
+  if ((InterruptHandler >= sizeof (UINT32)) &&  (*(UINT32 *)(InterruptHandler - sizeof (UINT32)) == AGENT_HANDLER_SIGNATURE)) {\r
     return TRUE;\r
   } else {\r
     return FALSE;\r
@@ -51,28 +51,28 @@ CheckDebugAgentHandler (
 **/\r
 VOID\r
 SaveAndUpdateIdtEntry1 (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  OUT IA32_IDT_GATE_DESCRIPTOR   *SavedIdtEntry\r
+  IN  IA32_DESCRIPTOR           *IdtDescriptor,\r
+  OUT IA32_IDT_GATE_DESCRIPTOR  *SavedIdtEntry\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
-  UINT16                     CodeSegment;\r
-  UINTN                      InterruptHandler;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
+  UINT16                    CodeSegment;\r
+  UINTN                     InterruptHandler;\r
 \r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor->Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor->Base;\r
   CopyMem (SavedIdtEntry, &IdtEntry[1], sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
 \r
-    //\r
+  //\r
   // Use current CS as the segment selector of interrupt gate in IDT\r
   //\r
   CodeSegment = AsmReadCs ();\r
 \r
-  InterruptHandler = (UINTN) &AsmInterruptHandle;\r
-  IdtEntry[1].Bits.OffsetLow       = (UINT16)(UINTN)InterruptHandler;\r
-  IdtEntry[1].Bits.OffsetHigh      = (UINT16)((UINTN)InterruptHandler >> 16);\r
-  IdtEntry[1].Bits.OffsetUpper     = (UINT32)((UINTN)InterruptHandler >> 32);\r
-  IdtEntry[1].Bits.Selector        = CodeSegment;\r
-  IdtEntry[1].Bits.GateType        = IA32_IDT_GATE_TYPE_INTERRUPT_32;\r
+  InterruptHandler             = (UINTN)&AsmInterruptHandle;\r
+  IdtEntry[1].Bits.OffsetLow   = (UINT16)(UINTN)InterruptHandler;\r
+  IdtEntry[1].Bits.OffsetHigh  = (UINT16)((UINTN)InterruptHandler >> 16);\r
+  IdtEntry[1].Bits.OffsetUpper = (UINT32)((UINTN)InterruptHandler >> 32);\r
+  IdtEntry[1].Bits.Selector    = CodeSegment;\r
+  IdtEntry[1].Bits.GateType    = IA32_IDT_GATE_TYPE_INTERRUPT_32;\r
 }\r
 \r
 /**\r
@@ -84,12 +84,12 @@ SaveAndUpdateIdtEntry1 (
 **/\r
 VOID\r
 RestoreIdtEntry1 (\r
-  IN  IA32_DESCRIPTOR            *IdtDescriptor,\r
-  IN  IA32_IDT_GATE_DESCRIPTOR   *RestoredIdtEntry\r
+  IN  IA32_DESCRIPTOR           *IdtDescriptor,\r
+  IN  IA32_IDT_GATE_DESCRIPTOR  *RestoredIdtEntry\r
   )\r
 {\r
-  IA32_IDT_GATE_DESCRIPTOR   *IdtEntry;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtEntry;\r
 \r
-  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *) IdtDescriptor->Base;\r
+  IdtEntry = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor->Base;\r
   CopyMem (&IdtEntry[1], RestoredIdtEntry, sizeof (IA32_IDT_GATE_DESCRIPTOR));\r
 }\r