]> git.proxmox.com Git - mirror_edk2.git/blobdiff - UefiCpuPkg/Library/CpuExceptionHandlerLib/X64/ArchExceptionHandler.c
UefiCpuPkg: Apply uncrustify changes
[mirror_edk2.git] / UefiCpuPkg / Library / CpuExceptionHandlerLib / X64 / ArchExceptionHandler.c
index d3da16e4dfa2958d819f85c5c19b11780098b327..cd7dccd48141025da8a1644fb0a6165b1e982f79 100644 (file)
@@ -17,8 +17,8 @@
 **/\r
 VOID\r
 ArchUpdateIdtEntry (\r
-  OUT IA32_IDT_GATE_DESCRIPTOR       *IdtEntry,\r
-  IN  UINTN                          InterruptHandler\r
+  OUT IA32_IDT_GATE_DESCRIPTOR  *IdtEntry,\r
+  IN  UINTN                     InterruptHandler\r
   )\r
 {\r
   IdtEntry->Bits.OffsetLow   = (UINT16)(UINTN)InterruptHandler;\r
@@ -35,11 +35,11 @@ ArchUpdateIdtEntry (
 **/\r
 UINTN\r
 ArchGetIdtHandler (\r
-  IN IA32_IDT_GATE_DESCRIPTOR        *IdtEntry\r
+  IN IA32_IDT_GATE_DESCRIPTOR  *IdtEntry\r
   )\r
 {\r
-  return IdtEntry->Bits.OffsetLow + (((UINTN) IdtEntry->Bits.OffsetHigh)  << 16) +\r
-                                    (((UINTN) IdtEntry->Bits.OffsetUpper) << 32);\r
+  return IdtEntry->Bits.OffsetLow + (((UINTN)IdtEntry->Bits.OffsetHigh)  << 16) +\r
+         (((UINTN)IdtEntry->Bits.OffsetUpper) << 32);\r
 }\r
 \r
 /**\r
@@ -51,13 +51,13 @@ ArchGetIdtHandler (
 **/\r
 VOID\r
 ArchSaveExceptionContext (\r
-  IN UINTN                        ExceptionType,\r
-  IN EFI_SYSTEM_CONTEXT           SystemContext,\r
-  IN EXCEPTION_HANDLER_DATA       *ExceptionHandlerData\r
+  IN UINTN                   ExceptionType,\r
+  IN EFI_SYSTEM_CONTEXT      SystemContext,\r
+  IN EXCEPTION_HANDLER_DATA  *ExceptionHandlerData\r
   )\r
 {\r
-  IA32_EFLAGS32           Eflags;\r
-  RESERVED_VECTORS_DATA   *ReservedVectors;\r
+  IA32_EFLAGS32          Eflags;\r
+  RESERVED_VECTORS_DATA  *ReservedVectors;\r
 \r
   ReservedVectors = ExceptionHandlerData->ReservedVectors;\r
   //\r
@@ -74,13 +74,13 @@ ArchSaveExceptionContext (
   //\r
   // Clear IF flag to avoid old IDT handler enable interrupt by IRET\r
   //\r
-  Eflags.UintN = SystemContext.SystemContextX64->Rflags;\r
-  Eflags.Bits.IF = 0;\r
+  Eflags.UintN                           = SystemContext.SystemContextX64->Rflags;\r
+  Eflags.Bits.IF                         = 0;\r
   SystemContext.SystemContextX64->Rflags = Eflags.UintN;\r
   //\r
   // Modify the EIP in stack, then old IDT handler will return to HookAfterStubBegin.\r
   //\r
-  SystemContext.SystemContextX64->Rip = (UINTN) ReservedVectors[ExceptionType].HookAfterStubHeaderCode;\r
+  SystemContext.SystemContextX64->Rip = (UINTN)ReservedVectors[ExceptionType].HookAfterStubHeaderCode;\r
 }\r
 \r
 /**\r
@@ -92,14 +92,14 @@ ArchSaveExceptionContext (
 **/\r
 VOID\r
 ArchRestoreExceptionContext (\r
-  IN UINTN                        ExceptionType,\r
-  IN EFI_SYSTEM_CONTEXT           SystemContext,\r
-  IN EXCEPTION_HANDLER_DATA       *ExceptionHandlerData\r
+  IN UINTN                   ExceptionType,\r
+  IN EFI_SYSTEM_CONTEXT      SystemContext,\r
+  IN EXCEPTION_HANDLER_DATA  *ExceptionHandlerData\r
   )\r
 {\r
-  RESERVED_VECTORS_DATA   *ReservedVectors;\r
+  RESERVED_VECTORS_DATA  *ReservedVectors;\r
 \r
-  ReservedVectors = ExceptionHandlerData->ReservedVectors;\r
+  ReservedVectors                               = ExceptionHandlerData->ReservedVectors;\r
   SystemContext.SystemContextX64->Ss            = ReservedVectors[ExceptionType].OldSs;\r
   SystemContext.SystemContextX64->Rsp           = ReservedVectors[ExceptionType].OldSp;\r
   SystemContext.SystemContextX64->Rflags        = ReservedVectors[ExceptionType].OldFlags;\r
@@ -121,31 +121,32 @@ ArchRestoreExceptionContext (
 **/\r
 EFI_STATUS\r
 ArchSetupExceptionStack (\r
-  IN CPU_EXCEPTION_INIT_DATA          *StackSwitchData\r
+  IN CPU_EXCEPTION_INIT_DATA  *StackSwitchData\r
   )\r
 {\r
-  IA32_DESCRIPTOR                   Gdtr;\r
-  IA32_DESCRIPTOR                   Idtr;\r
-  IA32_IDT_GATE_DESCRIPTOR          *IdtTable;\r
-  IA32_TSS_DESCRIPTOR               *TssDesc;\r
-  IA32_TASK_STATE_SEGMENT           *Tss;\r
-  UINTN                             StackTop;\r
-  UINTN                             Index;\r
-  UINTN                             Vector;\r
-  UINTN                             TssBase;\r
-  UINTN                             GdtSize;\r
-\r
-  if (StackSwitchData == NULL ||\r
-      StackSwitchData->Ia32.Revision != CPU_EXCEPTION_INIT_DATA_REV ||\r
-      StackSwitchData->X64.KnownGoodStackTop == 0 ||\r
-      StackSwitchData->X64.KnownGoodStackSize == 0 ||\r
-      StackSwitchData->X64.StackSwitchExceptions == NULL ||\r
-      StackSwitchData->X64.StackSwitchExceptionNumber == 0 ||\r
-      StackSwitchData->X64.StackSwitchExceptionNumber > CPU_EXCEPTION_NUM ||\r
-      StackSwitchData->X64.GdtTable == NULL ||\r
-      StackSwitchData->X64.IdtTable == NULL ||\r
-      StackSwitchData->X64.ExceptionTssDesc == NULL ||\r
-      StackSwitchData->X64.ExceptionTss == NULL) {\r
+  IA32_DESCRIPTOR           Gdtr;\r
+  IA32_DESCRIPTOR           Idtr;\r
+  IA32_IDT_GATE_DESCRIPTOR  *IdtTable;\r
+  IA32_TSS_DESCRIPTOR       *TssDesc;\r
+  IA32_TASK_STATE_SEGMENT   *Tss;\r
+  UINTN                     StackTop;\r
+  UINTN                     Index;\r
+  UINTN                     Vector;\r
+  UINTN                     TssBase;\r
+  UINTN                     GdtSize;\r
+\r
+  if ((StackSwitchData == NULL) ||\r
+      (StackSwitchData->Ia32.Revision != CPU_EXCEPTION_INIT_DATA_REV) ||\r
+      (StackSwitchData->X64.KnownGoodStackTop == 0) ||\r
+      (StackSwitchData->X64.KnownGoodStackSize == 0) ||\r
+      (StackSwitchData->X64.StackSwitchExceptions == NULL) ||\r
+      (StackSwitchData->X64.StackSwitchExceptionNumber == 0) ||\r
+      (StackSwitchData->X64.StackSwitchExceptionNumber > CPU_EXCEPTION_NUM) ||\r
+      (StackSwitchData->X64.GdtTable == NULL) ||\r
+      (StackSwitchData->X64.IdtTable == NULL) ||\r
+      (StackSwitchData->X64.ExceptionTssDesc == NULL) ||\r
+      (StackSwitchData->X64.ExceptionTss == NULL))\r
+  {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -163,7 +164,8 @@ ArchSetupExceptionStack (
   }\r
 \r
   if (((UINTN)StackSwitchData->X64.ExceptionTssDesc + StackSwitchData->X64.ExceptionTssDescSize) >\r
-      ((UINTN)(StackSwitchData->X64.GdtTable) + StackSwitchData->X64.GdtTableSize)) {\r
+      ((UINTN)(StackSwitchData->X64.GdtTable) + StackSwitchData->X64.GdtTableSize))\r
+  {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
 \r
@@ -173,6 +175,7 @@ ArchSetupExceptionStack (
   if (StackSwitchData->X64.ExceptionTssDescSize < sizeof (IA32_TSS_DESCRIPTOR)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
+\r
   if (StackSwitchData->X64.ExceptionTssSize < sizeof (IA32_TASK_STATE_SEGMENT)) {\r
     return EFI_INVALID_PARAMETER;\r
   }\r
@@ -196,13 +199,14 @@ ArchSetupExceptionStack (
             (UINTN)(StackSwitchData->X64.GdtTable);\r
   if ((UINTN)StackSwitchData->X64.GdtTable != Gdtr.Base) {\r
     CopyMem (StackSwitchData->X64.GdtTable, (VOID *)Gdtr.Base, Gdtr.Limit + 1);\r
-    Gdtr.Base = (UINTN)StackSwitchData->X64.GdtTable;\r
+    Gdtr.Base  = (UINTN)StackSwitchData->X64.GdtTable;\r
     Gdtr.Limit = (UINT16)GdtSize - 1;\r
   }\r
 \r
   if ((UINTN)StackSwitchData->X64.IdtTable != Idtr.Base) {\r
     Idtr.Base = (UINTN)StackSwitchData->X64.IdtTable;\r
   }\r
+\r
   if (StackSwitchData->X64.IdtTableSize > 0) {\r
     Idtr.Limit = (UINT16)(StackSwitchData->X64.IdtTableSize - 1);\r
   }\r
@@ -213,16 +217,16 @@ ArchSetupExceptionStack (
   //\r
   TssBase = (UINTN)Tss;\r
 \r
-  TssDesc->Uint128.Uint64  = 0;\r
-  TssDesc->Uint128.Uint64_1= 0;\r
-  TssDesc->Bits.LimitLow   = sizeof(IA32_TASK_STATE_SEGMENT) - 1;\r
-  TssDesc->Bits.BaseLow    = (UINT16)TssBase;\r
-  TssDesc->Bits.BaseMidl   = (UINT8)(TssBase >> 16);\r
-  TssDesc->Bits.Type       = IA32_GDT_TYPE_TSS;\r
-  TssDesc->Bits.P          = 1;\r
-  TssDesc->Bits.LimitHigh  = 0;\r
-  TssDesc->Bits.BaseMidh   = (UINT8)(TssBase >> 24);\r
-  TssDesc->Bits.BaseHigh   = (UINT32)(TssBase >> 32);\r
+  TssDesc->Uint128.Uint64   = 0;\r
+  TssDesc->Uint128.Uint64_1 = 0;\r
+  TssDesc->Bits.LimitLow    = sizeof (IA32_TASK_STATE_SEGMENT) - 1;\r
+  TssDesc->Bits.BaseLow     = (UINT16)TssBase;\r
+  TssDesc->Bits.BaseMidl    = (UINT8)(TssBase >> 16);\r
+  TssDesc->Bits.Type        = IA32_GDT_TYPE_TSS;\r
+  TssDesc->Bits.P           = 1;\r
+  TssDesc->Bits.LimitHigh   = 0;\r
+  TssDesc->Bits.BaseMidh    = (UINT8)(TssBase >> 24);\r
+  TssDesc->Bits.BaseHigh    = (UINT32)(TssBase >> 32);\r
 \r
   //\r
   // Fixup exception task descriptor and task-state segment\r
@@ -236,16 +240,18 @@ ArchSetupExceptionStack (
     // Fixup IST\r
     //\r
     Tss->IST[Index] = StackTop;\r
-    StackTop -= StackSwitchData->X64.KnownGoodStackSize;\r
+    StackTop       -= StackSwitchData->X64.KnownGoodStackSize;\r
 \r
     //\r
     // Set the IST field to enable corresponding IST\r
     //\r
     Vector = StackSwitchData->X64.StackSwitchExceptions[Index];\r
-    if (Vector >= CPU_EXCEPTION_NUM ||\r
-        Vector >= (Idtr.Limit + 1) / sizeof (IA32_IDT_GATE_DESCRIPTOR)) {\r
+    if ((Vector >= CPU_EXCEPTION_NUM) ||\r
+        (Vector >= (Idtr.Limit + 1) / sizeof (IA32_IDT_GATE_DESCRIPTOR)))\r
+    {\r
       continue;\r
     }\r
+\r
     IdtTable[Vector].Bits.Reserved_0 = (UINT8)(Index + 1);\r
   }\r
 \r
@@ -276,8 +282,8 @@ ArchSetupExceptionStack (
 VOID\r
 EFIAPI\r
 DumpCpuContext (\r
-  IN EFI_EXCEPTION_TYPE   ExceptionType,\r
-  IN EFI_SYSTEM_CONTEXT   SystemContext\r
+  IN EFI_EXCEPTION_TYPE  ExceptionType,\r
+  IN EFI_SYSTEM_CONTEXT  SystemContext\r
   )\r
 {\r
   InternalPrintMessage (\r
@@ -304,8 +310,10 @@ DumpCpuContext (
         (SystemContext.SystemContextX64->ExceptionData & IA32_PF_EC_SGX)  != 0\r
         );\r
     }\r
+\r
     InternalPrintMessage ("\n");\r
   }\r
+\r
   InternalPrintMessage (\r
     "RIP  - %016lx, CS  - %016lx, RFLAGS - %016lx\n",\r
     SystemContext.SystemContextX64->Rip,\r
@@ -406,8 +414,8 @@ DumpCpuContext (
 **/\r
 VOID\r
 DumpImageAndCpuContent (\r
-  IN EFI_EXCEPTION_TYPE   ExceptionType,\r
-  IN EFI_SYSTEM_CONTEXT   SystemContext\r
+  IN EFI_EXCEPTION_TYPE  ExceptionType,\r
+  IN EFI_SYSTEM_CONTEXT  SystemContext\r
   )\r
 {\r
   DumpCpuContext (ExceptionType, SystemContext);\r
@@ -415,7 +423,8 @@ DumpImageAndCpuContent (
   // Dump module image base and module entry point by RIP\r
   //\r
   if ((ExceptionType == EXCEPT_IA32_PAGE_FAULT) &&\r
-      ((SystemContext.SystemContextX64->ExceptionData & IA32_PF_EC_ID) != 0)) {\r
+      ((SystemContext.SystemContextX64->ExceptionData & IA32_PF_EC_ID) != 0))\r
+  {\r
     //\r
     // The RIP in SystemContext could not be used\r
     // if it is page fault with I/D set.\r