]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Tcg/Tcg2Smm/Tcg2StandaloneMm.inf
SecurityPkg: Tcg2Smm: Added support for Standalone Mm
[mirror_edk2.git] / SecurityPkg / Tcg / Tcg2Smm / Tcg2StandaloneMm.inf
diff --git a/SecurityPkg/Tcg/Tcg2Smm/Tcg2StandaloneMm.inf b/SecurityPkg/Tcg/Tcg2Smm/Tcg2StandaloneMm.inf
new file mode 100644 (file)
index 0000000..746eda3
--- /dev/null
@@ -0,0 +1,77 @@
+## @file\r
+#  Provides ACPI methods for TPM 2.0 support\r
+#\r
+#  Spec Compliance Info:\r
+#     "TCG ACPI Specification Version 1.2 Revision 8"\r
+#     "Physical Presence Interface Specification Version 1.30 Revision 00.52"\r
+#       along with\r
+#     "Errata Version 0.4 for TCG PC Client Platform Physical Presence Interface Specification"\r
+#     "Platform Reset Attack Mitigation Specification Version 1.00"\r
+#    TPM2.0 ACPI device object\r
+#     "TCG PC Client Platform Firmware Profile Specification for TPM Family 2.0 Level 00 Revision 1.03 v51"\r
+#       along with\r
+#     "Errata for PC Client Specific Platform Firmware Profile Specification Version 1.0 Revision 1.03"\r
+#\r
+#  This driver implements TPM 2.0 definition block in ACPI table and\r
+#  registers SMI callback functions for Tcg2 physical presence and\r
+#  MemoryClear to handle the requests from ACPI method.\r
+#\r
+#  Caution: This module requires additional review when modified.\r
+#  This driver will have external input - variable and ACPINvs data in SMM mode.\r
+#  This external input must be validated carefully to avoid security issue.\r
+#\r
+# Copyright (c) 2015 - 2019, Intel Corporation. All rights reserved.<BR>\r
+# Copyright (c) Microsoft Corporation.<BR>\r
+# SPDX-License-Identifier: BSD-2-Clause-Patent\r
+#\r
+##\r
+\r
+[Defines]\r
+  INF_VERSION                    = 0x00010005\r
+  BASE_NAME                      = Tcg2StandaloneMm\r
+  FILE_GUID                      = D40F321F-5349-4724-B667-131670587861\r
+  MODULE_TYPE                    = MM_STANDALONE\r
+  PI_SPECIFICATION_VERSION       = 0x00010032\r
+  VERSION_STRING                 = 1.0\r
+  ENTRY_POINT                    = InitializeTcgStandaloneMm\r
+\r
+[Sources]\r
+  Tcg2Smm.h\r
+  Tcg2Smm.c\r
+  Tcg2StandaloneMm.c\r
+\r
+[Packages]\r
+  MdePkg/MdePkg.dec\r
+  MdeModulePkg/MdeModulePkg.dec\r
+  SecurityPkg/SecurityPkg.dec\r
+  StandaloneMmPkg/StandaloneMmPkg.dec\r
+\r
+[LibraryClasses]\r
+  BaseLib\r
+  BaseMemoryLib\r
+  StandaloneMmDriverEntryPoint\r
+  MmServicesTableLib\r
+  DebugLib\r
+  Tcg2PhysicalPresenceLib\r
+  PcdLib\r
+  MemLib\r
+\r
+[Guids]\r
+  ## SOMETIMES_PRODUCES ## Variable:L"MemoryOverwriteRequestControl"\r
+  ## SOMETIMES_CONSUMES ## Variable:L"MemoryOverwriteRequestControl"\r
+  gEfiMemoryOverwriteControlDataGuid\r
+\r
+  gEfiTpmDeviceInstanceTpm20DtpmGuid                            ## PRODUCES           ## GUID       # TPM device identifier\r
+  gTpmNvsMmGuid                                                 ## CONSUMES\r
+\r
+[Protocols]\r
+  gEfiSmmSwDispatch2ProtocolGuid                                ## CONSUMES\r
+  gEfiSmmVariableProtocolGuid                                   ## CONSUMES\r
+  gEfiMmReadyToLockProtocolGuid                                 ## CONSUMES\r
+\r
+[Pcd]\r
+  gEfiSecurityPkgTokenSpaceGuid.PcdTpmInstanceGuid              ## CONSUMES\r
+\r
+[Depex]\r
+  gEfiSmmSwDispatch2ProtocolGuid AND\r
+  gEfiSmmVariableProtocolGuid\r