[PATCH 0/4] Add support for TPM 1.2 Physical Presence Interface and Menu


Stefan Berger
 

This series adds support for the full TPM 1.2 Physical Presence Interface
(PPI) and activates the TPM 1.2 menu at the end. PPI is a prerequisite for
the menu to work.

The modifications to the original code are mostly due to the fact that we
are using a memory region for PPI in QEMU. I tried to keep them at a minimum.
For the PPI Flags I am using a EFI variable just like the original code does.
(SecurityPkg/Library/DxeTcgPhysicalPresenceLib/DxeTcgPhysicalPresenceLib.c)

Regards,
Stefan

Gerd Hoffmann (1):
OvmfPkg: add TPM 1.2 config menu

Stefan Berger (3):
OvmfPkg: Check for TPM 2 early to leave function early
SecurityPkg: Store physical presence code by submitting to PreOS func
OvmfPkg: Enable physical presence interface for TPM 1.2

OvmfPkg/Include/Library/QemuPPI.h | 33 +
.../PlatformBootManagerLib/BdsPlatform.c | 2 +
.../PlatformBootManagerLib.inf | 1 +
.../DxeTcg2PhysicalPresenceLib.c | 36 +-
.../DxeTcgPhysicalPresenceLib.c | 22 +
.../DxeTcgPhysicalPresenceLib.inf | 27 +
.../DxeTcgPhysicalPresenceLib.c | 1452 +++++++++++++++++
.../DxeTcgPhysicalPresenceLib.inf | 64 +
.../PhysicalPresenceStrings.uni | 46 +
OvmfPkg/OvmfPkg.dec | 3 +
OvmfPkg/OvmfTpmComponentsDxe.dsc.inc | 1 +
OvmfPkg/OvmfTpmDxe.fdf.inc | 1 +
OvmfPkg/OvmfTpmLibs.dsc.inc | 4 +
.../Include/Library/TcgPhysicalPresenceLib.h | 39 +
.../DxeTcgPhysicalPresenceLib.c | 55 +
SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf | 1 +
SecurityPkg/Tcg/TcgConfigDxe/TcgConfigImpl.c | 41 +-
17 files changed, 1785 insertions(+), 43 deletions(-)
create mode 100644 OvmfPkg/Include/Library/QemuPPI.h
create mode 100644 OvmfPkg/Library/TcgPhysicalPresenceLibNull/DxeTcgPhysicalPresenceLib.c
create mode 100644 OvmfPkg/Library/TcgPhysicalPresenceLibNull/DxeTcgPhysicalPresenceLib.inf
create mode 100644 OvmfPkg/Library/TcgPhysicalPresenceLibQemu/DxeTcgPhysicalPresenceLib.c
create mode 100644 OvmfPkg/Library/TcgPhysicalPresenceLibQemu/DxeTcgPhysicalPresenceLib.inf
create mode 100644 OvmfPkg/Library/TcgPhysicalPresenceLibQemu/PhysicalPresenceStrings.uni

--
2.31.1