#include <Library/VmgExitLib.h>\r
#include "CpuExceptionCommon.h"\r
\r
-CONST UINTN mDoFarReturnFlag = 0;\r
+CONST UINTN mDoFarReturnFlag = 0;\r
\r
/**\r
Common exception handler.\r
VOID\r
EFIAPI\r
CommonExceptionHandler (\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
if (ExceptionType == VC_EXCEPTION) {\r
EFI_STATUS\r
EFIAPI\r
InitializeCpuExceptionHandlers (\r
- IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL\r
+ IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL\r
)\r
{\r
- EFI_STATUS Status;\r
- RESERVED_VECTORS_DATA ReservedVectorData[CPU_EXCEPTION_NUM];\r
- IA32_DESCRIPTOR IdtDescriptor;\r
- UINTN IdtEntryCount;\r
- UINT16 CodeSegment;\r
- EXCEPTION_HANDLER_TEMPLATE_MAP TemplateMap;\r
- IA32_IDT_GATE_DESCRIPTOR *IdtTable;\r
- UINTN Index;\r
- UINTN InterruptHandler;\r
+ EFI_STATUS Status;\r
+ RESERVED_VECTORS_DATA ReservedVectorData[CPU_EXCEPTION_NUM];\r
+ IA32_DESCRIPTOR IdtDescriptor;\r
+ UINTN IdtEntryCount;\r
+ UINT16 CodeSegment;\r
+ EXCEPTION_HANDLER_TEMPLATE_MAP TemplateMap;\r
+ IA32_IDT_GATE_DESCRIPTOR *IdtTable;\r
+ UINTN Index;\r
+ UINTN InterruptHandler;\r
\r
if (VectorInfo != NULL) {\r
- SetMem ((VOID *) ReservedVectorData, sizeof (RESERVED_VECTORS_DATA) * CPU_EXCEPTION_NUM, 0xff);\r
+ SetMem ((VOID *)ReservedVectorData, sizeof (RESERVED_VECTORS_DATA) * CPU_EXCEPTION_NUM, 0xff);\r
Status = ReadAndVerifyVectorInfo (VectorInfo, ReservedVectorData, CPU_EXCEPTION_NUM);\r
if (EFI_ERROR (Status)) {\r
return EFI_INVALID_PARAMETER;\r
}\r
}\r
+\r
//\r
// Read IDT descriptor and calculate IDT size\r
//\r
//\r
IdtEntryCount = CPU_EXCEPTION_NUM;\r
}\r
+\r
//\r
// Use current CS as the segment selector of interrupt gate in IDT\r
//\r
\r
AsmGetTemplateAddressMap (&TemplateMap);\r
IdtTable = (IA32_IDT_GATE_DESCRIPTOR *)IdtDescriptor.Base;\r
- for (Index = 0; Index < IdtEntryCount; Index ++) {\r
+ for (Index = 0; Index < IdtEntryCount; Index++) {\r
IdtTable[Index].Bits.Selector = CodeSegment;\r
//\r
// Check reserved vectors attributes if has, only EFI_VECTOR_HANDOFF_DO_NOT_HOOK\r
continue;\r
}\r
}\r
+\r
//\r
// Update IDT entry\r
//\r
InterruptHandler = TemplateMap.ExceptionStart + Index * TemplateMap.ExceptionStubHeaderSize;\r
ArchUpdateIdtEntry (&IdtTable[Index], InterruptHandler);\r
}\r
+\r
return EFI_SUCCESS;\r
}\r
\r
EFI_STATUS\r
EFIAPI\r
InitializeCpuInterruptHandlers (\r
- IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL\r
+ IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL\r
)\r
{\r
return EFI_UNSUPPORTED;\r
EFI_STATUS\r
EFIAPI\r
RegisterCpuInterruptHandler (\r
- IN EFI_EXCEPTION_TYPE InterruptType,\r
- IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler\r
+ IN EFI_EXCEPTION_TYPE InterruptType,\r
+ IN EFI_CPU_INTERRUPT_HANDLER InterruptHandler\r
)\r
{\r
return EFI_UNSUPPORTED;\r
EFI_STATUS\r
EFIAPI\r
InitializeCpuExceptionHandlersEx (\r
- IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL,\r
- IN CPU_EXCEPTION_INIT_DATA *InitData OPTIONAL\r
+ IN EFI_VECTOR_HANDOFF_INFO *VectorInfo OPTIONAL,\r
+ IN CPU_EXCEPTION_INIT_DATA *InitData OPTIONAL\r
)\r
{\r
return InitializeCpuExceptionHandlers (VectorInfo);\r