]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Core/DxeIplPeim/Ia32/DxeLoadFunc.c
Roll back changes to apply GetBestLanguage() in HiiDataBase. Exact language match...
[mirror_edk2.git] / MdeModulePkg / Core / DxeIplPeim / Ia32 / DxeLoadFunc.c
index 65c7ceac17a08b0623548cac3a0eee723b7b180a..83ffc91ba0362bc90dc5c0527c5cb6aae53b3580 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  Ia32-specifc functionality for DxeLoad.\r
+  Ia32-specific functionality for DxeLoad.\r
 \r
 Copyright (c) 2006 - 2008, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
@@ -49,9 +49,9 @@ GLOBAL_REMOVE_IF_UNREFERENCED  IA32_DESCRIPTOR gLidtDescriptor = {
 \r
    This function performs a CPU architecture specific operations to execute\r
    the entry point of DxeCore with the parameters of HobList.\r
-   It also intalls EFI_END_OF_PEI_PPI to signal the end of PEI phase.\r
+   It also installs EFI_END_OF_PEI_PPI to signal the end of PEI phase.\r
 \r
-   @param DxeCoreEntryPoint         The entrypoint of DxeCore.\r
+   @param DxeCoreEntryPoint         The entry point of DxeCore.\r
    @param HobList                   The start of HobList passed to DxeCore.\r
 \r
 **/\r
@@ -102,7 +102,7 @@ HandOffToDxeCore (
     PageTables = CreateIdentityMappingPageTables ();\r
 \r
     //\r
-    // End of PEI phase singal\r
+    // End of PEI phase signal\r
     //\r
     Status = PeiServicesInstallPpi (&gEndOfPeiSignalPpi);\r
     ASSERT_EFI_ERROR (Status);\r
@@ -114,36 +114,36 @@ HandOffToDxeCore (
     //    \r
     UpdateStackHob (BaseOfStack, STACK_SIZE);\r
 \r
-    if (FeaturePcdGet (PcdDxeIplEnableIdt)) {\r
-      SizeOfTemplate = AsmGetVectorTemplatInfo (&TemplateBase);\r
-  \r
-      Status = PeiServicesAllocatePages (\r
-                 EfiBootServicesData, \r
-                 EFI_SIZE_TO_PAGES((SizeOfTemplate + sizeof (X64_IDT_GATE_DESCRIPTOR)) * 32), \r
-                 &VectorAddress\r
-                 );\r
-      ASSERT_EFI_ERROR (Status);\r
-  \r
-      IdtTable      = (X64_IDT_GATE_DESCRIPTOR *) (UINTN) (VectorAddress + SizeOfTemplate * 32);\r
-      for (Index = 0; Index < 32; Index++) {\r
-        IdtTable[Index].Ia32IdtEntry.Bits.GateType    =  0x8e;\r
-        IdtTable[Index].Ia32IdtEntry.Bits.Reserved_0  =  0;\r
-        IdtTable[Index].Ia32IdtEntry.Bits.Selector    =  SYS_CODE64_SEL;\r
-  \r
-        IdtTable[Index].Ia32IdtEntry.Bits.OffsetLow   = (UINT16) VectorAddress;\r
-        IdtTable[Index].Ia32IdtEntry.Bits.OffsetHigh  = (UINT16) (RShiftU64 (VectorAddress, 16));\r
-        IdtTable[Index].Offset32To63                  = (UINT32) (RShiftU64 (VectorAddress, 32));\r
-        IdtTable[Index].Reserved                      = 0;\r
-  \r
-        CopyMem ((VOID *) (UINTN) VectorAddress, TemplateBase, SizeOfTemplate);\r
-        AsmVectorFixup ((VOID *) (UINTN) VectorAddress, (UINT8) Index);\r
-  \r
-        VectorAddress += SizeOfTemplate;\r
-      }\r
-  \r
-      gLidtDescriptor.Base = (UINTN) IdtTable;\r
-      AsmWriteIdtr (&gLidtDescriptor);\r
+    SizeOfTemplate = AsmGetVectorTemplatInfo (&TemplateBase);\r
+\r
+    Status = PeiServicesAllocatePages (\r
+               EfiBootServicesData, \r
+               EFI_SIZE_TO_PAGES((SizeOfTemplate + sizeof (X64_IDT_GATE_DESCRIPTOR)) * 32), \r
+               &VectorAddress\r
+               );\r
+    ASSERT_EFI_ERROR (Status);\r
+\r
+    IdtTable      = (X64_IDT_GATE_DESCRIPTOR *) (UINTN) (VectorAddress + SizeOfTemplate * 32);\r
+    for (Index = 0; Index < 32; Index++) {\r
+      IdtTable[Index].Ia32IdtEntry.Bits.GateType    =  0x8e;\r
+      IdtTable[Index].Ia32IdtEntry.Bits.Reserved_0  =  0;\r
+      IdtTable[Index].Ia32IdtEntry.Bits.Selector    =  SYS_CODE64_SEL;\r
+\r
+      IdtTable[Index].Ia32IdtEntry.Bits.OffsetLow   = (UINT16) VectorAddress;\r
+      IdtTable[Index].Ia32IdtEntry.Bits.OffsetHigh  = (UINT16) (RShiftU64 (VectorAddress, 16));\r
+      IdtTable[Index].Offset32To63                  = (UINT32) (RShiftU64 (VectorAddress, 32));\r
+      IdtTable[Index].Reserved                      = 0;\r
+\r
+      CopyMem ((VOID *) (UINTN) VectorAddress, TemplateBase, SizeOfTemplate);\r
+      AsmVectorFixup ((VOID *) (UINTN) VectorAddress, (UINT8) Index);\r
+\r
+      VectorAddress += SizeOfTemplate;\r
     }\r
+\r
+    gLidtDescriptor.Base = (UINTN) IdtTable;\r
+    AsmWriteIdtr (&gLidtDescriptor);\r
+\r
+      \r
     //\r
     // Go to Long Mode and transfer control to DxeCore.\r
     // Interrupts will not get turned on until the CPU AP is loaded.\r
@@ -165,7 +165,7 @@ HandOffToDxeCore (
     TopOfStack = (EFI_PHYSICAL_ADDRESS) (UINTN) ALIGN_POINTER (TopOfStack, CPU_STACK_ALIGNMENT);\r
 \r
     //\r
-    // End of PEI phase singal\r
+    // End of PEI phase signal\r
     //\r
     Status = PeiServicesInstallPpi (&gEndOfPeiSignalPpi);\r
     ASSERT_EFI_ERROR (Status);\r