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>
98 lines
2.9 KiB
INI
98 lines
2.9 KiB
INI
## @file
|
|
# This is the first module for UEFI payload.
|
|
#
|
|
# Copyright (c) 2006 - 2021, Intel Corporation. All rights reserved.<BR>
|
|
# Copyright (c) 2017, AMD Incorporated. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = PayloadEntry
|
|
FILE_GUID = 2119BBD7-9432-4f47-B5E2-5C4EA31B6BDC
|
|
MODULE_TYPE = SEC
|
|
VERSION_STRING = 1.0
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64
|
|
#
|
|
|
|
[Sources]
|
|
UefiPayloadEntry.c
|
|
LoadDxeCore.c
|
|
MemoryAllocation.c
|
|
|
|
[Sources.Ia32]
|
|
X64/VirtualMemory.h
|
|
X64/VirtualMemory.c
|
|
Ia32/DxeLoadFunc.c
|
|
Ia32/IdtVectorAsm.nasm
|
|
Ia32/SecEntry.nasm
|
|
|
|
[Sources.X64]
|
|
X64/VirtualMemory.h
|
|
X64/VirtualMemory.c
|
|
X64/DxeLoadFunc.c
|
|
X64/SecEntry.nasm
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
UefiCpuPkg/UefiCpuPkg.dec
|
|
UefiPayloadPkg/UefiPayloadPkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseMemoryLib
|
|
DebugLib
|
|
BaseLib
|
|
SerialPortLib
|
|
IoLib
|
|
BlParseLib
|
|
HobLib
|
|
PeCoffLib
|
|
PlatformSupportLib
|
|
UefiCpuLib
|
|
PcdLib
|
|
|
|
[Guids]
|
|
gEfiMemoryTypeInformationGuid
|
|
gEfiFirmwareFileSystem2Guid
|
|
gUefiSystemTableInfoGuid
|
|
gEfiGraphicsInfoHobGuid
|
|
gEfiGraphicsDeviceInfoHobGuid
|
|
gUefiAcpiBoardInfoGuid
|
|
gUniversalPayloadSmbiosTableGuid
|
|
gUniversalPayloadAcpiTableGuid
|
|
gEfiSMMSTOREInfoHobGuid
|
|
gEfiTcgPhysicalPresenceInfoHobGuid
|
|
|
|
[FeaturePcd.IA32]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplSwitchToLongMode ## CONSUMES
|
|
|
|
[FeaturePcd.X64]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeIplBuildPageTables ## CONSUMES
|
|
|
|
|
|
[Pcd.IA32,Pcd.X64]
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdUse1GPageTable ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdPteMemoryEncryptionAddressOrMask ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdNullPointerDetectionPropertyMask ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdHeapGuardPropertyMask ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdCpuStackGuard ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdUse5LevelPageTable ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbBase ## CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdGhcbSize ## CONSUMES
|
|
|
|
gUefiPayloadPkgTokenSpaceGuid.PcdPayloadFdMemBase
|
|
gUefiPayloadPkgTokenSpaceGuid.PcdPayloadFdMemSize
|
|
gUefiPayloadPkgTokenSpaceGuid.PcdPayloadStackTop
|
|
gUefiPayloadPkgTokenSpaceGuid.PcdSystemMemoryUefiRegionSize
|
|
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdSetNxForStack ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdDxeNxMemoryProtectionPolicy ## SOMETIMES_CONSUMES
|
|
gEfiMdeModulePkgTokenSpaceGuid.PcdImageProtectionPolicy ## SOMETIMES_CONSUMES
|