Disable the TPM2 platform hierarchy by directly calling ConfigureTpmPlatformHierarchy(). Per the TCG firmware specification "TCG PC Client Platform Firmware Profile Specification" the TPM 2 platform hierarchy needs to be disabled or a random password set and discarded before the firmware passes control to the next stage bootloader or kernel. Current specs are here: https://trustedcomputinggroup.org/wp-content/uploads/TCG_PCClient_PFP_r1p05_v23_pub.pdf Section 11 states: "Platform Firmware MUST protect access to the Platform Hierarchy and prevent access to the platform hierarchy by non-manufacturer- controlled components." Link: https://bugzilla.tianocore.org/show_bug.cgi?id=3510 Cc: Ard Biesheuvel <ardb+tianocore@kernel.org> Cc: Leif Lindholm <leif@nuviainc.com> Cc: Sami Mujawar <sami.mujawar@arm.com> Cc: Gerd Hoffmann <kraxel@redhat.com> Signed-off-by: Stefan Berger <stefanb@linux.ibm.com> Reviewed-by: Sami Mujawar <sami.mujawar@arm.com>
78 lines
1.9 KiB
INI
78 lines
1.9 KiB
INI
## @file
|
|
# Implementation for PlatformBootManagerLib library class interfaces.
|
|
#
|
|
# Copyright (C) 2015-2016, Red Hat, Inc.
|
|
# Copyright (c) 2014, ARM Ltd. All rights reserved.<BR>
|
|
# Copyright (c) 2007 - 2014, Intel Corporation. All rights reserved.<BR>
|
|
#
|
|
# SPDX-License-Identifier: BSD-2-Clause-Patent
|
|
#
|
|
##
|
|
|
|
[Defines]
|
|
INF_VERSION = 0x00010005
|
|
BASE_NAME = PlatformBootManagerLib
|
|
FILE_GUID = 469184E8-FADA-41E4-8823-012CA19B40D4
|
|
MODULE_TYPE = DXE_DRIVER
|
|
VERSION_STRING = 1.0
|
|
LIBRARY_CLASS = PlatformBootManagerLib|DXE_DRIVER
|
|
|
|
#
|
|
# The following information is for reference only and not required by the build tools.
|
|
#
|
|
# VALID_ARCHITECTURES = ARM AARCH64
|
|
#
|
|
|
|
[Sources]
|
|
PlatformBm.c
|
|
PlatformBm.h
|
|
QemuKernel.c
|
|
|
|
[Packages]
|
|
ArmVirtPkg/ArmVirtPkg.dec
|
|
MdeModulePkg/MdeModulePkg.dec
|
|
MdePkg/MdePkg.dec
|
|
OvmfPkg/OvmfPkg.dec
|
|
SecurityPkg/SecurityPkg.dec
|
|
ShellPkg/ShellPkg.dec
|
|
|
|
[LibraryClasses]
|
|
BaseLib
|
|
BaseMemoryLib
|
|
BootLogoLib
|
|
DebugLib
|
|
DevicePathLib
|
|
MemoryAllocationLib
|
|
PcdLib
|
|
PlatformBmPrintScLib
|
|
QemuBootOrderLib
|
|
QemuLoadImageLib
|
|
ReportStatusCodeLib
|
|
TpmPlatformHierarchyLib
|
|
UefiBootManagerLib
|
|
UefiBootServicesTableLib
|
|
UefiLib
|
|
UefiRuntimeServicesTableLib
|
|
|
|
[FixedPcd]
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultBaudRate
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultDataBits
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultParity
|
|
gEfiMdePkgTokenSpaceGuid.PcdUartDefaultStopBits
|
|
|
|
[Pcd]
|
|
gArmVirtTokenSpaceGuid.PcdTerminalTypeGuidBuffer
|
|
gEfiMdePkgTokenSpaceGuid.PcdPlatformBootTimeOut
|
|
|
|
[Guids]
|
|
gEfiEndOfDxeEventGroupGuid
|
|
gEfiGlobalVariableGuid
|
|
gRootBridgesConnectedEventGroupGuid
|
|
gUefiShellFileGuid
|
|
|
|
[Protocols]
|
|
gEfiFirmwareVolume2ProtocolGuid
|
|
gEfiGraphicsOutputProtocolGuid
|
|
gEfiPciRootBridgeIoProtocolGuid
|
|
gVirtioDeviceProtocolGuid
|