UefiPayloadPkg: Parse coreboot's TPM PPI handoff buffer
Read the coreboot table containing the TPM PPI handoff buffer and place it in gEfiTcgPhysicalPresenceInfoHob. coreboot uses the same PPI interface as QEMU does and installs the corresponding ACPI code to provide a full PPI interface to the OS. The OS must reboot in order to execute the requests. The corresponding coreboot patch can be found here: https://review.coreboot.org/c/coreboot/+/45568 In a follow up commit the OvmfPkg PhysicalPresence library will be used to confirm TPM PPI request. This is necessary as coreboot doesn't have input drivers or a graphical UI that could be used. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
This commit is contained in:
committed by
Tim Crawford
parent
d296a36cc4
commit
7d5abcd016
@@ -407,6 +407,8 @@ BuildHobFromBl (
|
||||
ACPI_BOARD_INFO *NewAcpiBoardInfo;
|
||||
SMMSTORE_INFO SMMSTOREInfo;
|
||||
SMMSTORE_INFO *NewSMMSTOREInfo;
|
||||
TCG_PHYSICAL_PRESENCE_INFO PhysicalPresenceInfo;
|
||||
TCG_PHYSICAL_PRESENCE_INFO *NewPhysicalPresenceInfo;
|
||||
EFI_PEI_GRAPHICS_INFO_HOB GfxInfo;
|
||||
EFI_PEI_GRAPHICS_INFO_HOB *NewGfxInfo;
|
||||
EFI_PEI_GRAPHICS_DEVICE_INFO_HOB GfxDeviceInfo;
|
||||
@@ -464,6 +466,17 @@ BuildHobFromBl (
|
||||
DEBUG ((DEBUG_INFO, "Created SMMSTORE info hob\n"));
|
||||
}
|
||||
|
||||
//
|
||||
// Create guid hob for Tcg Physical Presence Interface
|
||||
//
|
||||
Status = ParseTPMPPIInfo (&PhysicalPresenceInfo);
|
||||
if (!EFI_ERROR (Status)) {
|
||||
NewPhysicalPresenceInfo = BuildGuidHob (&gEfiTcgPhysicalPresenceInfoHobGuid, sizeof (TCG_PHYSICAL_PRESENCE_INFO));
|
||||
ASSERT (NewPhysicalPresenceInfo != NULL);
|
||||
CopyMem (NewPhysicalPresenceInfo, &PhysicalPresenceInfo, sizeof (TCG_PHYSICAL_PRESENCE_INFO));
|
||||
DEBUG ((DEBUG_INFO, "Created Tcg Physical Presence info hob\n"));
|
||||
}
|
||||
|
||||
//
|
||||
// Create guid hob for system tables like acpi table and smbios table
|
||||
//
|
||||
|
Reference in New Issue
Block a user