Put the PPI configuration retriveal into an own library. That will allow to reuse the code in the UefipayloadPkg, where the firmware provides the ACPI tables, like QEMU does on OvmfPkg. However one major difference is that the PPI interface in UefiPayloadPkg is not backed by a MMIO device, but resides in DRAM and is shared with ACPI code. Add an additional parameter to provide the location of the PPI and test if the memory region has the correct attributes. Signed-off-by: Patrick Rudolph <patrick.rudolph@9elements.com>
72 lines
2.1 KiB
INI
72 lines
2.1 KiB
INI
## @file
|
|
# Executes TPM 2.0 requests from OS or BIOS
|
|
#
|
|
# This library will check and execute TPM 2.0 request from OS or
|
|
# BIOS. The request may ask for user confirmation before
|
|
# execution. It is a clone of
|
|
# "SecurityPkg/Library/DxeTcg2PhysicalPresenceLib" with:
|
|
#
|
|
# - removed all the functions that are unreachable from
|
|
# Tcg2PhysicalPresenceLibProcessRequest() [called from platform
|
|
# BDS], or SubmitRequestToPreOSFunction() and
|
|
# ReturnOperationResponseToOsFunction() [called from Tcg2Dxe].
|
|
#
|
|
# - replaced everything that's related to the
|
|
# TCG2_PHYSICAL_PRESENCE*_VARIABLE variables, with direct access to
|
|
# the QEMU structures.
|
|
#
|
|
# Caution: This module requires additional review when modified.
|
|
# This driver will have external input - variable.
|
|
# This external input must be validated carefully to avoid security issue.
|
|
#
|
|
# Copyright (C) 2018, Red Hat, Inc.
|
|
# Copyright (c) 2013 - 2018, Intel Corporation. All rights reserved.<BR>
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = Tcg2PhysicalPresenceLibQemu
|
|
FILE_GUID = 41D3E698-9EEC-41FF-9CBB-5FE79A0CF326
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = Tcg2PhysicalPresenceLib|DXE_DRIVER DXE_RUNTIME_DRIVER UEFI_APPLICATION UEFI_DRIVER
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = IA32 X64 EBC
|
|
#
|
|
|
|
[Sources]
|
|
DxeTcg2PhysicalPresenceLib.c
|
|
PhysicalPresenceStrings.uni
|
|
|
|
[Packages]
|
|
MdePkg/MdePkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
OvmfPkg/OvmfPkg.dec
|
|
SecurityPkg/SecurityPkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseMemoryLib
|
|
DebugLib
|
|
DxeServicesTableLib
|
|
HiiLib
|
|
HobLib
|
|
MemoryAllocationLib
|
|
PrintLib
|
|
Tpm2CommandLib
|
|
UefiBootServicesTableLib
|
|
UefiLib
|
|
UefiRuntimeServicesTableLib
|
|
Tcg2PhysicalPresencePlatformLib
|
|
|
|
[Protocols]
|
|
gEfiTcg2ProtocolGuid ## SOMETIMES_CONSUMES
|
|
|
|
[Guids]
|
|
## SOMETIMES_CONSUMES ## HII
|
|
gEfiTcg2PhysicalPresenceGuid
|