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