public inbox for devel@edk2.groups.io
 help / color / mirror / Atom feed
* [PATCH v4 0/5] Ovmf: enable TPM 1.2
@ 2020-02-26 15:24 marcandre.lureau
  2020-02-26 15:24 ` [PATCH v4 1/5] OvmfPkg: rename TPM2 config prefix to TPM marcandre.lureau
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: marcandre.lureau @ 2020-02-26 15:24 UTC (permalink / raw)
  To: devel; +Cc: lersek, simon.hardy, stefanb, Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

The following patches add basic TPM 1.2 support for Ovmf/QEMU.

Tested successfully Win10 with TIS/TPM 1.2 & CRB/TPM 2.0 passthrough,
and emulated CRB/TPM 2.0.

Git branch: https://github.com/elmarco/edk2.git tpm1

v4:
 - misc style changes
 - drop "OvmfPkg: add TCG Configuration menu to the Device Manager menu" patch
 - add r-b tags

v3:
 - send a TPM 1.2 command to test TPM version
 - split the "Ovmf: enable TPM 1.2 support" patch, mirroring the TPM
   2.0 commits

Marc-André Lureau (5):
  OvmfPkg: rename TPM2 config prefix to TPM
  OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei
  OvmfPkg: include TcgPei module
  OvmfPkg: include TcgDxe module
  OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe

 OvmfPkg/OvmfPkgIa32.dsc                  | 33 ++++++----
 OvmfPkg/OvmfPkgIa32.fdf                  | 10 +--
 OvmfPkg/OvmfPkgIa32X64.dsc               | 33 ++++++----
 OvmfPkg/OvmfPkgIa32X64.fdf               | 10 +--
 OvmfPkg/OvmfPkgX64.dsc                   | 33 ++++++----
 OvmfPkg/OvmfPkgX64.fdf                   | 10 +--
 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf |  3 +
 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c  | 82 +++++++++++++++++++-----
 8 files changed, 151 insertions(+), 63 deletions(-)

-- 
2.25.0.rc2.1.g09a9a1a997


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH v4 1/5] OvmfPkg: rename TPM2 config prefix to TPM
  2020-02-26 15:24 [PATCH v4 0/5] Ovmf: enable TPM 1.2 marcandre.lureau
@ 2020-02-26 15:24 ` marcandre.lureau
  2020-02-26 15:24 ` [PATCH v4 2/5] OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei marcandre.lureau
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2020-02-26 15:24 UTC (permalink / raw)
  To: devel; +Cc: lersek, simon.hardy, stefanb, Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

A following patch is going to use the same configuration for TPM1.2
and TPM2.0, and it's simpler to support both than variable
configurations.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---
 OvmfPkg/OvmfPkgIa32.dsc    | 24 ++++++++++++------------
 OvmfPkg/OvmfPkgIa32.fdf    |  8 ++++----
 OvmfPkg/OvmfPkgIa32X64.dsc | 24 ++++++++++++------------
 OvmfPkg/OvmfPkgIa32X64.fdf |  8 ++++----
 OvmfPkg/OvmfPkgX64.dsc     | 24 ++++++++++++------------
 OvmfPkg/OvmfPkgX64.fdf     |  8 ++++----
 6 files changed, 48 insertions(+), 48 deletions(-)

diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index 19728f20b34e..38b013ad9543 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -31,8 +31,8 @@
   DEFINE SECURE_BOOT_ENABLE      = FALSE
   DEFINE SMM_REQUIRE             = FALSE
   DEFINE SOURCE_DEBUG_ENABLE     = FALSE
-  DEFINE TPM2_ENABLE             = FALSE
-  DEFINE TPM2_CONFIG_ENABLE      = FALSE
+  DEFINE TPM_ENABLE              = FALSE
+  DEFINE TPM_CONFIG_ENABLE       = FALSE
 
   #
   # Network definition
@@ -205,7 +205,7 @@
   XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
   XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
   Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
   Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
@@ -279,7 +279,7 @@
   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
 !endif
@@ -360,7 +360,7 @@
   PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
 !endif
 
@@ -575,12 +575,12 @@
 
   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
 !endif
 
 [PcdsDynamicHii]
-!if $(TPM2_ENABLE) == TRUE && $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
   gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
 !endif
@@ -631,7 +631,7 @@
 !endif
   UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
     <LibraryClasses>
@@ -667,7 +667,7 @@
 !if $(SECURE_BOOT_ENABLE) == TRUE
       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
 !endif
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
       NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
 !endif
   }
@@ -910,9 +910,9 @@
 !endif
 
   #
-  # TPM2 support
+  # TPM support
   #
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
     <LibraryClasses>
       Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
@@ -924,7 +924,7 @@
       NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
       NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
   }
-!if $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_CONFIG_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
 !endif
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index 63607551ed75..2c7d6cccdfb0 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -159,7 +159,7 @@ INF  OvmfPkg/SmmAccess/SmmAccessPei.inf
 !endif
 INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
 INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
 INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
 !endif
@@ -344,11 +344,11 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
 !endif
 
 #
-# TPM2 support
+# TPM support
 #
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
-!if $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_CONFIG_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
 !endif
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 3c0c229e3a72..e075f0766935 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -31,8 +31,8 @@
   DEFINE SECURE_BOOT_ENABLE      = FALSE
   DEFINE SMM_REQUIRE             = FALSE
   DEFINE SOURCE_DEBUG_ENABLE     = FALSE
-  DEFINE TPM2_ENABLE             = FALSE
-  DEFINE TPM2_CONFIG_ENABLE      = FALSE
+  DEFINE TPM_ENABLE              = FALSE
+  DEFINE TPM_CONFIG_ENABLE       = FALSE
 
   #
   # Network definition
@@ -210,7 +210,7 @@
   XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
   XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
   Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
   Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
@@ -284,7 +284,7 @@
   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
 !endif
@@ -365,7 +365,7 @@
   PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
 !endif
 
@@ -587,12 +587,12 @@
 
   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
 !endif
 
 [PcdsDynamicHii]
-!if $(TPM2_ENABLE) == TRUE && $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
   gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
 !endif
@@ -643,7 +643,7 @@
 !endif
   UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
     <LibraryClasses>
@@ -680,7 +680,7 @@
 !if $(SECURE_BOOT_ENABLE) == TRUE
       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
 !endif
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
       NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
 !endif
   }
@@ -924,9 +924,9 @@
 !endif
 
   #
-  # TPM2 support
+  # TPM support
   #
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
     <LibraryClasses>
       Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
@@ -938,7 +938,7 @@
       NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
       NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
   }
-!if $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_CONFIG_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
 !endif
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 0488e5d95ffe..6a4c9089ab58 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -159,7 +159,7 @@ INF  OvmfPkg/SmmAccess/SmmAccessPei.inf
 !endif
 INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
 INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
 INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
 !endif
@@ -351,11 +351,11 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
 !endif
 
 #
-# TPM2 support
+# TPM support
 #
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
-!if $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_CONFIG_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
 !endif
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index f6c1d8d228c6..3b1ebf123b51 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -31,8 +31,8 @@
   DEFINE SECURE_BOOT_ENABLE      = FALSE
   DEFINE SMM_REQUIRE             = FALSE
   DEFINE SOURCE_DEBUG_ENABLE     = FALSE
-  DEFINE TPM2_ENABLE             = FALSE
-  DEFINE TPM2_CONFIG_ENABLE      = FALSE
+  DEFINE TPM_ENABLE              = FALSE
+  DEFINE TPM_CONFIG_ENABLE       = FALSE
 
   #
   # Network definition
@@ -210,7 +210,7 @@
   XenHypercallLib|OvmfPkg/Library/XenHypercallLib/XenHypercallLib.inf
   XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
   Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
   Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
@@ -284,7 +284,7 @@
   PcdLib|MdePkg/Library/PeiPcdLib/PeiPcdLib.inf
   QemuFwCfgLib|OvmfPkg/Library/QemuFwCfgLib/QemuFwCfgPeiLib.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
 !endif
@@ -365,7 +365,7 @@
   PciLib|OvmfPkg/Library/DxePciLibI440FxQ35/DxePciLibI440FxQ35.inf
   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
 !endif
 
@@ -586,12 +586,12 @@
 
   gEfiSecurityPkgTokenSpaceGuid.PcdOptionRomImageVerificationPolicy|0x00
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}
 !endif
 
 [PcdsDynamicHii]
-!if $(TPM2_ENABLE) == TRUE && $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE && $(TPM_CONFIG_ENABLE) == TRUE
   gEfiSecurityPkgTokenSpaceGuid.PcdTcgPhysicalPresenceInterfaceVer|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x0|"1.3"|NV,BS
   gEfiSecurityPkgTokenSpaceGuid.PcdTpm2AcpiTableRev|L"TCG2_VERSION"|gTcg2ConfigFormSetGuid|0x8|3|NV,BS
 !endif
@@ -642,7 +642,7 @@
 !endif
   UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
     <LibraryClasses>
@@ -678,7 +678,7 @@
 !if $(SECURE_BOOT_ENABLE) == TRUE
       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
 !endif
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
       NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
 !endif
   }
@@ -922,9 +922,9 @@
 !endif
 
   #
-  # TPM2 support
+  # TPM support
   #
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {
     <LibraryClasses>
       Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf
@@ -936,7 +936,7 @@
       NULL|SecurityPkg/Library/HashInstanceLibSha512/HashInstanceLibSha512.inf
       NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf
   }
-!if $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_CONFIG_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
 !endif
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 0488e5d95ffe..6a4c9089ab58 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -159,7 +159,7 @@ INF  OvmfPkg/SmmAccess/SmmAccessPei.inf
 !endif
 INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
 INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
 INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
 !endif
@@ -351,11 +351,11 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
 !endif
 
 #
-# TPM2 support
+# TPM support
 #
-!if $(TPM2_ENABLE) == TRUE
+!if $(TPM_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
-!if $(TPM2_CONFIG_ENABLE) == TRUE
+!if $(TPM_CONFIG_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
 !endif
-- 
2.25.0.rc2.1.g09a9a1a997


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v4 2/5] OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei
  2020-02-26 15:24 [PATCH v4 0/5] Ovmf: enable TPM 1.2 marcandre.lureau
  2020-02-26 15:24 ` [PATCH v4 1/5] OvmfPkg: rename TPM2 config prefix to TPM marcandre.lureau
@ 2020-02-26 15:24 ` marcandre.lureau
  2020-02-26 15:24 ` [PATCH v4 3/5] OvmfPkg: include TcgPei module marcandre.lureau
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2020-02-26 15:24 UTC (permalink / raw)
  To: devel; +Cc: lersek, simon.hardy, stefanb, Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Complement commit 6cf1880fb5b ("OvmfPkg: add customized Tcg2ConfigPei
clone", 2018-03-09) by detecting TPM 1.2 devices.

Since Tpm12RequestUseTpm() returns success on any TPM interface,
(including FIFO & CRB which are TPM 2.0), try to send a GetTicks TPM
1.2 command to probe the version. In case of failure, fallback on TPM
2.0 path.

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
Reviewed-by: Stefan Berger <stefanb@linux.ibm.com>
---
 OvmfPkg/OvmfPkgIa32.dsc                  |  2 +
 OvmfPkg/OvmfPkgIa32X64.dsc               |  2 +
 OvmfPkg/OvmfPkgX64.dsc                   |  2 +
 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf |  3 +
 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c  | 82 +++++++++++++++++++-----
 5 files changed, 76 insertions(+), 15 deletions(-)

diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index 38b013ad9543..293e95a2ae81 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -206,6 +206,7 @@
   XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
 
 !if $(TPM_ENABLE) == TRUE
+  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
   Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
   Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
@@ -281,6 +282,7 @@
 
 !if $(TPM_ENABLE) == TRUE
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
+  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
 !endif
 
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index e075f0766935..5cfa3fc849fe 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -211,6 +211,7 @@
   XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
 
 !if $(TPM_ENABLE) == TRUE
+  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
   Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
   Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
@@ -286,6 +287,7 @@
 
 !if $(TPM_ENABLE) == TRUE
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
+  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
 !endif
 
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 3b1ebf123b51..78481a62e021 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -211,6 +211,7 @@
   XenPlatformLib|OvmfPkg/Library/XenPlatformLib/XenPlatformLib.inf
 
 !if $(TPM_ENABLE) == TRUE
+  Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf
   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf
   Tcg2PhysicalPresenceLib|OvmfPkg/Library/Tcg2PhysicalPresenceLibQemu/DxeTcg2PhysicalPresenceLib.inf
   Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf
@@ -286,6 +287,7 @@
 
 !if $(TPM_ENABLE) == TRUE
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/PeiCryptLib.inf
+  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2DeviceLibDTpm.inf
 !endif
 
diff --git a/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf b/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
index e34cd6210611..f380b86b5d89 100644
--- a/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
+++ b/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
@@ -31,11 +31,14 @@
   PeimEntryPoint
   DebugLib
   PeiServicesLib
+  Tpm12CommandLib
+  Tpm12DeviceLib
   Tpm2DeviceLib
 
 [Guids]
   gEfiTpmDeviceSelectedGuid           ## PRODUCES ## GUID # Used as a PPI GUID
   gEfiTpmDeviceInstanceTpm20DtpmGuid  ## SOMETIMES_CONSUMES
+  gEfiTpmDeviceInstanceTpm12Guid      ## SOMETIMES_CONSUMES
 
 [Ppis]
   gPeiTpmInitializationDonePpiGuid    ## SOMETIMES_PRODUCES
diff --git a/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c b/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c
index 99d571d9fa6d..5b5075bded92 100644
--- a/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c
+++ b/OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c
@@ -18,6 +18,8 @@
 #include <Library/DebugLib.h>
 #include <Library/PeiServicesLib.h>
 #include <Library/Tpm2DeviceLib.h>
+#include <Library/Tpm12DeviceLib.h>
+#include <Library/Tpm12CommandLib.h>
 #include <Ppi/TpmInitialized.h>
 
 STATIC CONST EFI_PEI_PPI_DESCRIPTOR mTpmSelectedPpi = {
@@ -32,6 +34,44 @@ STATIC CONST EFI_PEI_PPI_DESCRIPTOR  mTpmInitializationDonePpiList = {
   NULL
 };
 
+#pragma pack (1)
+
+typedef struct {
+  TPM_RSP_COMMAND_HDR   Hdr;
+  TPM_CURRENT_TICKS     CurrentTicks;
+} TPM_RSP_GET_TICKS;
+
+#pragma pack ()
+
+/**
+  Probe for the TPM for 1.2 version, by sending TPM1.2 GetTicks
+
+  Sending a TPM1.2 command to a TPM2 should return a TPM1.2
+  header (tag = 0xc4) and error code (TPM_BADTAG = 0x1e)
+**/
+static
+EFI_STATUS
+TestTpm12 (
+  )
+{
+  EFI_STATUS           Status;
+  TPM_RQU_COMMAND_HDR  Command;
+  TPM_RSP_GET_TICKS    Response;
+  UINT32               Length;
+
+  Command.tag       = SwapBytes16 (TPM_TAG_RQU_COMMAND);
+  Command.paramSize = SwapBytes32 (sizeof (Command));
+  Command.ordinal   = SwapBytes32 (TPM_ORD_GetTicks);
+
+  Length = sizeof (Response);
+  Status = Tpm12SubmitCommand (sizeof (Command), (UINT8 *)&Command, &Length, (UINT8 *)&Response);
+  if (EFI_ERROR (Status)) {
+    return Status;
+  }
+
+  return EFI_SUCCESS;
+}
+
 /**
   The entry point for Tcg2 configuration driver.
 
@@ -50,27 +90,39 @@ Tcg2ConfigPeimEntryPoint (
 
   DEBUG ((DEBUG_INFO, "%a\n", __FUNCTION__));
 
-  Status = Tpm2RequestUseTpm ();
-  if (!EFI_ERROR (Status)) {
-    DEBUG ((DEBUG_INFO, "%a: TPM2 detected\n", __FUNCTION__));
-    Size = sizeof (gEfiTpmDeviceInstanceTpm20DtpmGuid);
+  Status = Tpm12RequestUseTpm ();
+  if (!EFI_ERROR (Status) && !EFI_ERROR (TestTpm12 ())) {
+    DEBUG ((DEBUG_INFO, "%a: TPM1.2 detected\n", __FUNCTION__));
+    Size = sizeof (gEfiTpmDeviceInstanceTpm12Guid);
     Status = PcdSetPtrS (
                PcdTpmInstanceGuid,
                &Size,
-               &gEfiTpmDeviceInstanceTpm20DtpmGuid
+               &gEfiTpmDeviceInstanceTpm12Guid
                );
     ASSERT_EFI_ERROR (Status);
   } else {
-    DEBUG ((DEBUG_INFO, "%a: no TPM2 detected\n", __FUNCTION__));
-    //
-    // If no TPM2 was detected, we still need to install
-    // TpmInitializationDonePpi. Namely, Tcg2Pei will exit early upon seeing
-    // the default (all-bits-zero) contents of PcdTpmInstanceGuid, thus we have
-    // to install the PPI in its place, in order to unblock any dependent
-    // PEIMs.
-    //
-    Status = PeiServicesInstallPpi (&mTpmInitializationDonePpiList);
-    ASSERT_EFI_ERROR (Status);
+    Status = Tpm2RequestUseTpm ();
+    if (!EFI_ERROR (Status)) {
+      DEBUG ((DEBUG_INFO, "%a: TPM2 detected\n", __FUNCTION__));
+      Size = sizeof (gEfiTpmDeviceInstanceTpm20DtpmGuid);
+      Status = PcdSetPtrS (
+                 PcdTpmInstanceGuid,
+                 &Size,
+                 &gEfiTpmDeviceInstanceTpm20DtpmGuid
+                 );
+      ASSERT_EFI_ERROR (Status);
+    } else {
+      DEBUG ((DEBUG_INFO, "%a: no TPM detected\n", __FUNCTION__));
+      //
+      // If no TPM2 was detected, we still need to install
+      // TpmInitializationDonePpi. Namely, Tcg2Pei will exit early upon seeing
+      // the default (all-bits-zero) contents of PcdTpmInstanceGuid, thus we have
+      // to install the PPI in its place, in order to unblock any dependent
+      // PEIMs.
+      //
+      Status = PeiServicesInstallPpi (&mTpmInitializationDonePpiList);
+      ASSERT_EFI_ERROR (Status);
+    }
   }
 
   //
-- 
2.25.0.rc2.1.g09a9a1a997


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v4 3/5] OvmfPkg: include TcgPei module
  2020-02-26 15:24 [PATCH v4 0/5] Ovmf: enable TPM 1.2 marcandre.lureau
  2020-02-26 15:24 ` [PATCH v4 1/5] OvmfPkg: rename TPM2 config prefix to TPM marcandre.lureau
  2020-02-26 15:24 ` [PATCH v4 2/5] OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei marcandre.lureau
@ 2020-02-26 15:24 ` marcandre.lureau
  2020-02-26 15:24 ` [PATCH v4 4/5] OvmfPkg: include TcgDxe module marcandre.lureau
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2020-02-26 15:24 UTC (permalink / raw)
  To: devel; +Cc: lersek, simon.hardy, stefanb, Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Mirrors TPM 2.0 commit 4672a4892867 ("OvmfPkg: include Tcg2Pei
module", 2018-03-09).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---
 OvmfPkg/OvmfPkgIa32.dsc    | 1 +
 OvmfPkg/OvmfPkgIa32.fdf    | 1 +
 OvmfPkg/OvmfPkgIa32X64.dsc | 1 +
 OvmfPkg/OvmfPkgIa32X64.fdf | 1 +
 OvmfPkg/OvmfPkgX64.dsc     | 1 +
 OvmfPkg/OvmfPkgX64.fdf     | 1 +
 6 files changed, 6 insertions(+)

diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index 293e95a2ae81..467de6860e1d 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -635,6 +635,7 @@
 
 !if $(TPM_ENABLE) == TRUE
   OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
+  SecurityPkg/Tcg/TcgPei/TcgPei.inf
   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
     <LibraryClasses>
       HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index 2c7d6cccdfb0..e851598f9b01 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -161,6 +161,7 @@ INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
 !if $(TPM_ENABLE) == TRUE
 INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
+INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
 INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
 !endif
 
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 5cfa3fc849fe..a6372c3729ef 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -647,6 +647,7 @@
 
 !if $(TPM_ENABLE) == TRUE
   OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
+  SecurityPkg/Tcg/TcgPei/TcgPei.inf
   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
     <LibraryClasses>
       HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 6a4c9089ab58..1e7a77d35c0f 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -161,6 +161,7 @@ INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
 !if $(TPM_ENABLE) == TRUE
 INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
+INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
 INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
 !endif
 
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 78481a62e021..5daf8b2bc835 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -646,6 +646,7 @@
 
 !if $(TPM_ENABLE) == TRUE
   OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
+  SecurityPkg/Tcg/TcgPei/TcgPei.inf
   SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf {
     <LibraryClasses>
       HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterPei.inf
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 6a4c9089ab58..1e7a77d35c0f 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -161,6 +161,7 @@ INF  UefiCpuPkg/CpuMpPei/CpuMpPei.inf
 
 !if $(TPM_ENABLE) == TRUE
 INF  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf
+INF  SecurityPkg/Tcg/TcgPei/TcgPei.inf
 INF  SecurityPkg/Tcg/Tcg2Pei/Tcg2Pei.inf
 !endif
 
-- 
2.25.0.rc2.1.g09a9a1a997


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v4 4/5] OvmfPkg: include TcgDxe module
  2020-02-26 15:24 [PATCH v4 0/5] Ovmf: enable TPM 1.2 marcandre.lureau
                   ` (2 preceding siblings ...)
  2020-02-26 15:24 ` [PATCH v4 3/5] OvmfPkg: include TcgPei module marcandre.lureau
@ 2020-02-26 15:24 ` marcandre.lureau
  2020-02-26 15:24 ` [PATCH v4 5/5] OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe marcandre.lureau
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2020-02-26 15:24 UTC (permalink / raw)
  To: devel; +Cc: lersek, simon.hardy, stefanb, Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Mirrors TPM 2.0 commit 0c0a50d6b3ff ("OvmfPkg: include Tcg2Dxe
module", 2018-03-09).

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---
 OvmfPkg/OvmfPkgIa32.dsc    | 5 +++++
 OvmfPkg/OvmfPkgIa32.fdf    | 1 +
 OvmfPkg/OvmfPkgIa32X64.dsc | 5 +++++
 OvmfPkg/OvmfPkgIa32X64.fdf | 1 +
 OvmfPkg/OvmfPkgX64.dsc     | 5 +++++
 OvmfPkg/OvmfPkgX64.fdf     | 1 +
 6 files changed, 18 insertions(+)

diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index 467de6860e1d..11ae66109bc3 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -363,6 +363,7 @@
   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
 !if $(TPM_ENABLE) == TRUE
+  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
 !endif
 
@@ -930,4 +931,8 @@
 !if $(TPM_CONFIG_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
+  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
+    <LibraryClasses>
+      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
+  }
 !endif
diff --git a/OvmfPkg/OvmfPkgIa32.fdf b/OvmfPkg/OvmfPkgIa32.fdf
index e851598f9b01..b0ddc5a4ae73 100644
--- a/OvmfPkg/OvmfPkgIa32.fdf
+++ b/OvmfPkg/OvmfPkgIa32.fdf
@@ -348,6 +348,7 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
 # TPM support
 #
 !if $(TPM_ENABLE) == TRUE
+INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
 INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
 !if $(TPM_CONFIG_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index a6372c3729ef..16a3ae1fdda1 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -368,6 +368,7 @@
   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
 !if $(TPM_ENABLE) == TRUE
+  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
 !endif
 
@@ -944,4 +945,8 @@
 !if $(TPM_CONFIG_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
+  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
+    <LibraryClasses>
+      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
+  }
 !endif
diff --git a/OvmfPkg/OvmfPkgIa32X64.fdf b/OvmfPkg/OvmfPkgIa32X64.fdf
index 1e7a77d35c0f..dffbfaa5fc4f 100644
--- a/OvmfPkg/OvmfPkgIa32X64.fdf
+++ b/OvmfPkg/OvmfPkgIa32X64.fdf
@@ -355,6 +355,7 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
 # TPM support
 #
 !if $(TPM_ENABLE) == TRUE
+INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
 INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
 !if $(TPM_CONFIG_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 5daf8b2bc835..164f74e438bb 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -368,6 +368,7 @@
   MpInitLib|UefiCpuPkg/Library/MpInitLib/DxeMpInitLib.inf
   QemuFwCfgS3Lib|OvmfPkg/Library/QemuFwCfgS3Lib/DxeQemuFwCfgS3LibFwCfg.inf
 !if $(TPM_ENABLE) == TRUE
+  Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf
   Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf
 !endif
 
@@ -942,4 +943,8 @@
 !if $(TPM_CONFIG_ENABLE) == TRUE
   SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
 !endif
+  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf {
+    <LibraryClasses>
+      Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf
+  }
 !endif
diff --git a/OvmfPkg/OvmfPkgX64.fdf b/OvmfPkg/OvmfPkgX64.fdf
index 1e7a77d35c0f..dffbfaa5fc4f 100644
--- a/OvmfPkg/OvmfPkgX64.fdf
+++ b/OvmfPkg/OvmfPkgX64.fdf
@@ -355,6 +355,7 @@ INF  MdeModulePkg/Universal/Variable/RuntimeDxe/VariableRuntimeDxe.inf
 # TPM support
 #
 !if $(TPM_ENABLE) == TRUE
+INF  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf
 INF  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf
 !if $(TPM_CONFIG_ENABLE) == TRUE
 INF  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf
-- 
2.25.0.rc2.1.g09a9a1a997


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH v4 5/5] OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe
  2020-02-26 15:24 [PATCH v4 0/5] Ovmf: enable TPM 1.2 marcandre.lureau
                   ` (3 preceding siblings ...)
  2020-02-26 15:24 ` [PATCH v4 4/5] OvmfPkg: include TcgDxe module marcandre.lureau
@ 2020-02-26 15:24 ` marcandre.lureau
  2020-02-28 15:44 ` [PATCH v4 0/5] Ovmf: enable TPM 1.2 Simon Hardy
  2020-03-04 12:24 ` [edk2-devel] " Laszlo Ersek
  6 siblings, 0 replies; 10+ messages in thread
From: marcandre.lureau @ 2020-02-26 15:24 UTC (permalink / raw)
  To: devel; +Cc: lersek, simon.hardy, stefanb, Marc-André Lureau

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Mirrors TPM 2.0 commit d5a002aba0aa ("OvmfPkg: plug
DxeTpm2MeasureBootLib into SecurityStubDxe", 2018-03-09)

Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
---
 OvmfPkg/OvmfPkgIa32.dsc    | 1 +
 OvmfPkg/OvmfPkgIa32X64.dsc | 1 +
 OvmfPkg/OvmfPkgX64.dsc     | 1 +
 3 files changed, 3 insertions(+)

diff --git a/OvmfPkg/OvmfPkgIa32.dsc b/OvmfPkg/OvmfPkgIa32.dsc
index 11ae66109bc3..2fc10d2393e3 100644
--- a/OvmfPkg/OvmfPkgIa32.dsc
+++ b/OvmfPkg/OvmfPkgIa32.dsc
@@ -672,6 +672,7 @@
       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
 !endif
 !if $(TPM_ENABLE) == TRUE
+      NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
       NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
 !endif
   }
diff --git a/OvmfPkg/OvmfPkgIa32X64.dsc b/OvmfPkg/OvmfPkgIa32X64.dsc
index 16a3ae1fdda1..cd9d2ac724ca 100644
--- a/OvmfPkg/OvmfPkgIa32X64.dsc
+++ b/OvmfPkg/OvmfPkgIa32X64.dsc
@@ -685,6 +685,7 @@
       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
 !endif
 !if $(TPM_ENABLE) == TRUE
+      NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
       NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
 !endif
   }
diff --git a/OvmfPkg/OvmfPkgX64.dsc b/OvmfPkg/OvmfPkgX64.dsc
index 164f74e438bb..317a23b994b8 100644
--- a/OvmfPkg/OvmfPkgX64.dsc
+++ b/OvmfPkg/OvmfPkgX64.dsc
@@ -683,6 +683,7 @@
       NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf
 !endif
 !if $(TPM_ENABLE) == TRUE
+      NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf
       NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf
 !endif
   }
-- 
2.25.0.rc2.1.g09a9a1a997


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* Re: [PATCH v4 0/5] Ovmf: enable TPM 1.2
  2020-02-26 15:24 [PATCH v4 0/5] Ovmf: enable TPM 1.2 marcandre.lureau
                   ` (4 preceding siblings ...)
  2020-02-26 15:24 ` [PATCH v4 5/5] OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe marcandre.lureau
@ 2020-02-28 15:44 ` Simon Hardy
  2020-02-29  6:21   ` Laszlo Ersek
  2020-03-04 12:24 ` [edk2-devel] " Laszlo Ersek
  6 siblings, 1 reply; 10+ messages in thread
From: Simon Hardy @ 2020-02-28 15:44 UTC (permalink / raw)
  To: marcandre.lureau@redhat.com, devel@edk2.groups.io
  Cc: lersek@redhat.com, stefanb@linux.ibm.com

I have successfully tested this on a machine with TPM 1.2, using passthrough mode to enable Bitlocker on the Windows 10 guest.

-----Original Message-----
From: marcandre.lureau@redhat.com [mailto:marcandre.lureau@redhat.com] 
Sent: 26 February 2020 15:24
To: devel@edk2.groups.io
Cc: lersek@redhat.com; Simon Hardy <simon.hardy@itdev.co.uk>; stefanb@linux.ibm.com; Marc-André Lureau <marcandre.lureau@redhat.com>
Subject: [PATCH v4 0/5] Ovmf: enable TPM 1.2

From: Marc-André Lureau <marcandre.lureau@redhat.com>

Hi,

The following patches add basic TPM 1.2 support for Ovmf/QEMU.

Tested successfully Win10 with TIS/TPM 1.2 & CRB/TPM 2.0 passthrough, and emulated CRB/TPM 2.0.

Git branch: https://github.com/elmarco/edk2.git tpm1

v4:
 - misc style changes
 - drop "OvmfPkg: add TCG Configuration menu to the Device Manager menu" patch
 - add r-b tags

v3:
 - send a TPM 1.2 command to test TPM version
 - split the "Ovmf: enable TPM 1.2 support" patch, mirroring the TPM
   2.0 commits

Marc-André Lureau (5):
  OvmfPkg: rename TPM2 config prefix to TPM
  OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei
  OvmfPkg: include TcgPei module
  OvmfPkg: include TcgDxe module
  OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe

 OvmfPkg/OvmfPkgIa32.dsc                  | 33 ++++++----
 OvmfPkg/OvmfPkgIa32.fdf                  | 10 +--
 OvmfPkg/OvmfPkgIa32X64.dsc               | 33 ++++++----
 OvmfPkg/OvmfPkgIa32X64.fdf               | 10 +--
 OvmfPkg/OvmfPkgX64.dsc                   | 33 ++++++----
 OvmfPkg/OvmfPkgX64.fdf                   | 10 +--
 OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf |  3 +  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c  | 82 +++++++++++++++++++-----
 8 files changed, 151 insertions(+), 63 deletions(-)

--
2.25.0.rc2.1.g09a9a1a997


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v4 0/5] Ovmf: enable TPM 1.2
  2020-02-28 15:44 ` [PATCH v4 0/5] Ovmf: enable TPM 1.2 Simon Hardy
@ 2020-02-29  6:21   ` Laszlo Ersek
  2020-03-02  9:20     ` Simon Hardy
  0 siblings, 1 reply; 10+ messages in thread
From: Laszlo Ersek @ 2020-02-29  6:21 UTC (permalink / raw)
  To: Simon Hardy, marcandre.lureau@redhat.com, devel@edk2.groups.io
  Cc: stefanb@linux.ibm.com

On 02/28/20 16:44, Simon Hardy wrote:
> I have successfully tested this on a machine with TPM 1.2, using passthrough mode to enable Bitlocker on the Windows 10 guest.

Thank you, Simon!

Can I take it as:

Tested-by: Simon Hardy <simon.hardy@itdev.co.uk>

for the whole series?

Thanks!
Laszlo

> 
> -----Original Message-----
> From: marcandre.lureau@redhat.com [mailto:marcandre.lureau@redhat.com] 
> Sent: 26 February 2020 15:24
> To: devel@edk2.groups.io
> Cc: lersek@redhat.com; Simon Hardy <simon.hardy@itdev.co.uk>; stefanb@linux.ibm.com; Marc-André Lureau <marcandre.lureau@redhat.com>
> Subject: [PATCH v4 0/5] Ovmf: enable TPM 1.2
> 
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Hi,
> 
> The following patches add basic TPM 1.2 support for Ovmf/QEMU.
> 
> Tested successfully Win10 with TIS/TPM 1.2 & CRB/TPM 2.0 passthrough, and emulated CRB/TPM 2.0.
> 
> Git branch: https://github.com/elmarco/edk2.git tpm1
> 
> v4:
>  - misc style changes
>  - drop "OvmfPkg: add TCG Configuration menu to the Device Manager menu" patch
>  - add r-b tags
> 
> v3:
>  - send a TPM 1.2 command to test TPM version
>  - split the "Ovmf: enable TPM 1.2 support" patch, mirroring the TPM
>    2.0 commits
> 
> Marc-André Lureau (5):
>   OvmfPkg: rename TPM2 config prefix to TPM
>   OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei
>   OvmfPkg: include TcgPei module
>   OvmfPkg: include TcgDxe module
>   OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe
> 
>  OvmfPkg/OvmfPkgIa32.dsc                  | 33 ++++++----
>  OvmfPkg/OvmfPkgIa32.fdf                  | 10 +--
>  OvmfPkg/OvmfPkgIa32X64.dsc               | 33 ++++++----
>  OvmfPkg/OvmfPkgIa32X64.fdf               | 10 +--
>  OvmfPkg/OvmfPkgX64.dsc                   | 33 ++++++----
>  OvmfPkg/OvmfPkgX64.fdf                   | 10 +--
>  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf |  3 +  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c  | 82 +++++++++++++++++++-----
>  8 files changed, 151 insertions(+), 63 deletions(-)
> 
> --
> 2.25.0.rc2.1.g09a9a1a997
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH v4 0/5] Ovmf: enable TPM 1.2
  2020-02-29  6:21   ` Laszlo Ersek
@ 2020-03-02  9:20     ` Simon Hardy
  0 siblings, 0 replies; 10+ messages in thread
From: Simon Hardy @ 2020-03-02  9:20 UTC (permalink / raw)
  To: Laszlo Ersek, marcandre.lureau@redhat.com, devel@edk2.groups.io
  Cc: stefanb@linux.ibm.com

Yes, that seems appropriate.

-----Original Message-----
From: Laszlo Ersek [mailto:lersek@redhat.com] 
Sent: 29 February 2020 06:22
To: Simon Hardy <simon.hardy@itdev.co.uk>; marcandre.lureau@redhat.com; devel@edk2.groups.io
Cc: stefanb@linux.ibm.com
Subject: Re: [PATCH v4 0/5] Ovmf: enable TPM 1.2

On 02/28/20 16:44, Simon Hardy wrote:
> I have successfully tested this on a machine with TPM 1.2, using passthrough mode to enable Bitlocker on the Windows 10 guest.

Thank you, Simon!

Can I take it as:

Tested-by: Simon Hardy <simon.hardy@itdev.co.uk>

for the whole series?

Thanks!
Laszlo

> 
> -----Original Message-----
> From: marcandre.lureau@redhat.com [mailto:marcandre.lureau@redhat.com] 
> Sent: 26 February 2020 15:24
> To: devel@edk2.groups.io
> Cc: lersek@redhat.com; Simon Hardy <simon.hardy@itdev.co.uk>; stefanb@linux.ibm.com; Marc-André Lureau <marcandre.lureau@redhat.com>
> Subject: [PATCH v4 0/5] Ovmf: enable TPM 1.2
> 
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Hi,
> 
> The following patches add basic TPM 1.2 support for Ovmf/QEMU.
> 
> Tested successfully Win10 with TIS/TPM 1.2 & CRB/TPM 2.0 passthrough, and emulated CRB/TPM 2.0.
> 
> Git branch: https://github.com/elmarco/edk2.git tpm1
> 
> v4:
>  - misc style changes
>  - drop "OvmfPkg: add TCG Configuration menu to the Device Manager menu" patch
>  - add r-b tags
> 
> v3:
>  - send a TPM 1.2 command to test TPM version
>  - split the "Ovmf: enable TPM 1.2 support" patch, mirroring the TPM
>    2.0 commits
> 
> Marc-André Lureau (5):
>   OvmfPkg: rename TPM2 config prefix to TPM
>   OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei
>   OvmfPkg: include TcgPei module
>   OvmfPkg: include TcgDxe module
>   OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe
> 
>  OvmfPkg/OvmfPkgIa32.dsc                  | 33 ++++++----
>  OvmfPkg/OvmfPkgIa32.fdf                  | 10 +--
>  OvmfPkg/OvmfPkgIa32X64.dsc               | 33 ++++++----
>  OvmfPkg/OvmfPkgIa32X64.fdf               | 10 +--
>  OvmfPkg/OvmfPkgX64.dsc                   | 33 ++++++----
>  OvmfPkg/OvmfPkgX64.fdf                   | 10 +--
>  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf |  3 +  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c  | 82 +++++++++++++++++++-----
>  8 files changed, 151 insertions(+), 63 deletions(-)
> 
> --
> 2.25.0.rc2.1.g09a9a1a997
> 


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [edk2-devel] [PATCH v4 0/5] Ovmf: enable TPM 1.2
  2020-02-26 15:24 [PATCH v4 0/5] Ovmf: enable TPM 1.2 marcandre.lureau
                   ` (5 preceding siblings ...)
  2020-02-28 15:44 ` [PATCH v4 0/5] Ovmf: enable TPM 1.2 Simon Hardy
@ 2020-03-04 12:24 ` Laszlo Ersek
  6 siblings, 0 replies; 10+ messages in thread
From: Laszlo Ersek @ 2020-03-04 12:24 UTC (permalink / raw)
  To: devel, marcandre.lureau; +Cc: simon.hardy, stefanb

On 02/26/20 16:24, marcandre.lureau@redhat.com wrote:
> From: Marc-André Lureau <marcandre.lureau@redhat.com>
> 
> Hi,
> 
> The following patches add basic TPM 1.2 support for Ovmf/QEMU.
> 
> Tested successfully Win10 with TIS/TPM 1.2 & CRB/TPM 2.0 passthrough,
> and emulated CRB/TPM 2.0.
> 
> Git branch: https://github.com/elmarco/edk2.git tpm1
> 
> v4:
>  - misc style changes
>  - drop "OvmfPkg: add TCG Configuration menu to the Device Manager menu" patch
>  - add r-b tags
> 
> v3:
>  - send a TPM 1.2 command to test TPM version
>  - split the "Ovmf: enable TPM 1.2 support" patch, mirroring the TPM
>    2.0 commits
> 
> Marc-André Lureau (5):
>   OvmfPkg: rename TPM2 config prefix to TPM
>   OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei
>   OvmfPkg: include TcgPei module
>   OvmfPkg: include TcgDxe module
>   OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe
> 
>  OvmfPkg/OvmfPkgIa32.dsc                  | 33 ++++++----
>  OvmfPkg/OvmfPkgIa32.fdf                  | 10 +--
>  OvmfPkg/OvmfPkgIa32X64.dsc               | 33 ++++++----
>  OvmfPkg/OvmfPkgIa32X64.fdf               | 10 +--
>  OvmfPkg/OvmfPkgX64.dsc                   | 33 ++++++----
>  OvmfPkg/OvmfPkgX64.fdf                   | 10 +--
>  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPei.inf |  3 +
>  OvmfPkg/Tcg/Tcg2Config/Tcg2ConfigPeim.c  | 82 +++++++++++++++++++-----
>  8 files changed, 151 insertions(+), 63 deletions(-)
> 

Merged as commit range ecb30848fdc9..61d3b2d4279e, via
<https://github.com/tianocore/edk2/pull/416/>.

Thanks,
Laszlo


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-03-04 12:24 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-02-26 15:24 [PATCH v4 0/5] Ovmf: enable TPM 1.2 marcandre.lureau
2020-02-26 15:24 ` [PATCH v4 1/5] OvmfPkg: rename TPM2 config prefix to TPM marcandre.lureau
2020-02-26 15:24 ` [PATCH v4 2/5] OvmfPkg: detect TPM 1.2 in Tcg2ConfigPei marcandre.lureau
2020-02-26 15:24 ` [PATCH v4 3/5] OvmfPkg: include TcgPei module marcandre.lureau
2020-02-26 15:24 ` [PATCH v4 4/5] OvmfPkg: include TcgDxe module marcandre.lureau
2020-02-26 15:24 ` [PATCH v4 5/5] OvmfPkg: plug DxeTpmMeasureBootLib into SecurityStubDxe marcandre.lureau
2020-02-28 15:44 ` [PATCH v4 0/5] Ovmf: enable TPM 1.2 Simon Hardy
2020-02-29  6:21   ` Laszlo Ersek
2020-03-02  9:20     ` Simon Hardy
2020-03-04 12:24 ` [edk2-devel] " Laszlo Ersek

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox