mirror of https://github.com/acidanthera/audk.git
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
This commit is contained in:
parent
6f33781141
commit
df166ce574
|
@ -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
|
||||
|
|
|
@ -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;
|
||||
}
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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);
|
||||
|
||||
|
|
Loading…
Reference in New Issue