]> git.proxmox.com Git - mirror_edk2.git/commitdiff
1) DxeIpl should not use UefiDriverEntryPointLib
authorklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 7 May 2008 09:38:31 +0000 (09:38 +0000)
committerklu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524>
Wed, 7 May 2008 09:38:31 +0000 (09:38 +0000)
2) Fix incorrect judgment for ACPI table in legacy region.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5177 6f19259b-4bc3-4df7-8a09-765794883524

DuetPkg/DuetPkg.dsc
DuetPkg/DxeIpl/DxeInit.c
DuetPkg/DxeIpl/DxeIpl.inf
DuetPkg/DxeIpl/LegacyTable.c

index 2a56d3a38f9d6c7adedd7bb027d23f8f7aebec41..851a84295bcd05ce521909a1d77aa3203cb270df 100644 (file)
   gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseHardSerial|TRUE\r
 \r
 [Components.common]\r
-  DuetPkg/DxeIpl/DxeIpl.inf\r
+  DuetPkg/DxeIpl/DxeIpl.inf {\r
+    <LibraryClasses>\r
+      DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf\r
+  }\r
 \r
   MdeModulePkg/Core/Dxe/DxeMain.inf\r
   MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf\r
index e42cd4c0db3e94098f4e743c8277c819ff4e09b9..6bc3170bc5bb2ba866c6ff53ed695d7eb7e07dc6 100644 (file)
@@ -136,7 +136,8 @@ Returns:
   VOID                  *MemoryDescriptor;\r
   VOID                  *NvStorageBase;\r
   CHAR8                 PrintBuffer[256];\r
-\r
+  \r
+  ClearScreen();\r
   PrintString("Enter DxeIpl ...\n");\r
 /*\r
   ClearScreen();\r
@@ -295,7 +296,6 @@ Returns:
   PrintString("\n\n\n\n\n\n\n\n\n\n");\r
   PrintString("                         WELCOME TO EFI WORLD!\n");\r
 \r
-  \r
   EnterDxeMain (StackTop, Handoff->DxeCoreEntryPoint, gHob, PageTableBase);\r
 \r
   //\r
@@ -304,3 +304,12 @@ Returns:
   CpuDeadLoop ();\r
 }\r
 \r
+EFI_STATUS\r
+EFIAPI\r
+_ModuleEntryPoint (\r
+  IN EFILDRHANDOFF  *Handoff\r
+  )\r
+{\r
+  DxeInit(Handoff);\r
+  return EFI_SUCCESS;\r
+}\r
index 3bdded832b75642b92366065c8c0d7c752903b6f..d2d43e982e0ba123240438877b61f5b8b37942d4 100644 (file)
@@ -24,7 +24,6 @@
   VERSION_STRING                 = 1.0\r
   EDK_RELEASE_VERSION            = 0x00020000\r
   EFI_SPECIFICATION_VERSION      = 0x00020000\r
-  ENTRY_POINT                    = DxeInit\r
 \r
 [Packages]\r
   MdePkg/MdePkg.dec\r
@@ -38,7 +37,6 @@
   BaseMemoryLib\r
   PrintLib\r
   ReportStatusCodeLib\r
-  UefiDriverEntryPoint\r
 \r
 [Sources.common]\r
   DxeIpl.h\r
index 1175d560d88405aaa2bea1dc9f758be11356033c..4b19064ee40135e523d50140b7ac18f83c6bb33d 100644 (file)
@@ -20,6 +20,7 @@ Revision History:
 \r
 #include "DxeIpl.h"\r
 #include "HobGeneration.h"\r
+#include "Debug.h"\r
 \r
 #define ACPI_RSD_PTR      0x2052545020445352LL\r
 #define MPS_PTR           EFI_SIGNATURE_32('_','M','P','_')\r
@@ -225,7 +226,7 @@ FindAcpiPtr (
   //\r
   // Check ACPI2.0 table\r
   //\r
-  if (Hob->Acpi20.Table > 0) {\r
+  if ((int)Hob->Acpi20.Table != -1) {\r
     Rsdp = (RSDP_TABLE *)(UINTN)Hob->Acpi20.Table;\r
     Rsdt = (RSDT_TABLE *)(UINTN)Rsdp->RsdtAddress;\r
     Xsdt = NULL;\r
@@ -249,7 +250,7 @@ FindAcpiPtr (
   //\r
   // Check ACPI1.0 table\r
   //\r
-  if ((AcpiTable == NULL) && (Hob->Acpi.Table > 0)) {\r
+  if ((AcpiTable == NULL) && ((int)Hob->Acpi.Table != -1)) {\r
     Rsdp = (RSDP_TABLE *)(UINTN)Hob->Acpi.Table;\r
     Rsdt = (RSDT_TABLE *)(UINTN)Rsdp->RsdtAddress;\r
     //\r
@@ -411,10 +412,18 @@ PrepareHobLegacyTable (
   IN HOB_TEMPLATE  *Hob\r
   )\r
 {\r
+  CHAR8    PrintBuffer[256];\r
+\r
   Hob->Acpi.Table   = (EFI_PHYSICAL_ADDRESS)(UINTN)FindAcpiRsdPtr ();\r
+  AsciiSPrint (PrintBuffer, 256, "\nAcpiTable=0x%x ", (UINT32)(UINTN)Hob->Acpi.Table);\r
+  PrintString (PrintBuffer);\r
   Hob->Acpi20.Table = (EFI_PHYSICAL_ADDRESS)(UINTN)FindAcpiRsdPtr ();\r
   Hob->Smbios.Table = (EFI_PHYSICAL_ADDRESS)(UINTN)FindSMBIOSPtr ();\r
+  AsciiSPrint (PrintBuffer, 256, "SMBIOS Table=0x%x ", (UINT32)(UINTN)Hob->Smbios.Table);\r
+  PrintString (PrintBuffer);\r
   Hob->Mps.Table    = (EFI_PHYSICAL_ADDRESS)(UINTN)FindMPSPtr ();\r
+  AsciiSPrint (PrintBuffer, 256, "MPS Table=0x%x\n", (UINT32)(UINTN)Hob->Mps.Table);\r
+  PrintString (PrintBuffer);\r
 \r
   PrepareMcfgTable (Hob);\r
 \r