]> git.proxmox.com Git - mirror_edk2.git/blobdiff - EmbeddedPkg/GdbStub/Ia32/Processor.c
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / EmbeddedPkg / GdbStub / Ia32 / Processor.c
index e0bdf98d9e28e3a1255f43585900f95588c2c833..a3406b03f3b1cfc7148e0f3ecfeb8415dc7affc7 100644 (file)
 // Array of exception types that need to be hooked by the debugger\r
 // {EFI mapping, GDB mapping}\r
 //\r
-EFI_EXCEPTION_TYPE_ENTRY gExceptionType[] = {\r
-  { EXCEPT_IA32_DIVIDE_ERROR,     GDB_SIGFPE  },\r
-  { EXCEPT_IA32_DEBUG,            GDB_SIGTRAP },\r
-  { EXCEPT_IA32_NMI,              GDB_SIGEMT  },\r
-  { EXCEPT_IA32_BREAKPOINT,       GDB_SIGTRAP },\r
-  { EXCEPT_IA32_OVERFLOW,         GDB_SIGSEGV },\r
-  { EXCEPT_IA32_BOUND,            GDB_SIGSEGV },\r
-  { EXCEPT_IA32_INVALID_OPCODE,   GDB_SIGILL  },\r
-  { EXCEPT_IA32_DOUBLE_FAULT,     GDB_SIGEMT  },\r
-  { EXCEPT_IA32_STACK_FAULT,      GDB_SIGSEGV },\r
-  { EXCEPT_IA32_GP_FAULT,         GDB_SIGSEGV },\r
-  { EXCEPT_IA32_PAGE_FAULT,       GDB_SIGSEGV },\r
-  { EXCEPT_IA32_FP_ERROR,         GDB_SIGEMT  },\r
-  { EXCEPT_IA32_ALIGNMENT_CHECK,  GDB_SIGEMT  },\r
-  { EXCEPT_IA32_MACHINE_CHECK,    GDB_SIGEMT  }\r
+EFI_EXCEPTION_TYPE_ENTRY  gExceptionType[] = {\r
+  { EXCEPT_IA32_DIVIDE_ERROR,    GDB_SIGFPE  },\r
+  { EXCEPT_IA32_DEBUG,           GDB_SIGTRAP },\r
+  { EXCEPT_IA32_NMI,             GDB_SIGEMT  },\r
+  { EXCEPT_IA32_BREAKPOINT,      GDB_SIGTRAP },\r
+  { EXCEPT_IA32_OVERFLOW,        GDB_SIGSEGV },\r
+  { EXCEPT_IA32_BOUND,           GDB_SIGSEGV },\r
+  { EXCEPT_IA32_INVALID_OPCODE,  GDB_SIGILL  },\r
+  { EXCEPT_IA32_DOUBLE_FAULT,    GDB_SIGEMT  },\r
+  { EXCEPT_IA32_STACK_FAULT,     GDB_SIGSEGV },\r
+  { EXCEPT_IA32_GP_FAULT,        GDB_SIGSEGV },\r
+  { EXCEPT_IA32_PAGE_FAULT,      GDB_SIGSEGV },\r
+  { EXCEPT_IA32_FP_ERROR,        GDB_SIGEMT  },\r
+  { EXCEPT_IA32_ALIGNMENT_CHECK, GDB_SIGEMT  },\r
+  { EXCEPT_IA32_MACHINE_CHECK,   GDB_SIGEMT  }\r
 };\r
 \r
-\r
 // The offsets of registers SystemContext.\r
 // The fields in the array are in the gdb ordering.\r
 //\r
-//16 regs\r
-UINTN gRegisterOffsets[] = {\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Eax),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Ecx),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Edx),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Ebx),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Esp),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Ebp),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Esi),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Edi),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Eip),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Eflags),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Cs),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Ss),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Ds),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Es),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Fs),\r
-  OFFSET_OF(EFI_SYSTEM_CONTEXT_IA32, Gs)\r
+// 16 regs\r
+UINTN  gRegisterOffsets[] = {\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Eax),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Ecx),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Edx),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Ebx),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Esp),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Ebp),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Esi),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Edi),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Eip),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Eflags),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Cs),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Ss),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Ds),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Es),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Fs),\r
+  OFFSET_OF (EFI_SYSTEM_CONTEXT_IA32, Gs)\r
 };\r
 \r
-\r
-//Debug only..\r
+// Debug only..\r
 VOID\r
 PrintReg (\r
-  IN EFI_SYSTEM_CONTEXT SystemContext\r
+  IN EFI_SYSTEM_CONTEXT  SystemContext\r
   )\r
 {\r
   Print ((CHAR16 *)L"EAX: %x ", SystemContext.SystemContextIa32->Eax);\r
@@ -73,10 +71,10 @@ PrintReg (
   Print ((CHAR16 *)L"EFlags: %x\n", SystemContext.SystemContextIa32->Eflags);\r
 }\r
 \r
-//Debug only..\r
+// Debug only..\r
 VOID\r
 PrintDRreg (\r
-  IN EFI_SYSTEM_CONTEXT SystemContext\r
+  IN EFI_SYSTEM_CONTEXT  SystemContext\r
   )\r
 {\r
   Print ((CHAR16 *)L"DR0: %x ", SystemContext.SystemContextIa32->Dr0);\r
@@ -87,7 +85,6 @@ PrintDRreg (
   Print ((CHAR16 *)L"DR7: %x\n", SystemContext.SystemContextIa32->Dr7);\r
 }\r
 \r
-\r
 /**\r
  Return the number of entries in the gExceptionType[]\r
 \r
@@ -101,7 +98,6 @@ MaxEfiException (
   return sizeof (gExceptionType)/sizeof (EFI_EXCEPTION_TYPE_ENTRY);\r
 }\r
 \r
-\r
 /**\r
  Return the number of entries in the gRegisters[]\r
 \r
@@ -115,7 +111,6 @@ MaxRegisterCount (
   return sizeof (gRegisterOffsets)/sizeof (UINTN);\r
 }\r
 \r
-\r
 /**\r
   Check to see if the ISA is supported.\r
   ISA = Instruction Set Architecture\r
@@ -131,7 +126,6 @@ CheckIsa (
   return (BOOLEAN)(Isa == IsaIa32);\r
 }\r
 \r
-\r
 /**\r
  This takes in the register number and the System Context, and returns a pointer to the RegNumber-th register in gdb ordering\r
  It is, by default, set to find the register pointer of the IA32 member\r
@@ -146,12 +140,12 @@ FindPointerToRegister (
   IN  UINTN               RegNumber\r
   )\r
 {\r
-  UINT8 *TempPtr;\r
+  UINT8  *TempPtr;\r
+\r
   TempPtr = ((UINT8 *)SystemContext.SystemContextIa32) + gRegisterOffsets[RegNumber];\r
   return (UINTN *)TempPtr;\r
 }\r
 \r
-\r
 /**\r
  Adds the RegNumber-th register's value to the output buffer, starting at the given OutBufPtr\r
 \r
@@ -162,23 +156,23 @@ FindPointerToRegister (
  **/\r
 CHAR8 *\r
 BasicReadRegister (\r
-  IN  EFI_SYSTEM_CONTEXT      SystemContext,\r
-  IN  UINTN           RegNumber,\r
-  IN  CHAR8           *OutBufPtr\r
+  IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
+  IN  UINTN               RegNumber,\r
+  IN  CHAR8               *OutBufPtr\r
   )\r
 {\r
-  UINTN RegSize;\r
+  UINTN  RegSize;\r
 \r
   RegSize = 0;\r
   while (RegSize < REG_SIZE) {\r
     *OutBufPtr++ = mHexToStr[((*FindPointerToRegister (SystemContext, RegNumber) >> (RegSize+4)) & 0xf)];\r
     *OutBufPtr++ = mHexToStr[((*FindPointerToRegister (SystemContext, RegNumber) >> RegSize) & 0xf)];\r
-    RegSize = RegSize + 8;\r
+    RegSize      = RegSize + 8;\r
   }\r
+\r
   return OutBufPtr;\r
 }\r
 \r
-\r
 /** ‘p n’\r
  Reads the n-th register's value into an output buffer and sends it as a packet\r
 \r
@@ -188,17 +182,17 @@ BasicReadRegister (
 VOID\r
 EFIAPI\r
 ReadNthRegister (\r
-  IN  EFI_SYSTEM_CONTEXT   SystemContext,\r
-  IN  CHAR8                *InBuffer\r
+  IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
+  IN  CHAR8               *InBuffer\r
   )\r
 {\r
-  UINTN RegNumber;\r
-  CHAR8 OutBuffer[9]; // 1 reg=8 hex chars, and the end '\0' (escape seq)\r
-  CHAR8 *OutBufPtr;   // pointer to the output buffer\r
+  UINTN  RegNumber;\r
+  CHAR8  OutBuffer[9]; // 1 reg=8 hex chars, and the end '\0' (escape seq)\r
+  CHAR8  *OutBufPtr;   // pointer to the output buffer\r
 \r
   RegNumber = AsciiStrHexToUintn (&InBuffer[1]);\r
 \r
-  if ((RegNumber < 0) || (RegNumber >= MaxRegisterCount())) {\r
+  if ((RegNumber < 0) || (RegNumber >= MaxRegisterCount ())) {\r
     SendError (GDB_EINVALIDREGNUM);\r
     return;\r
   }\r
@@ -207,10 +201,9 @@ ReadNthRegister (
   OutBufPtr = BasicReadRegister (SystemContext, RegNumber, OutBufPtr);\r
 \r
   *OutBufPtr = '\0';  // the end of the buffer\r
-  SendPacket(OutBuffer);\r
+  SendPacket (OutBuffer);\r
 }\r
 \r
-\r
 /** ‘g’\r
  Reads the general registers into an output buffer  and sends it as a packet\r
 \r
@@ -219,23 +212,23 @@ ReadNthRegister (
 VOID\r
 EFIAPI\r
 ReadGeneralRegisters (\r
-  IN  EFI_SYSTEM_CONTEXT      SystemContext\r
+  IN  EFI_SYSTEM_CONTEXT  SystemContext\r
   )\r
 {\r
-  UINTN   i;\r
-  CHAR8 OutBuffer[129]; // 16 regs, 8 hex chars each, and the end '\0' (escape seq)\r
-  CHAR8 *OutBufPtr;   // pointer to the output buffer\r
+  UINTN  i;\r
+  CHAR8  OutBuffer[129]; // 16 regs, 8 hex chars each, and the end '\0' (escape seq)\r
+  CHAR8  *OutBufPtr;     // pointer to the output buffer\r
 \r
   OutBufPtr = OutBuffer;\r
-  for (i = 0 ; i < MaxRegisterCount() ; i++) {  // there are only 16 registers to read\r
+  for (i = 0; i < MaxRegisterCount (); i++) {\r
+    // there are only 16 registers to read\r
     OutBufPtr = BasicReadRegister (SystemContext, i, OutBufPtr);\r
   }\r
 \r
   *OutBufPtr = '\0';  // the end of the buffer\r
-  SendPacket(OutBuffer);\r
+  SendPacket (OutBuffer);\r
 }\r
 \r
-\r
 /**\r
  Adds the RegNumber-th register's value to the output buffer, starting at the given OutBufPtr\r
 \r
@@ -246,27 +239,27 @@ ReadGeneralRegisters (
  **/\r
 CHAR8 *\r
 BasicWriteRegister (\r
-  IN  EFI_SYSTEM_CONTEXT      SystemContext,\r
-  IN  UINTN           RegNumber,\r
-  IN  CHAR8           *InBufPtr\r
+  IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
+  IN  UINTN               RegNumber,\r
+  IN  CHAR8               *InBufPtr\r
   )\r
 {\r
-  UINTN RegSize;\r
-  UINTN TempValue; // the value transferred from a hex char\r
-  UINT32 NewValue; // the new value of the RegNumber-th Register\r
+  UINTN   RegSize;\r
+  UINTN   TempValue; // the value transferred from a hex char\r
+  UINT32  NewValue;  // the new value of the RegNumber-th Register\r
 \r
   NewValue = 0;\r
-  RegSize = 0;\r
+  RegSize  = 0;\r
   while (RegSize < REG_SIZE) {\r
-    TempValue = HexCharToInt(*InBufPtr++);\r
+    TempValue = HexCharToInt (*InBufPtr++);\r
 \r
-   if (TempValue < 0) {\r
+    if (TempValue < 0) {\r
       SendError (GDB_EBADMEMDATA);\r
       return NULL;\r
     }\r
 \r
     NewValue += (TempValue << (RegSize+4));\r
-    TempValue = HexCharToInt(*InBufPtr++);\r
+    TempValue = HexCharToInt (*InBufPtr++);\r
 \r
     if (TempValue < 0) {\r
       SendError (GDB_EBADMEMDATA);\r
@@ -274,51 +267,52 @@ BasicWriteRegister (
     }\r
 \r
     NewValue += (TempValue << RegSize);\r
-    RegSize = RegSize + 8;\r
+    RegSize   = RegSize + 8;\r
   }\r
+\r
   *(FindPointerToRegister (SystemContext, RegNumber)) = NewValue;\r
   return InBufPtr;\r
 }\r
 \r
-\r
 /** ‘P n...=r...’\r
  Writes the new value of n-th register received into the input buffer to the n-th register\r
 \r
  @param   SystemContext   Register content at time of the exception\r
- @param   InBuffer      Ponter to the input buffer received from gdb server\r
+ @param   InBuffer      Pointer to the input buffer received from gdb server\r
  **/\r
 VOID\r
 EFIAPI\r
 WriteNthRegister (\r
-  IN  EFI_SYSTEM_CONTEXT      SystemContext,\r
-  IN  CHAR8           *InBuffer\r
+  IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
+  IN  CHAR8               *InBuffer\r
   )\r
 {\r
-  UINTN RegNumber;\r
-  CHAR8 RegNumBuffer[MAX_REG_NUM_BUF_SIZE];  // put the 'n..' part of the message into this array\r
-  CHAR8 *RegNumBufPtr;\r
-  CHAR8 *InBufPtr; // pointer to the input buffer\r
+  UINTN  RegNumber;\r
+  CHAR8  RegNumBuffer[MAX_REG_NUM_BUF_SIZE]; // put the 'n..' part of the message into this array\r
+  CHAR8  *RegNumBufPtr;\r
+  CHAR8  *InBufPtr; // pointer to the input buffer\r
 \r
   // find the register number to write\r
-  InBufPtr = &InBuffer[1];\r
+  InBufPtr     = &InBuffer[1];\r
   RegNumBufPtr = RegNumBuffer;\r
   while (*InBufPtr != '=') {\r
     *RegNumBufPtr++ = *InBufPtr++;\r
   }\r
+\r
   *RegNumBufPtr = '\0';\r
-  RegNumber = AsciiStrHexToUintn (RegNumBuffer);\r
+  RegNumber     = AsciiStrHexToUintn (RegNumBuffer);\r
 \r
   // check if this is a valid Register Number\r
-  if ((RegNumber < 0) || (RegNumber >= MaxRegisterCount())) {\r
+  if ((RegNumber < 0) || (RegNumber >= MaxRegisterCount ())) {\r
     SendError (GDB_EINVALIDREGNUM);\r
     return;\r
   }\r
+\r
   InBufPtr++;  // skips the '=' character\r
   BasicWriteRegister (SystemContext, RegNumber, InBufPtr);\r
-  SendSuccess();\r
+  SendSuccess ();\r
 }\r
 \r
-\r
 /** ‘G XX...’\r
  Writes the new values received into the input buffer to the general registers\r
 \r
@@ -328,17 +322,18 @@ WriteNthRegister (
 VOID\r
 EFIAPI\r
 WriteGeneralRegisters (\r
-  IN  EFI_SYSTEM_CONTEXT        SystemContext,\r
-  IN  CHAR8             *InBuffer\r
+  IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
+  IN  CHAR8               *InBuffer\r
   )\r
 {\r
   UINTN  i;\r
-  CHAR8 *InBufPtr; /// pointer to the input buffer\r
+  CHAR8  *InBufPtr; /// pointer to the input buffer\r
 \r
   // check to see if the buffer is the right size which is\r
   // 1 (for 'G') + 16 (for 16 registers) * 8 ( for 8 hex chars each) = 129\r
-  if (AsciiStrLen(InBuffer) != 129) { // 16 regs, 8 hex chars each, and the end '\0' (escape seq)\r
-    //Bad message. Message is not the right length\r
+  if (AsciiStrLen (InBuffer) != 129) {\r
+    // 16 regs, 8 hex chars each, and the end '\0' (escape seq)\r
+    // Bad message. Message is not the right length\r
     SendError (GDB_EBADBUFSIZE);\r
     return;\r
   }\r
@@ -347,14 +342,14 @@ WriteGeneralRegisters (
 \r
   // Read the new values for the registers from the input buffer to an array, NewValueArray.\r
   // The values in the array are in the gdb ordering\r
-  for (i=0; i < MaxRegisterCount(); i++) {  // there are only 16 registers to write\r
+  for (i = 0; i < MaxRegisterCount (); i++) {\r
+    // there are only 16 registers to write\r
     InBufPtr = BasicWriteRegister (SystemContext, i, InBufPtr);\r
   }\r
 \r
-  SendSuccess();\r
+  SendSuccess ();\r
 }\r
 \r
-\r
 /**\r
  Insert Single Step in the SystemContext\r
 \r
@@ -365,10 +360,9 @@ AddSingleStep (
   IN  EFI_SYSTEM_CONTEXT  SystemContext\r
   )\r
 {\r
-  SystemContext.SystemContextIa32->Eflags |= TF_BIT; //Setting the TF bit.\r
+  SystemContext.SystemContextIa32->Eflags |= TF_BIT; // Setting the TF bit.\r
 }\r
 \r
-\r
 /**\r
  Remove Single Step in the SystemContext\r
 \r
@@ -382,8 +376,6 @@ RemoveSingleStep (
   SystemContext.SystemContextIa32->Eflags &= ~TF_BIT;  // clearing the TF bit.\r
 }\r
 \r
-\r
-\r
 /** ‘c [addr ]’\r
  Continue. addr is Address to resume. If addr is omitted, resume at current\r
  Address.\r
@@ -393,8 +385,8 @@ RemoveSingleStep (
 VOID\r
 EFIAPI\r
 ContinueAtAddress (\r
-  IN  EFI_SYSTEM_CONTEXT      SystemContext,\r
-  IN    CHAR8                 *PacketData\r
+  IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
+  IN    CHAR8             *PacketData\r
   )\r
 {\r
   if (PacketData[1] != '\0') {\r
@@ -402,7 +394,6 @@ ContinueAtAddress (
   }\r
 }\r
 \r
-\r
 /** ‘s [addr ]’\r
  Single step. addr is the Address at which to resume. If addr is omitted, resume\r
  at same Address.\r
@@ -412,8 +403,8 @@ ContinueAtAddress (
 VOID\r
 EFIAPI\r
 SingleStep (\r
-  IN  EFI_SYSTEM_CONTEXT      SystemContext,\r
-  IN    CHAR8                 *PacketData\r
+  IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
+  IN    CHAR8             *PacketData\r
   )\r
 {\r
   if (PacketData[1] != '\0') {\r
@@ -423,7 +414,6 @@ SingleStep (
   AddSingleStep (SystemContext);\r
 }\r
 \r
-\r
 /**\r
   Returns breakpoint data address from DR0-DR3 based on the input breakpoint number\r
 \r
@@ -439,7 +429,7 @@ GetBreakpointDataAddress (
   IN  UINTN               BreakpointNumber\r
   )\r
 {\r
-  UINTN Address;\r
+  UINTN  Address;\r
 \r
   if (BreakpointNumber == 1) {\r
     Address = SystemContext.SystemContextIa32->Dr0;\r
@@ -456,7 +446,6 @@ GetBreakpointDataAddress (
   return Address;\r
 }\r
 \r
-\r
 /**\r
   Returns currently detected breakpoint value based on the register DR6 B0-B3 field.\r
   If no breakpoint is detected then it returns 0.\r
@@ -472,8 +461,8 @@ GetBreakpointDetected (
   IN  EFI_SYSTEM_CONTEXT  SystemContext\r
   )\r
 {\r
-  IA32_DR6 Dr6;\r
-  UINTN BreakpointNumber;\r
+  IA32_DR6  Dr6;\r
+  UINTN     BreakpointNumber;\r
 \r
   Dr6.UintN = SystemContext.SystemContextIa32->Dr6;\r
 \r
@@ -486,13 +475,12 @@ GetBreakpointDetected (
   } else if (Dr6.Bits.B3 == 1) {\r
     BreakpointNumber = 4;\r
   } else {\r
-    BreakpointNumber = 0;  //No breakpoint detected\r
+    BreakpointNumber = 0;  // No breakpoint detected\r
   }\r
 \r
   return BreakpointNumber;\r
 }\r
 \r
-\r
 /**\r
   Returns Breakpoint type (InstructionExecution, DataWrite, DataRead or DataReadWrite)\r
   based on the Breakpoint number\r
@@ -510,25 +498,24 @@ GetBreakpointType (
   IN  UINTN               BreakpointNumber\r
   )\r
 {\r
-  IA32_DR7 Dr7;\r
-  BREAK_TYPE Type = NotSupported;  //Default is NotSupported type\r
+  IA32_DR7    Dr7;\r
+  BREAK_TYPE  Type = NotSupported; // Default is NotSupported type\r
 \r
   Dr7.UintN = SystemContext.SystemContextIa32->Dr7;\r
 \r
   if (BreakpointNumber == 1) {\r
-    Type = (BREAK_TYPE) Dr7.Bits.RW0;\r
+    Type = (BREAK_TYPE)Dr7.Bits.RW0;\r
   } else if (BreakpointNumber == 2) {\r
-    Type = (BREAK_TYPE) Dr7.Bits.RW1;\r
+    Type = (BREAK_TYPE)Dr7.Bits.RW1;\r
   } else if (BreakpointNumber == 3) {\r
-    Type = (BREAK_TYPE) Dr7.Bits.RW2;\r
+    Type = (BREAK_TYPE)Dr7.Bits.RW2;\r
   } else if (BreakpointNumber == 4) {\r
-    Type = (BREAK_TYPE) Dr7.Bits.RW3;\r
+    Type = (BREAK_TYPE)Dr7.Bits.RW3;\r
   }\r
 \r
   return Type;\r
 }\r
 \r
-\r
 /**\r
   Parses Length and returns the length which DR7 LENn field accepts.\r
   For example: If we receive 1-Byte length then we should return 0.\r
@@ -541,21 +528,24 @@ GetBreakpointType (
 **/\r
 UINTN\r
 ConvertLengthData (\r
-  IN     UINTN   Length\r
+  IN     UINTN  Length\r
   )\r
 {\r
-  if (Length == 1) {         //1-Byte length\r
+  if (Length == 1) {\r
+    // 1-Byte length\r
     return 0;\r
-  } else if (Length == 2) {  //2-Byte length\r
+  } else if (Length == 2) {\r
+    // 2-Byte length\r
     return 1;\r
-  } else if (Length == 4) {  //4-Byte length\r
+  } else if (Length == 4) {\r
+    // 4-Byte length\r
     return 3;\r
-  } else {                   //Undefined or 8-byte length\r
+  } else {\r
+    // Undefined or 8-byte length\r
     return 2;\r
   }\r
 }\r
 \r
-\r
 /**\r
   Finds the next free debug register. If all the registers are occupied then\r
   EFI_OUT_OF_RESOURCES is returned.\r
@@ -572,7 +562,7 @@ FindNextFreeDebugRegister (
   OUT UINTN               *Register\r
   )\r
 {\r
-  IA32_DR7 Dr7;\r
+  IA32_DR7  Dr7;\r
 \r
   Dr7.UintN = SystemContext.SystemContextIa32->Dr7;\r
 \r
@@ -591,7 +581,6 @@ FindNextFreeDebugRegister (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Enables the debug register. Writes Address value to appropriate DR0-3 register.\r
   Sets LENn, Gn, RWn bits in DR7 register.\r
@@ -616,58 +605,58 @@ EnableDebugRegister (
 {\r
   IA32_DR7  Dr7;\r
 \r
-  //Convert length data\r
+  // Convert length data\r
   Length = ConvertLengthData (Length);\r
 \r
-  //For Instruction execution, length should be 0\r
-  //(Ref. Intel reference manual 18.2.4)\r
+  // For Instruction execution, length should be 0\r
+  // (Ref. Intel reference manual 18.2.4)\r
   if ((Type == 0) && (Length != 0)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  //Hardware doesn't support ReadWatch (z3 packet) type. GDB can handle\r
-  //software breakpoint. We should send empty packet in both these cases.\r
+  // Hardware doesn't support ReadWatch (z3 packet) type. GDB can handle\r
+  // software breakpoint. We should send empty packet in both these cases.\r
   if ((Type == (BREAK_TYPE)DataRead) ||\r
-      (Type == (BREAK_TYPE)SoftwareBreakpoint)) {\r
+      (Type == (BREAK_TYPE)SoftwareBreakpoint))\r
+  {\r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
-  //Read DR7 so appropriate Gn, RWn and LENn bits can be modified.\r
+  // Read DR7 so appropriate Gn, RWn and LENn bits can be modified.\r
   Dr7.UintN = SystemContext.SystemContextIa32->Dr7;\r
 \r
   if (Register == 0) {\r
     SystemContext.SystemContextIa32->Dr0 = Address;\r
-    Dr7.Bits.G0 = 1;\r
-    Dr7.Bits.RW0 = Type;\r
-    Dr7.Bits.LEN0 = Length;\r
+    Dr7.Bits.G0                          = 1;\r
+    Dr7.Bits.RW0                         = Type;\r
+    Dr7.Bits.LEN0                        = Length;\r
   } else if (Register == 1) {\r
     SystemContext.SystemContextIa32->Dr1 = Address;\r
-    Dr7.Bits.G1 = 1;\r
-    Dr7.Bits.RW1 = Type;\r
-    Dr7.Bits.LEN1 = Length;\r
+    Dr7.Bits.G1                          = 1;\r
+    Dr7.Bits.RW1                         = Type;\r
+    Dr7.Bits.LEN1                        = Length;\r
   } else if (Register == 2) {\r
     SystemContext.SystemContextIa32->Dr2 = Address;\r
-    Dr7.Bits.G2 = 1;\r
-    Dr7.Bits.RW2 = Type;\r
-    Dr7.Bits.LEN2 = Length;\r
+    Dr7.Bits.G2                          = 1;\r
+    Dr7.Bits.RW2                         = Type;\r
+    Dr7.Bits.LEN2                        = Length;\r
   } else if (Register == 3) {\r
     SystemContext.SystemContextIa32->Dr3 = Address;\r
-    Dr7.Bits.G3 = 1;\r
-    Dr7.Bits.RW3 = Type;\r
-    Dr7.Bits.LEN3 = Length;\r
+    Dr7.Bits.G3                          = 1;\r
+    Dr7.Bits.RW3                         = Type;\r
+    Dr7.Bits.LEN3                        = Length;\r
   } else {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  //Update Dr7 with appropriate Gn, RWn and LENn bits\r
+  // Update Dr7 with appropriate Gn, RWn and LENn bits\r
   SystemContext.SystemContextIa32->Dr7 = Dr7.UintN;\r
 \r
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
-  Returns register number 0 - 3 for the maching debug register.\r
+  Returns register number 0 - 3 for the matching debug register.\r
   This function compares incoming Address, Type, Length and\r
   if there is a match then it returns the appropriate register number.\r
   In case of mismatch, function returns EFI_NOT_FOUND message.\r
@@ -684,46 +673,51 @@ EnableDebugRegister (
 **/\r
 EFI_STATUS\r
 FindMatchingDebugRegister (\r
- IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
- IN  UINTN               Address,\r
- IN  UINTN               Length,\r
- IN  UINTN               Type,\r
- OUT UINTN               *Register\r
- )\r
 IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
 IN  UINTN               Address,\r
 IN  UINTN               Length,\r
 IN  UINTN               Type,\r
 OUT UINTN               *Register\r
 )\r
 {\r
-  IA32_DR7 Dr7;\r
+  IA32_DR7  Dr7;\r
 \r
-  //Hardware doesn't support ReadWatch (z3 packet) type. GDB can handle\r
-  //software breakpoint. We should send empty packet in both these cases.\r
+  // Hardware doesn't support ReadWatch (z3 packet) type. GDB can handle\r
+  // software breakpoint. We should send empty packet in both these cases.\r
   if ((Type == (BREAK_TYPE)DataRead) ||\r
-      (Type == (BREAK_TYPE)SoftwareBreakpoint)) {\r
+      (Type == (BREAK_TYPE)SoftwareBreakpoint))\r
+  {\r
     return EFI_UNSUPPORTED;\r
   }\r
 \r
-  //Convert length data\r
-  Length = ConvertLengthData(Length);\r
+  // Convert length data\r
+  Length = ConvertLengthData (Length);\r
 \r
   Dr7.UintN = SystemContext.SystemContextIa32->Dr7;\r
 \r
   if ((Dr7.Bits.G0 == 1) &&\r
       (Dr7.Bits.LEN0 == Length) &&\r
       (Dr7.Bits.RW0 == Type) &&\r
-      (Address == SystemContext.SystemContextIa32->Dr0)) {\r
+      (Address == SystemContext.SystemContextIa32->Dr0))\r
+  {\r
     *Register = 0;\r
   } else if ((Dr7.Bits.G1 == 1) &&\r
              (Dr7.Bits.LEN1 == Length) &&\r
              (Dr7.Bits.RW1 == Type) &&\r
-             (Address == SystemContext.SystemContextIa32->Dr1)) {\r
+             (Address == SystemContext.SystemContextIa32->Dr1))\r
+  {\r
     *Register = 1;\r
   } else if ((Dr7.Bits.G2 == 1) &&\r
              (Dr7.Bits.LEN2 == Length) &&\r
              (Dr7.Bits.RW2 == Type) &&\r
-             (Address == SystemContext.SystemContextIa32->Dr2)) {\r
+             (Address == SystemContext.SystemContextIa32->Dr2))\r
+  {\r
     *Register = 2;\r
   } else if ((Dr7.Bits.G3 == 1) &&\r
              (Dr7.Bits.LEN3 == Length) &&\r
              (Dr7.Bits.RW3 == Type) &&\r
-             (Address == SystemContext.SystemContextIa32->Dr3)) {\r
+             (Address == SystemContext.SystemContextIa32->Dr3))\r
+  {\r
     *Register = 3;\r
   } else {\r
     Print ((CHAR16 *)L"No match found..\n");\r
@@ -733,7 +727,6 @@ FindMatchingDebugRegister (
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   Disables the particular debug register.\r
 \r
@@ -745,47 +738,46 @@ FindMatchingDebugRegister (
 **/\r
 EFI_STATUS\r
 DisableDebugRegister (\r
- IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
- IN  UINTN               Register\r
- )\r
 IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
 IN  UINTN               Register\r
 )\r
 {\r
   IA32_DR7  Dr7;\r
-  UINTN Address = 0;\r
+  UINTN     Address = 0;\r
 \r
-  //Read DR7 register so appropriate Gn, RWn and LENn bits can be turned off.\r
+  // Read DR7 register so appropriate Gn, RWn and LENn bits can be turned off.\r
   Dr7.UintN = SystemContext.SystemContextIa32->Dr7;\r
 \r
   if (Register == 0) {\r
     SystemContext.SystemContextIa32->Dr0 = Address;\r
-    Dr7.Bits.G0 = 0;\r
-    Dr7.Bits.RW0 = 0;\r
-    Dr7.Bits.LEN0 = 0;\r
+    Dr7.Bits.G0                          = 0;\r
+    Dr7.Bits.RW0                         = 0;\r
+    Dr7.Bits.LEN0                        = 0;\r
   } else if (Register == 1) {\r
     SystemContext.SystemContextIa32->Dr1 = Address;\r
-    Dr7.Bits.G1 = 0;\r
-    Dr7.Bits.RW1 = 0;\r
-    Dr7.Bits.LEN1 = 0;\r
+    Dr7.Bits.G1                          = 0;\r
+    Dr7.Bits.RW1                         = 0;\r
+    Dr7.Bits.LEN1                        = 0;\r
   } else if (Register == 2) {\r
     SystemContext.SystemContextIa32->Dr2 = Address;\r
-    Dr7.Bits.G2 = 0;\r
-    Dr7.Bits.RW2 = 0;\r
-    Dr7.Bits.LEN2 = 0;\r
+    Dr7.Bits.G2                          = 0;\r
+    Dr7.Bits.RW2                         = 0;\r
+    Dr7.Bits.LEN2                        = 0;\r
   } else if (Register == 3) {\r
     SystemContext.SystemContextIa32->Dr3 = Address;\r
-    Dr7.Bits.G3 = 0;\r
-    Dr7.Bits.RW3 = 0;\r
-    Dr7.Bits.LEN3 = 0;\r
+    Dr7.Bits.G3                          = 0;\r
+    Dr7.Bits.RW3                         = 0;\r
+    Dr7.Bits.LEN3                        = 0;\r
   } else {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
-  //Update DR7 register so appropriate Gn, RWn and LENn bits can be turned off.\r
+  // Update DR7 register so appropriate Gn, RWn and LENn bits can be turned off.\r
   SystemContext.SystemContextIa32->Dr7 = Dr7.UintN;\r
 \r
   return EFI_SUCCESS;\r
 }\r
 \r
-\r
 /**\r
   ‘Z1, [addr], [length]’\r
   ‘Z2, [addr], [length]’\r
@@ -802,16 +794,16 @@ VOID
 EFIAPI\r
 InsertBreakPoint (\r
   IN  EFI_SYSTEM_CONTEXT  SystemContext,\r
-  IN  CHAR8              *PacketData\r
+  IN  CHAR8               *PacketData\r
   )\r
 {\r
-  UINTN Type;\r
-  UINTN Address;\r
-  UINTN Length;\r
-  UINTN Register;\r
-  EFI_STATUS Status;\r
-  BREAK_TYPE BreakType = NotSupported;\r
-  UINTN ErrorCode;\r
+  UINTN       Type;\r
+  UINTN       Address;\r
+  UINTN       Length;\r
+  UINTN       Register;\r
+  EFI_STATUS  Status;\r
+  BREAK_TYPE  BreakType = NotSupported;\r
+  UINTN       ErrorCode;\r
 \r
   ErrorCode = ParseBreakpointPacket (PacketData, &Type, &Address, &Length);\r
   if (ErrorCode > 0) {\r
@@ -820,28 +812,27 @@ InsertBreakPoint (
   }\r
 \r
   switch (Type) {\r
-\r
-    case    0:   //Software breakpoint\r
+    case 0:      // Software breakpoint\r
       BreakType = SoftwareBreakpoint;\r
       break;\r
 \r
-    case    1:   //Hardware breakpoint\r
+    case 1:      // Hardware breakpoint\r
       BreakType = InstructionExecution;\r
       break;\r
 \r
-    case    2:   //Write watchpoint\r
+    case 2:      // Write watchpoint\r
       BreakType = DataWrite;\r
       break;\r
 \r
-    case    3:   //Read watchpoint\r
+    case 3:      // Read watchpoint\r
       BreakType = DataRead;\r
       break;\r
 \r
-    case    4:   //Access watchpoint\r
+    case 4:      // Access watchpoint\r
       BreakType = DataReadWrite;\r
       break;\r
 \r
-    default  :\r
+    default:\r
       Print ((CHAR16 *)L"Insert breakpoint default: %x\n", Type);\r
       SendError (GDB_EINVALIDBRKPOINTTYPE);\r
       return;\r
@@ -849,7 +840,7 @@ InsertBreakPoint (
 \r
   // Find next free debug register\r
   Status = FindNextFreeDebugRegister (SystemContext, &Register);\r
-  if (EFI_ERROR(Status)) {\r
+  if (EFI_ERROR (Status)) {\r
     Print ((CHAR16 *)L"No space left on device\n");\r
     SendError (GDB_ENOSPACE);\r
     return;\r
@@ -857,8 +848,7 @@ InsertBreakPoint (
 \r
   // Write Address, length data at particular DR register\r
   Status = EnableDebugRegister (SystemContext, Register, Address, Length, (UINTN)BreakType);\r
-  if (EFI_ERROR(Status)) {\r
-\r
+  if (EFI_ERROR (Status)) {\r
     if (Status == EFI_UNSUPPORTED) {\r
       Print ((CHAR16 *)L"Not supported\n");\r
       SendNotSupported ();\r
@@ -873,7 +863,6 @@ InsertBreakPoint (
   SendSuccess ();\r
 }\r
 \r
-\r
 /**\r
   ‘z1, [addr], [length]’\r
   ‘z2, [addr], [length]’\r
@@ -892,15 +881,15 @@ RemoveBreakPoint (
   IN  CHAR8               *PacketData\r
   )\r
 {\r
-  UINTN      Type;\r
-  UINTN      Address;\r
-  UINTN      Length;\r
-  UINTN      Register;\r
-  BREAK_TYPE BreakType = NotSupported;\r
-  EFI_STATUS Status;\r
-  UINTN      ErrorCode;\r
-\r
-  //Parse breakpoint packet data\r
+  UINTN       Type;\r
+  UINTN       Address;\r
+  UINTN       Length;\r
+  UINTN       Register;\r
+  BREAK_TYPE  BreakType = NotSupported;\r
+  EFI_STATUS  Status;\r
+  UINTN       ErrorCode;\r
+\r
+  // Parse breakpoint packet data\r
   ErrorCode = ParseBreakpointPacket (PacketData, &Type, &Address, &Length);\r
   if (ErrorCode > 0) {\r
     SendError ((UINT8)ErrorCode);\r
@@ -908,36 +897,34 @@ RemoveBreakPoint (
   }\r
 \r
   switch (Type) {\r
-\r
-    case    0:   //Software breakpoint\r
+    case 0:      // Software breakpoint\r
       BreakType = SoftwareBreakpoint;\r
       break;\r
 \r
-    case    1:   //Hardware breakpoint\r
+    case 1:      // Hardware breakpoint\r
       BreakType = InstructionExecution;\r
       break;\r
 \r
-    case    2:   //Write watchpoint\r
+    case 2:      // Write watchpoint\r
       BreakType = DataWrite;\r
       break;\r
 \r
-    case    3:   //Read watchpoint\r
+    case 3:      // Read watchpoint\r
       BreakType = DataRead;\r
       break;\r
 \r
-    case    4:   //Access watchpoint\r
+    case 4:      // Access watchpoint\r
       BreakType = DataReadWrite;\r
       break;\r
 \r
-    default  :\r
+    default:\r
       SendError (GDB_EINVALIDBRKPOINTTYPE);\r
       return;\r
   }\r
 \r
-  //Find matching debug register\r
+  // Find matching debug register\r
   Status = FindMatchingDebugRegister (SystemContext, Address, Length, (UINTN)BreakType, &Register);\r
-  if (EFI_ERROR(Status)) {\r
-\r
+  if (EFI_ERROR (Status)) {\r
     if (Status == EFI_UNSUPPORTED) {\r
       Print ((CHAR16 *)L"Not supported.\n");\r
       SendNotSupported ();\r
@@ -949,9 +936,9 @@ RemoveBreakPoint (
     return;\r
   }\r
 \r
-  //Remove breakpoint\r
+  // Remove breakpoint\r
   Status = DisableDebugRegister (SystemContext, Register);\r
-  if (EFI_ERROR(Status)) {\r
+  if (EFI_ERROR (Status)) {\r
     Print ((CHAR16 *)L"Invalid argument.\n");\r
     SendError (GDB_EINVALIDARG);\r
     return;\r
@@ -960,7 +947,6 @@ RemoveBreakPoint (
   SendSuccess ();\r
 }\r
 \r
-\r
 VOID\r
 InitializeProcessor (\r
   VOID\r
@@ -978,10 +964,9 @@ ValidateAddress (
 \r
 BOOLEAN\r
 ValidateException (\r
-  IN  EFI_EXCEPTION_TYPE    ExceptionType,\r
-  IN OUT EFI_SYSTEM_CONTEXT SystemContext\r
+  IN  EFI_EXCEPTION_TYPE     ExceptionType,\r
+  IN OUT EFI_SYSTEM_CONTEXT  SystemContext\r
   )\r
 {\r
   return TRUE;\r
 }\r
-\r