summaryrefslogtreecommitdiffstats
path: root/UefiPayloadPkg/Library
diff options
context:
space:
mode:
Diffstat (limited to 'UefiPayloadPkg/Library')
-rw-r--r--UefiPayloadPkg/Library/CbParseLib/CbParseLib.c39
-rw-r--r--UefiPayloadPkg/Library/SblParseLib/SblParseLib.c42
-rw-r--r--UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf1
3 files changed, 65 insertions, 17 deletions
diff --git a/UefiPayloadPkg/Library/CbParseLib/CbParseLib.c b/UefiPayloadPkg/Library/CbParseLib/CbParseLib.c
index 46314e5566..f73fcd8823 100644
--- a/UefiPayloadPkg/Library/CbParseLib/CbParseLib.c
+++ b/UefiPayloadPkg/Library/CbParseLib/CbParseLib.c
@@ -410,9 +410,9 @@ ParseMemoryInfo (
/**
- Acquire acpi table and smbios table from coreboot
+ Acquire SMBIOS table from coreboot.
- @param SystemTableInfo Pointer to the system table info
+ @param SmbiosTable Pointer to the SMBIOS table info.
@retval RETURN_SUCCESS Successfully find out the tables.
@retval RETURN_NOT_FOUND Failed to find the tables.
@@ -420,8 +420,8 @@ ParseMemoryInfo (
**/
RETURN_STATUS
EFIAPI
-ParseSystemTable (
- OUT SYSTEM_TABLE_INFO *SystemTableInfo
+ParseSmbiosTable (
+ OUT UNIVERSAL_PAYLOAD_SMBIOS_TABLE *SmbiosTable
)
{
EFI_STATUS Status;
@@ -432,17 +432,38 @@ ParseSystemTable (
if (EFI_ERROR (Status)) {
return EFI_NOT_FOUND;
}
- SystemTableInfo->SmbiosTableBase = (UINT64) (UINTN)MemTable;
- SystemTableInfo->SmbiosTableSize = MemTableSize;
+ SmbiosTable->SmBiosEntryPoint = (UINT64) (UINTN)MemTable;
+
+ return RETURN_SUCCESS;
+}
+
+
+/**
+ Acquire ACPI table from coreboot.
+
+ @param AcpiTableHob Pointer to the ACPI table info.
+
+ @retval RETURN_SUCCESS Successfully find out the tables.
+ @retval RETURN_NOT_FOUND Failed to find the tables.
+
+**/
+RETURN_STATUS
+EFIAPI
+ParseAcpiTableInfo (
+ OUT UNIVERSAL_PAYLOAD_ACPI_TABLE *AcpiTableHob
+ )
+{
+ EFI_STATUS Status;
+ VOID *MemTable;
+ UINT32 MemTableSize;
Status = ParseCbMemTable (SIGNATURE_32 ('I', 'P', 'C', 'A'), &MemTable, &MemTableSize);
if (EFI_ERROR (Status)) {
return EFI_NOT_FOUND;
}
- SystemTableInfo->AcpiTableBase = (UINT64) (UINTN)MemTable;
- SystemTableInfo->AcpiTableSize = MemTableSize;
+ AcpiTableHob->Rsdp = (UINT64) (UINTN)MemTable;
- return Status;
+ return RETURN_SUCCESS;
}
diff --git a/UefiPayloadPkg/Library/SblParseLib/SblParseLib.c b/UefiPayloadPkg/Library/SblParseLib/SblParseLib.c
index eeb0dfe74a..e524e1b5f6 100644
--- a/UefiPayloadPkg/Library/SblParseLib/SblParseLib.c
+++ b/UefiPayloadPkg/Library/SblParseLib/SblParseLib.c
@@ -110,9 +110,9 @@ ParseMemoryInfo (
}
/**
- Acquire acpi table and smbios table from slim bootloader
+ Acquire SMBIOS table from slim bootloader.
- @param SystemTableInfo Pointer to the system table info
+ @param SmbiosTable Pointer to the SMBIOS table info.
@retval RETURN_SUCCESS Successfully find out the tables.
@retval RETURN_NOT_FOUND Failed to find the tables.
@@ -120,25 +120,53 @@ ParseMemoryInfo (
**/
RETURN_STATUS
EFIAPI
-ParseSystemTable (
- OUT SYSTEM_TABLE_INFO *SystemTableInfo
+ParseSmbiosTable (
+ OUT UNIVERSAL_PAYLOAD_SMBIOS_TABLE *SmbiosTable
)
{
- SYSTEM_TABLE_INFO *TableInfo;
+ UNIVERSAL_PAYLOAD_SMBIOS_TABLE *TableInfo;
- TableInfo = (SYSTEM_TABLE_INFO *)GetGuidHobDataFromSbl (&gUefiSystemTableInfoGuid);
+ TableInfo = (UNIVERSAL_PAYLOAD_SMBIOS_TABLE *)GetGuidHobDataFromSbl (&gUniversalPayloadSmbiosTableGuid);
if (TableInfo == NULL) {
ASSERT (FALSE);
return RETURN_NOT_FOUND;
}
- CopyMem (SystemTableInfo, TableInfo, sizeof (SYSTEM_TABLE_INFO));
+ SmbiosTable->SmBiosEntryPoint = TableInfo->SmBiosEntryPoint;
return RETURN_SUCCESS;
}
/**
+ Acquire ACPI table from slim bootloader.
+
+ @param AcpiTableHob Pointer to the ACPI table info.
+
+ @retval RETURN_SUCCESS Successfully find out the tables.
+ @retval RETURN_NOT_FOUND Failed to find the tables.
+
+**/
+RETURN_STATUS
+EFIAPI
+ParseAcpiTableInfo (
+ OUT UNIVERSAL_PAYLOAD_ACPI_TABLE *AcpiTableHob
+ )
+{
+ UNIVERSAL_PAYLOAD_ACPI_TABLE *TableInfo;
+
+ TableInfo = (UNIVERSAL_PAYLOAD_ACPI_TABLE *)GetGuidHobDataFromSbl (&gUniversalPayloadAcpiTableGuid);
+ if (TableInfo == NULL) {
+ ASSERT (FALSE);
+ return RETURN_NOT_FOUND;
+ }
+
+ AcpiTableHob->Rsdp = TableInfo->Rsdp;
+
+ return RETURN_SUCCESS;
+}
+
+/**
Find the serial port information
@param[out] SerialPortInfo Pointer to serial port info structure
diff --git a/UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf b/UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf
index 535cca58a6..f83a10ccd8 100644
--- a/UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf
+++ b/UefiPayloadPkg/Library/SblParseLib/SblParseLib.inf
@@ -36,7 +36,6 @@
HobLib
[Guids]
- gUefiSystemTableInfoGuid
gUefiSerialPortInfoGuid
gLoaderMemoryMapInfoGuid
gEfiGraphicsInfoHobGuid