Activate the default console when user interaction is required for the processing of TPM 2 physical presence interface opcodes. Background: TPM 2 physical presence interface (PPI) opcodes need to be handled before the TPM 2 platform hierarchy is disabled. Due to this requirement we will move the function call to handle the PPI opcodes into PlatformBootManagerBeforeConsole() which runs before the initialization of the consoles. However, since for interaction with the user we need the console to be available, activate it now before displaying any message to the user. Cc: Rebecca Cran <rebecca@bsdio.com> Cc: Peter Grehan <grehan@freebsd.org> Cc: Brijesh Singh <brijesh.singh@amd.com> Cc: Erdem Aktas <erdemaktas@google.com> Cc: James Bottomley <jejb@linux.ibm.com> Cc: Jiewen Yao <jiewen.yao@intel.com> Cc: Min Xu <min.m.xu@intel.com> Cc: Tom Lendacky <thomas.lendacky@amd.com> Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Jordan Justen <jordan.l.justen@intel.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Reviewed-by: Jiewen Yao <Jiewen.yao@intel.com>
73 lines
2.1 KiB
INI
73 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
|
|
QemuFwCfgLib
|
|
Tpm2CommandLib
|
|
UefiBootManagerLib
|
|
UefiBootServicesTableLib
|
|
UefiLib
|
|
UefiRuntimeServicesTableLib
|
|
|
|
[Protocols]
|
|
gEfiTcg2ProtocolGuid ## SOMETIMES_CONSUMES
|
|
|
|
[Guids]
|
|
## SOMETIMES_CONSUMES ## HII
|
|
gEfiTcg2PhysicalPresenceGuid
|