diff options
author | klu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-05-07 09:38:31 +0000 |
---|---|---|
committer | klu2 <klu2@6f19259b-4bc3-4df7-8a09-765794883524> | 2008-05-07 09:38:31 +0000 |
commit | df166ce57448db0df33b2ea77d1142610103677e (patch) | |
tree | 6bb507089920cb68dab5203141807058a5d508a7 | |
parent | 6f33781141f0665187f9287a927f50bdcff449f3 (diff) | |
download | edk2-df166ce57448db0df33b2ea77d1142610103677e.tar.gz edk2-df166ce57448db0df33b2ea77d1142610103677e.tar.bz2 edk2-df166ce57448db0df33b2ea77d1142610103677e.zip |
1) DxeIpl should not use UefiDriverEntryPointLib
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
-rw-r--r-- | DuetPkg/DuetPkg.dsc | 5 | ||||
-rw-r--r-- | DuetPkg/DxeIpl/DxeInit.c | 13 | ||||
-rw-r--r-- | DuetPkg/DxeIpl/DxeIpl.inf | 2 | ||||
-rw-r--r-- | DuetPkg/DxeIpl/LegacyTable.c | 13 |
4 files changed, 26 insertions, 7 deletions
diff --git a/DuetPkg/DuetPkg.dsc b/DuetPkg/DuetPkg.dsc index 2a56d3a38f..851a84295b 100644 --- a/DuetPkg/DuetPkg.dsc +++ b/DuetPkg/DuetPkg.dsc @@ -105,7 +105,10 @@ gEfiIntelFrameworkModulePkgTokenSpaceGuid.PcdStatusCodeUseHardSerial|TRUE
[Components.common]
- DuetPkg/DxeIpl/DxeIpl.inf
+ DuetPkg/DxeIpl/DxeIpl.inf {
+ <LibraryClasses>
+ DebugLib|MdePkg/Library/BaseDebugLibNull/BaseDebugLibNull.inf
+ }
MdeModulePkg/Core/Dxe/DxeMain.inf
MdeModulePkg/Universal/WatchdogTimerDxe/WatchdogTimer.inf
diff --git a/DuetPkg/DxeIpl/DxeInit.c b/DuetPkg/DxeIpl/DxeInit.c index e42cd4c0db..6bc3170bc5 100644 --- a/DuetPkg/DxeIpl/DxeInit.c +++ b/DuetPkg/DxeIpl/DxeInit.c @@ -136,7 +136,8 @@ Returns: VOID *MemoryDescriptor;
VOID *NvStorageBase;
CHAR8 PrintBuffer[256];
-
+
+ ClearScreen();
PrintString("Enter DxeIpl ...\n");
/*
ClearScreen();
@@ -295,7 +296,6 @@ Returns: PrintString("\n\n\n\n\n\n\n\n\n\n");
PrintString(" WELCOME TO EFI WORLD!\n");
-
EnterDxeMain (StackTop, Handoff->DxeCoreEntryPoint, gHob, PageTableBase);
//
@@ -304,3 +304,12 @@ Returns: CpuDeadLoop ();
}
+EFI_STATUS
+EFIAPI
+_ModuleEntryPoint (
+ IN EFILDRHANDOFF *Handoff
+ )
+{
+ DxeInit(Handoff);
+ return EFI_SUCCESS;
+}
diff --git a/DuetPkg/DxeIpl/DxeIpl.inf b/DuetPkg/DxeIpl/DxeIpl.inf index 3bdded832b..d2d43e982e 100644 --- a/DuetPkg/DxeIpl/DxeIpl.inf +++ b/DuetPkg/DxeIpl/DxeIpl.inf @@ -24,7 +24,6 @@ VERSION_STRING = 1.0
EDK_RELEASE_VERSION = 0x00020000
EFI_SPECIFICATION_VERSION = 0x00020000
- ENTRY_POINT = DxeInit
[Packages]
MdePkg/MdePkg.dec
@@ -38,7 +37,6 @@ BaseMemoryLib
PrintLib
ReportStatusCodeLib
- UefiDriverEntryPoint
[Sources.common]
DxeIpl.h
diff --git a/DuetPkg/DxeIpl/LegacyTable.c b/DuetPkg/DxeIpl/LegacyTable.c index 1175d560d8..4b19064ee4 100644 --- a/DuetPkg/DxeIpl/LegacyTable.c +++ b/DuetPkg/DxeIpl/LegacyTable.c @@ -20,6 +20,7 @@ Revision History: #include "DxeIpl.h"
#include "HobGeneration.h"
+#include "Debug.h"
#define ACPI_RSD_PTR 0x2052545020445352LL
#define MPS_PTR EFI_SIGNATURE_32('_','M','P','_')
@@ -225,7 +226,7 @@ FindAcpiPtr ( //
// Check ACPI2.0 table
//
- if (Hob->Acpi20.Table > 0) {
+ if ((int)Hob->Acpi20.Table != -1) {
Rsdp = (RSDP_TABLE *)(UINTN)Hob->Acpi20.Table;
Rsdt = (RSDT_TABLE *)(UINTN)Rsdp->RsdtAddress;
Xsdt = NULL;
@@ -249,7 +250,7 @@ FindAcpiPtr ( //
// Check ACPI1.0 table
//
- if ((AcpiTable == NULL) && (Hob->Acpi.Table > 0)) {
+ if ((AcpiTable == NULL) && ((int)Hob->Acpi.Table != -1)) {
Rsdp = (RSDP_TABLE *)(UINTN)Hob->Acpi.Table;
Rsdt = (RSDT_TABLE *)(UINTN)Rsdp->RsdtAddress;
//
@@ -411,10 +412,18 @@ PrepareHobLegacyTable ( IN HOB_TEMPLATE *Hob
)
{
+ CHAR8 PrintBuffer[256];
+
Hob->Acpi.Table = (EFI_PHYSICAL_ADDRESS)(UINTN)FindAcpiRsdPtr ();
+ AsciiSPrint (PrintBuffer, 256, "\nAcpiTable=0x%x ", (UINT32)(UINTN)Hob->Acpi.Table);
+ PrintString (PrintBuffer);
Hob->Acpi20.Table = (EFI_PHYSICAL_ADDRESS)(UINTN)FindAcpiRsdPtr ();
Hob->Smbios.Table = (EFI_PHYSICAL_ADDRESS)(UINTN)FindSMBIOSPtr ();
+ AsciiSPrint (PrintBuffer, 256, "SMBIOS Table=0x%x ", (UINT32)(UINTN)Hob->Smbios.Table);
+ PrintString (PrintBuffer);
Hob->Mps.Table = (EFI_PHYSICAL_ADDRESS)(UINTN)FindMPSPtr ();
+ AsciiSPrint (PrintBuffer, 256, "MPS Table=0x%x\n", (UINT32)(UINTN)Hob->Mps.Table);
+ PrintString (PrintBuffer);
PrepareMcfgTable (Hob);
|