|
@@ -224,8 +224,6 @@ BuildHobFromBl (
|
|
|
)
|
|
|
{
|
|
|
EFI_STATUS Status;
|
|
|
- SYSTEM_TABLE_INFO SysTableInfo;
|
|
|
- SYSTEM_TABLE_INFO *NewSysTableInfo;
|
|
|
ACPI_BOARD_INFO *AcpiBoardInfo;
|
|
|
EFI_PEI_GRAPHICS_INFO_HOB GfxInfo;
|
|
|
EFI_PEI_GRAPHICS_INFO_HOB *NewGfxInfo;
|
|
@@ -274,18 +272,6 @@ BuildHobFromBl (
|
|
|
}
|
|
|
|
|
|
|
|
|
- //
|
|
|
- // Create guid hob for system tables like acpi table and smbios table
|
|
|
- //
|
|
|
- Status = ParseSystemTable(&SysTableInfo);
|
|
|
- ASSERT_EFI_ERROR (Status);
|
|
|
- if (!EFI_ERROR (Status)) {
|
|
|
- NewSysTableInfo = BuildGuidHob (&gUefiSystemTableInfoGuid, sizeof (SYSTEM_TABLE_INFO));
|
|
|
- ASSERT (NewSysTableInfo != NULL);
|
|
|
- CopyMem (NewSysTableInfo, &SysTableInfo, sizeof (SYSTEM_TABLE_INFO));
|
|
|
- DEBUG ((DEBUG_INFO, "Detected Acpi Table at 0x%lx, length 0x%x\n", SysTableInfo.AcpiTableBase, SysTableInfo.AcpiTableSize));
|
|
|
- DEBUG ((DEBUG_INFO, "Detected Smbios Table at 0x%lx, length 0x%x\n", SysTableInfo.SmbiosTableBase, SysTableInfo.SmbiosTableSize));
|
|
|
- }
|
|
|
//
|
|
|
// Creat SmBios table Hob
|
|
|
//
|
|
@@ -293,8 +279,11 @@ BuildHobFromBl (
|
|
|
ASSERT (SmBiosTableHob != NULL);
|
|
|
SmBiosTableHob->Header.Revision = UNIVERSAL_PAYLOAD_SMBIOS_TABLE_REVISION;
|
|
|
SmBiosTableHob->Header.Length = sizeof (UNIVERSAL_PAYLOAD_SMBIOS_TABLE);
|
|
|
- SmBiosTableHob->SmBiosEntryPoint = SysTableInfo.SmbiosTableBase;
|
|
|
DEBUG ((DEBUG_INFO, "Create smbios table gUniversalPayloadSmbiosTableGuid guid hob\n"));
|
|
|
+ Status = ParseSmbiosTable(SmBiosTableHob);
|
|
|
+ if (!EFI_ERROR (Status)) {
|
|
|
+ DEBUG ((DEBUG_INFO, "Detected Smbios Table at 0x%lx\n", SmBiosTableHob->SmBiosEntryPoint));
|
|
|
+ }
|
|
|
|
|
|
//
|
|
|
// Creat ACPI table Hob
|
|
@@ -303,13 +292,16 @@ BuildHobFromBl (
|
|
|
ASSERT (AcpiTableHob != NULL);
|
|
|
AcpiTableHob->Header.Revision = UNIVERSAL_PAYLOAD_ACPI_TABLE_REVISION;
|
|
|
AcpiTableHob->Header.Length = sizeof (UNIVERSAL_PAYLOAD_ACPI_TABLE);
|
|
|
- AcpiTableHob->Rsdp = SysTableInfo.AcpiTableBase;
|
|
|
- DEBUG ((DEBUG_INFO, "Create smbios table gUniversalPayloadAcpiTableGuid guid hob\n"));
|
|
|
+ DEBUG ((DEBUG_INFO, "Create ACPI table gUniversalPayloadAcpiTableGuid guid hob\n"));
|
|
|
+ Status = ParseAcpiTableInfo(AcpiTableHob);
|
|
|
+ if (!EFI_ERROR (Status)) {
|
|
|
+ DEBUG ((DEBUG_INFO, "Detected ACPI Table at 0x%lx\n", AcpiTableHob->Rsdp));
|
|
|
+ }
|
|
|
|
|
|
//
|
|
|
// Create guid hob for acpi board information
|
|
|
//
|
|
|
- AcpiBoardInfo = BuildHobFromAcpi (SysTableInfo.AcpiTableBase);
|
|
|
+ AcpiBoardInfo = BuildHobFromAcpi (AcpiTableHob->Rsdp);
|
|
|
ASSERT (AcpiBoardInfo != NULL);
|
|
|
|
|
|
//
|