[PATCH v3 0/9] ArmVirtPkg: implement measured boot for ArmVirtQemu


Ard Biesheuvel
 

Wire up the various existing pieces so that we can implement measured
boot on ArmVirtQemu based on the TPM support in QEMU, just like it has
been implemented for x86 in OvmfPkg.

The main difference is that on ARM, we first need to discover the TPM base
address from the device tree provided by QEMU, as well as the PSCI method
used to perform a cold reset.

Changes since v2:
- add Laszlo's ack to patches #2 and #4
- add PcdTpm2SupportEnabled PCD declarations to all individual platforms in
ArmVirtPkg, even though only ArmVirtQemu really needs it
- split patch #5 into several patches

Changes since v1:
- use a separate ResetSystemLib instance based on on-demand parsing of the
DT, and expose it via the ResetSystem PPI to other client PEIMs
- add Laszlo's ack to #1
- incorporate Laszlo's review feedback across the board

Code can also be found at:
https://github.com/ardbiesheuvel/edk2/tree/armvirt-tpm

Cc: lersek@redhat.com
Cc: eric.auger@redhat.com
Cc: philmd@redhat.com
Cc: marcandre.lureau@redhat.com
Cc: stefanb@linux.ibm.com
Cc: leif@nuviainc.com

Ard Biesheuvel (9):
OvmfPkg/Tcg2ConfigPei: introduce a signalling PPI to depex on
ArmVirtPkg/PlatformPeiLib: make PcdLib dependency explicit in .INF
ArmVirtPkg/PlatformPeiLib: discover the TPM base address from the DT
ArmVirtPkg: implement ArmVirtPsciResetSystemPeiLib
ArmVirtPkg/ArmVirtQemu: add ResetSystem PEIM for upcoming TPM2 support
ArmVirtPkg/ArmVirtQemu: enable TPM2 support in the PEI phase
ArmVirtPkg/ArmVirtQemu: enable the DXE phase TPM2 support module
ArmVirtPkg/ArmVirtQemu: enable the TPM2 configuration module
ArmVirtPkg/ArmVirtQemu: enable TPM2 based measured boot

ArmVirtPkg/ArmVirtPkg.dec | 6 +
ArmVirtPkg/ArmVirtQemu.dsc | 74 ++++++
ArmVirtPkg/ArmVirtQemu.fdf | 6 +
ArmVirtPkg/ArmVirtQemuFvMain.fdf.inc | 10 +
ArmVirtPkg/ArmVirtQemuKernel.dsc | 6 +
ArmVirtPkg/ArmVirtXen.dsc | 6 +
.../ArmVirtPsciResetSystemPeiLib.c | 232 ++++++++++++++++++
.../ArmVirtPsciResetSystemPeiLib.inf | 39 +++
.../Library/PlatformPeiLib/PlatformPeiLib.c | 101 +++++++-
.../Library/PlatformPeiLib/PlatformPeiLib.inf | 20 +-
OvmfPkg/OvmfPkg.dec | 5 +
OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf | 6 +-
12 files changed, 496 insertions(+), 15 deletions(-)
create mode 100644 ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/ArmVirtPsciResetSystemPeiLib.c
create mode 100644 ArmVirtPkg/Library/ArmVirtPsciResetSystemPeiLib/ArmVirtPsciResetSystemPeiLib.inf

--
2.17.1

Join devel@edk2.groups.io to automatically receive all group messages.