>From Uefi UPL side

Currently, SPI have silicon dependency so native is not support on 
UniversalPayload, please use SECURITY_SUPPORT
+------------------------------+
| UefiUPL.elf                   |
+------------------------------+
| .upld_info                     |
+------------------------------+
| .upld.uefi_fv                |
+------------------------------+
| .upld.bds_fv                 |
+------------------------------+
| .upld.security_fv          |<------------ SECURITY_SUPPORT (Use this macro to 
decide include it or not and default value is false)
+------------------------------+

Thanks,
Gua

-----Original Message-----
From: Lakkimsetti, Subash <subash.lakkimse...@intel.com> 
Sent: Wednesday, March 22, 2023 1:59 PM
To: devel@edk2.groups.io
Cc: Lakkimsetti, Subash <subash.lakkimse...@intel.com>; Dong, Guo 
<guo.d...@intel.com>; Ni, Ray <ray...@intel.com>; Rhodes, Sean 
<sean@starlabs.systems>; Lu, James <james...@intel.com>; Guo, Gua 
<gua....@intel.com>; Rudolph, Patrick <patrick.rudo...@9elements.com>
Subject: [PATCH v1 5/6] Uefipayloadpkg Enable TPM measured boot

From: Subash Lakkimsetti <subash.lakkimse...@intel.com>

Update the packages to support TPM and measured boot in uefi payload.

Measured boot can be controoled using flag MEASURED_BOOT_ENABLE

Cc: Guo Dong <guo.d...@intel.com>
Cc: Ray Ni <ray...@intel.com>
Cc: Sean Rhodes <sean@starlabs.systems>
Cc: James Lu <james...@intel.com>
Cc: Gua Guo <gua....@intel.com>
Signed-off-by: Patrick Rudolph <patrick.rudo...@9elements.com>
Signed-off-by: Subash Lakkimsetti <subash.lakkimse...@intel.com>
---
 UefiPayloadPkg/UefiPayloadPkg.dsc | 88 +++++++++++++++++++++++++++++--  
UefiPayloadPkg/UefiPayloadPkg.fdf | 25 +++++++++
 2 files changed, 109 insertions(+), 4 deletions(-)

diff --git a/UefiPayloadPkg/UefiPayloadPkg.dsc 
b/UefiPayloadPkg/UefiPayloadPkg.dsc
index f31e5aac16..86612338bf 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.dsc
+++ b/UefiPayloadPkg/UefiPayloadPkg.dsc
@@ -46,6 +46,7 @@
   DEFINE NVME_ENABLE                  = TRUE    DEFINE SECURE_BOOT_ENABLE      
     = FALSE+  DEFINE MEASURED_BOOT_ENABLE         = FALSE    #   # NULL:    
NullMemoryTestDxe@@ -297,14 +298,27 @@
 !else   
AuthVariableLib|MdeModulePkg/Library/AuthVariableLibNull/AuthVariableLibNull.inf
 !endif-!if $(VARIABLE_SUPPORT) == "EMU"-  
TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf-!elseif
 $(VARIABLE_SUPPORT) == "SPI"-  
PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf+
  #+  # TPM+  #+!if $(MEASURED_BOOT_ENABLE) == TRUE+  
Tpm12CommandLib|SecurityPkg/Library/Tpm12CommandLib/Tpm12CommandLib.inf+  
Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibTcg/Tpm12DeviceLibTcg.inf+  
Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf+  
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf+  
Tcg2PhysicalPresenceLib|SecurityPkg/Library/DxeTcg2PhysicalPresenceLib/DxeTcg2PhysicalPresenceLib.inf+
  
Tcg2PpVendorLib|SecurityPkg/Library/Tcg2PpVendorLibNull/Tcg2PpVendorLibNull.inf 
  
TpmMeasurementLib|SecurityPkg/Library/DxeTpmMeasurementLib/DxeTpmMeasurementLib.inf+!else+
  
TpmMeasurementLib|MdeModulePkg/Library/TpmMeasurementLibNull/TpmMeasurementLibNull.inf+!endif+!if
 $(VARIABLE_SUPPORT) == "SPI"   
S3BootScriptLib|MdePkg/Library/BaseS3BootScriptLibNull/BaseS3BootScriptLibNull.inf+!endif+!if
 $(SECURE_BOOT_ENABLE) == TRUE || $(MEASURED_BOOT_ENABLE) == TRUE || 
$(VARIABLE_SUPPORT) == "SPI"   
MmUnblockMemoryLib|MdePkg/Library/MmUnblockMemoryLib/MmUnblockMemoryLibNull.inf 
!endif+  
PlatformSecureLib|SecurityPkg/Library/PlatformSecureLibNull/PlatformSecureLibNull.inf
   VarCheckLib|MdeModulePkg/Library/VarCheckLib/VarCheckLib.inf   
VariablePolicyLib|MdeModulePkg/Library/VariablePolicyLib/VariablePolicyLib.inf  
 
VariablePolicyHelperLib|MdeModulePkg/Library/VariablePolicyHelperLib/VariablePolicyHelperLib.inf@@
 -412,6 +426,10 @@
   BaseCryptLib|CryptoPkg/Library/BaseCryptLib/SmmCryptLib.inf !endif +!if 
$(MEASURED_BOOT_ENABLE) == TRUE+ 
Tcg2PhysicalPresenceLib|SecurityPkg/Library/SmmTcg2PhysicalPresenceLib/SmmTcg2PhysicalPresenceLib.inf+!endif+
 
################################################################################
 # # Pcd Section - list of all EDK II PCD Entries defined by this Platform.@@ 
-600,6 +618,13 @@
   gEfiSecurityPkgTokenSpaceGuid.PcdFirmwareDebuggerInitialized|FALSE   
gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid|{0x5a, 0xf2, 0x6b, 0x28, 0xc3, 
0xc2, 0x8c, 0x40, 0xb3, 0xb4, 0x25, 0xe6, 0x75, 0x8b, 0x73, 0x17} +!if 
$(MEASURED_BOOT_ENABLE) == TRUE++  # (BIT0 - SHA1. BIT1 - SHA256, BIT2 - 
SHA384, BIT3 - SHA512, BIT4 - SM3_256)+  
gEfiSecurityPkgTokenSpaceGuid.PcdTpm2HashMask|0x000000016+  
gEfiSecurityPkgTokenSpaceGuid.PcdTcg2HashAlgorithmBitmap|0x000000016+!endif+ 
################################################################################
 # # Components Section - list of all EDK II Modules needed by this Platform.@@ 
-680,6 +705,10 @@
     <LibraryClasses> !if $(SECURE_BOOT_ENABLE)       
NULL|SecurityPkg/Library/DxeImageVerificationLib/DxeImageVerificationLib.inf+!endif+!if
 $(MEASURED_BOOT_ENABLE) == TRUE+      
NULL|SecurityPkg/Library/DxeTpm2MeasureBootLib/DxeTpm2MeasureBootLib.inf+      
NULL|SecurityPkg/Library/DxeTpmMeasureBootLib/DxeTpmMeasureBootLib.inf !endif   
} !endif@@ -842,6 +871,57 @@
   
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf 
!endif +!if $(MEASURED_BOOT_ENABLE) == TRUE+  SecurityPkg/Tcg/TcgDxe/TcgDxe.inf 
{+    <LibraryClasses>+      
Tpm12DeviceLib|SecurityPkg/Library/Tpm12DeviceLibDTpm/Tpm12DeviceLibDTpm.inf+   
}++   SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf {+    <LibraryClasses>+     
 PcdLib|MdePkg/Library/DxePcdLib/DxePcdLib.inf+  }++!if $(SMM_SUPPORT) == TRUE+ 
 SecurityPkg/Tcg/TcgSmm/TcgSmm.inf {+    <LibraryClasses>+    
TcgPpVendorLib|SecurityPkg/Library/TcgPpVendorLibNull/TcgPpVendorLibNull.inf++  
}+!endif+  SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf {+  <LibraryClasses>+   
   Tpm2CommandLib|SecurityPkg/Library/Tpm2CommandLib/Tpm2CommandLib.inf+      
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf+
      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf+  
}+!if $(SMM_SUPPORT) == TRUE+  SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf {+    
<LibraryClasses>+      
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibTcg2/Tpm2DeviceLibTcg2.inf+  
}+!endif+  SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf {+    <LibraryClasses>+      
Tpm2DeviceLib|SecurityPkg/Library/Tpm2DeviceLibRouter/Tpm2DeviceLibRouterDxe.inf+
      
HashLib|SecurityPkg/Library/HashLibBaseCryptoRouter/HashLibBaseCryptoRouterDxe.inf+
      NULL|SecurityPkg/Library/Tpm2DeviceLibDTpm/Tpm2InstanceLibDTpm.inf+      
NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf+      
NULL|SecurityPkg/Library/HashInstanceLibSha256/HashInstanceLibSha256.inf+      
NULL|SecurityPkg/Library/HashInstanceLibSha384/HashInstanceLibSha384.inf+      
NULL|SecurityPkg/Library/HashInstanceLibSm3/HashInstanceLibSm3.inf+  }+  
SecurityPkg/Tcg/Tcg2Acpi/Tcg2Acpi.inf+  
SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {+    <LibraryClasses>+     
 
TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf+
  }+  SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf {+    
<LibraryClasses>+      
TpmPlatformHierarchyLib|SecurityPkg/Library/PeiDxeTpmPlatformHierarchyLib/PeiDxeTpmPlatformHierarchyLib.inf+
  }+!endif #MEASURED_BOOT_ENABLE+   #   # Misc   #diff --git 
a/UefiPayloadPkg/UefiPayloadPkg.fdf b/UefiPayloadPkg/UefiPayloadPkg.fdf
index b52e6c75a5..ed9d42b022 100644
--- a/UefiPayloadPkg/UefiPayloadPkg.fdf
+++ b/UefiPayloadPkg/UefiPayloadPkg.fdf
@@ -176,6 +176,21 @@ INF 
PcAtChipsetPkg/PcatRealTimeClockRuntimeDxe/PcatRealTimeClockRuntimeDxe.inf
   INF 
SecurityPkg/VariableAuthenticated/SecureBootConfigDxe/SecureBootConfigDxe.inf 
!endif +!if $(MEASURED_BOOT_ENABLE) == TRUE+  INF 
SecurityPkg/Tcg/TcgDxe/TcgDxe.inf+!if $(SMM_SUPPORT) == TRUE+  INF 
SecurityPkg/Tcg/TcgSmm/TcgSmm.inf+!endif+  INF 
SecurityPkg/Tcg/TcgConfigDxe/TcgConfigDxe.inf+  INF 
SecurityPkg/Tcg/Tcg2Dxe/Tcg2Dxe.inf+  INF RuleOverride = DRIVER_ACPITABLE 
SecurityPkg/Tcg/Tcg2Acpi/Tcg2Acpi.inf+  INF 
SecurityPkg/Tcg/Tcg2Config/Tcg2ConfigDxe.inf+!if $(SMM_SUPPORT) == TRUE+  INF 
SecurityPkg/Tcg/Tcg2Smm/Tcg2Smm.inf+!endif+  INF 
SecurityPkg/Tcg/Tcg2PlatformDxe/Tcg2PlatformDxe.inf+!endif+ INF 
UefiCpuPkg/CpuIo2Dxe/CpuIo2Dxe.inf INF 
MdeModulePkg/Universal/DevicePathDxe/DevicePathDxe.inf !if $(MEMORY_TEST) == 
"GENERIC"@@ -419,3 +434,13 @@ INF ShellPkg/Application/Shell/Shell.inf
     UI        STRING="Enter Setup"     VERSION   STRING="$(INF_VERSION)" 
Optional BUILD_NUM=$(BUILD_NUMBER)   
}++[Rule.Common.DXE_DRIVER.DRIVER_ACPITABLE]+  FILE DRIVER = $(NAMED_GUID) {+   
 DXE_DEPEX DXE_DEPEX Optional       $(INF_OUTPUT)/$(MODULE_NAME).depex+    PE32 
     PE32                     $(INF_OUTPUT)/$(MODULE_NAME).efi+    RAW ACPI  
Optional                |.acpi+    RAW ASL   Optional                |.aml+    
UI        STRING="$(MODULE_NAME)" Optional+    VERSION   
STRING="$(INF_VERSION)" Optional BUILD_NUM=$(BUILD_NUMBER)+  }-- 
2.39.1.windows.1



-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#101598): https://edk2.groups.io/g/devel/message/101598
Mute This Topic: https://groups.io/mt/97777998/21656
Group Owner: devel+ow...@edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [arch...@mail-archive.com]
-=-=-=-=-=-=-=-=-=-=-=-


Reply via email to