On 03/09/18 14:09, marcandre.lur...@redhat.com wrote: > From: Marc-André Lureau <marcandre.lur...@redhat.com> > > The Tcg2ConfigPei module informs the firmware globally about the TPM > device type, by setting the PcdTpmInstanceGuid PCD to the appropriate > GUID value. The original module under SecurityPkg can perform device > detection, or read a cached value from a non-volatile UEFI variable. > > OvmfPkg's clone of the module only performs the TPM2 hardware detection. > > This is what the module does: > > - Check the QEMU hardware for TPM2 availability only > > - If found, set the dynamic PCD "PcdTpmInstanceGuid" to > &gEfiTpmDeviceInstanceTpm20DtpmGuid. This is what informs the rest of > the firmware about the TPM type. > > - Install the gEfiTpmDeviceSelectedGuid PPI. This action permits the > PEI_CORE to dispatch the Tcg2Pei module, which consumes the above PCD. > In effect, the gEfiTpmDeviceSelectedGuid PPI serializes the setting > and the consumption of the "TPM type" PCD. > > - If no TPM2 was found, install gPeiTpmInitializationDonePpiGuid. > (Normally this is performed by Tcg2Pei, but Tcg2Pei doesn't do it if > no TPM2 is available. So in that case our Tcg2ConfigPei must do it.) > > Cc: Laszlo Ersek <ler...@redhat.com> > Cc: Stefan Berger <stef...@linux.vnet.ibm.com> > Contributed-under: TianoCore Contribution Agreement 1.0 > Signed-off-by: Marc-André Lureau <marcandre.lur...@redhat.com> > --- > OvmfPkg/OvmfPkgIa32.dsc | 17 +++++ > OvmfPkg/OvmfPkgIa32.fdf | 4 ++ > OvmfPkg/OvmfPkgIa32X64.dsc | 17 +++++ > OvmfPkg/OvmfPkgIa32X64.fdf | 4 ++ > OvmfPkg/OvmfPkgX64.dsc | 17 +++++ > OvmfPkg/OvmfPkgX64.fdf | 4 ++ > OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf | 53 +++++++++++++++ > OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c | 84 ++++++++++++++++++++++++ > 8 files changed, 200 insertions(+) > create mode 100644 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf > create mode 100644 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c
Nice! Reviewed-by: Laszlo Ersek <ler...@redhat.com>