summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLu, ShifeiX A <shifeix.a.lu@intel.com>2016-03-31 08:11:21 +0000
committerzwei4 <david.wei@intel.com>2016-04-12 15:43:17 +0800
commit3280cfba1a1b7a025c11d3c7d648a106a45791e9 (patch)
tree9cb51d0a955c68ab1c16678567f994d6b81a10a2
parent3e11f7eb7174302bb350664e402552ea1bea399d (diff)
downloadedk2-platforms-3280cfba1a1b7a025c11d3c7d648a106a45791e9.tar.xz
Add Mor feature
Issue Description: When SUT boot to Windows 10 (10586), MRC will clear memory when SUT enter into S4, Shutdown, etc... Root Cause: BIOS Platform ASL code Method(_PTS,1) to call “SB.TPM.PTS” method, which include SMI handler code that clears Mor variable, so If the SUT enter S4, S5(shutdown), Restart normally, the BIOS SMI handler code will clear Mor variable. [Test] Windows 10(10586) s3, s4, shutdown, restart, boot, install OS passed Windows 8 s3,s4,boot passed. Yotcot s3, boot passed. git-svn-id: https://ssvn.intel.com:80/ssg/csd/tiano/tianoad/Research/Developer/mangguo/MinnowBoardMaxUDK2015Platform@106312 f973567a-9dae-4ef8-9d9d-80fbec5b6bbd
-rw-r--r--Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Platform.asl14
-rw-r--r--Vlv2TbltDevicePkg/PlatformPkg.fdf1
-rw-r--r--Vlv2TbltDevicePkg/PlatformPkgGcc.fdf1
-rw-r--r--Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc1
-rw-r--r--Vlv2TbltDevicePkg/PlatformPkgIA32.dsc1
-rw-r--r--Vlv2TbltDevicePkg/PlatformPkgX64.dsc1
6 files changed, 17 insertions, 2 deletions
diff --git a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Platform.asl b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Platform.asl
index 39fa181299..e33a8c1e74 100644
--- a/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Platform.asl
+++ b/Vlv2DeviceRefCodePkg/AcpiTablesPCAT/Platform.asl
@@ -5,7 +5,7 @@
;* Family of Customer Reference Boards. *;
;* *;
;* *;
-;* Copyright (c) 2012 - 2014, Intel Corporation. All rights reserved *;
+;* Copyright (c) 2012 - 2016, Intel Corporation. All rights reserved *;
;
; This program and the accompanying materials are licensed and made available under
; the terms and conditions of the BSD License that accompanies this distribution.
@@ -29,7 +29,7 @@ External(PDC2)
External(PDC3)
External(CFGD)
External(\_PR.CPU0._PPC, IntObj)
-External(\_SB.PCI0.LPCB.TPM.PTS, MethodObj)
+External(\_SB.TPM.PTS, MethodObj)
External(\_SB.STR3, DeviceObj)
External(\_SB.I2C1.BATC, DeviceObj)
External(\_SB.DPTF, DeviceObj)
@@ -145,6 +145,16 @@ Method(_PTS,1)
//clear GPE0_STS
Store(Ones, G0S)
+ //
+ // Check whether TPM Module support is included in the project or not
+ //
+ If(CondRefOf(\_SB.TPM.PTS))
+ {
+ //
+ // Call TPM PTS method
+ //
+ \_SB.TPM.PTS (Arg0)
+ }
If(LEqual(Arg0,3)) // If S3 Suspend
{
diff --git a/Vlv2TbltDevicePkg/PlatformPkg.fdf b/Vlv2TbltDevicePkg/PlatformPkg.fdf
index 066cb75ba2..89cf2a3e68 100644
--- a/Vlv2TbltDevicePkg/PlatformPkg.fdf
+++ b/Vlv2TbltDevicePkg/PlatformPkg.fdf
@@ -515,6 +515,7 @@ INF RuleOverride = DRIVER_ACPITABLE SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/Tpm2DeviceSeCPei.inf
INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Tpm2DeviceSeCDxe.inf
INF SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
+INF SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
INF SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf
INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/FtpmSmm.inf
!endif
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
index d519edd4c8..7f6a397798 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
+++ b/Vlv2TbltDevicePkg/PlatformPkgGcc.fdf
@@ -468,6 +468,7 @@ INF RuleOverride = DRIVER_ACPITABLE SecurityPkg/Tcg/TcgSmm/TcgSmm.inf
INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/Tpm2DeviceSeCPei.inf
INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Tpm2DeviceSeCDxe.inf
INF SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
+INF SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
INF SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf
INF RuleOverride = BINARY $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/FtpmSmm.inf
!endif
diff --git a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
index f7842af05e..0df8647329 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc
@@ -1280,6 +1280,7 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
!if $(FTPM_ENABLE) == TRUE
$(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Tpm2DeviceSeCDxe.inf
SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
+ SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf{
<LibraryClasses>
NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
diff --git a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
index 61e28318b3..1111e55bc7 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgIA32.dsc
@@ -1274,6 +1274,7 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
!if $(FTPM_ENABLE) == TRUE
$(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Tpm2DeviceSeCDxe.inf
SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
+ SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf{
<LibraryClasses>
NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf
diff --git a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
index c3e29b3f06..2c9d5135dd 100644
--- a/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
+++ b/Vlv2TbltDevicePkg/PlatformPkgX64.dsc
@@ -1283,6 +1283,7 @@ $(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/IA32/fTPMInitPeim.inf
!if $(FTPM_ENABLE) == TRUE
$(PLATFORM_BINARY_PACKAGE)/$(DXE_ARCHITECTURE)$(TARGET)/$(DXE_ARCHITECTURE)/Tpm2DeviceSeCDxe.inf
SecurityPkg/Tcg/MemoryOverwriteControl/TcgMor.inf
+ SecurityPkg/Tcg/MemoryOverwriteRequestControlLock/TcgMorLockSmm.inf
SecurityPkg/Tcg/TrEEDxe/TrEEDxe.inf{
<LibraryClasses>
NULL|SecurityPkg/Library/HashInstanceLibSha1/HashInstanceLibSha1.inf