diff options
author | Lu, ShifeiX A <shifeix.a.lu@intel.com> | 2016-03-31 08:11:21 +0000 |
---|---|---|
committer | zwei4 <david.wei@intel.com> | 2016-04-12 15:43:17 +0800 |
commit | 3280cfba1a1b7a025c11d3c7d648a106a45791e9 (patch) | |
tree | 9cb51d0a955c68ab1c16678567f994d6b81a10a2 | |
parent | 3e11f7eb7174302bb350664e402552ea1bea399d (diff) | |
download | edk2-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.asl | 14 | ||||
-rw-r--r-- | Vlv2TbltDevicePkg/PlatformPkg.fdf | 1 | ||||
-rw-r--r-- | Vlv2TbltDevicePkg/PlatformPkgGcc.fdf | 1 | ||||
-rw-r--r-- | Vlv2TbltDevicePkg/PlatformPkgGccX64.dsc | 1 | ||||
-rw-r--r-- | Vlv2TbltDevicePkg/PlatformPkgIA32.dsc | 1 | ||||
-rw-r--r-- | Vlv2TbltDevicePkg/PlatformPkgX64.dsc | 1 |
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 |