]> git.proxmox.com Git - mirror_edk2.git/blobdiff - SecurityPkg/Tcg/TcgSmm/Tpm.asl
Upgrade TPM SSDT version from ACPI version 1 (ACPI 1.0 compatible) to version 2 ...
[mirror_edk2.git] / SecurityPkg / Tcg / TcgSmm / Tpm.asl
index 000fc661a981e1c699dddea49e748aa8b60268fb..448ffecccfd862d32140ec2b81a584efca7591d4 100644 (file)
@@ -2,7 +2,7 @@
   The TPM definition block in ACPI table for physical presence  \r
   and MemoryClear.\r
 \r
   The TPM definition block in ACPI table for physical presence  \r
   and MemoryClear.\r
 \r
-Copyright (c) 2011, Intel Corporation. All rights reserved.<BR>\r
+Copyright (c) 2011 - 2013, Intel Corporation. All rights reserved.<BR>\r
 This program and the accompanying materials \r
 are licensed and made available under the terms and conditions of the BSD License \r
 which accompanies this distribution.  The full text of the license may be found at \r
 This program and the accompanying materials \r
 are licensed and made available under the terms and conditions of the BSD License \r
 which accompanies this distribution.  The full text of the license may be found at \r
@@ -16,8 +16,8 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 DefinitionBlock (\r
   "Tpm.aml",\r
   "SSDT",\r
 DefinitionBlock (\r
   "Tpm.aml",\r
   "SSDT",\r
-  1,\r
-  "Intel_",\r
+  2,\r
+  "INTEL ",\r
   "TcgTable",\r
   0x1000\r
   )\r
   "TcgTable",\r
   0x1000\r
   )\r
@@ -64,9 +64,9 @@ DefinitionBlock (
 \r
       //\r
       // Operational region for TPM support, TPM Physical Presence and TPM Memory Clear\r
 \r
       //\r
       // Operational region for TPM support, TPM Physical Presence and TPM Memory Clear\r
-      // Region Offset to be fixed at runtime\r
+      // Region Offset 0xFFFF0000 and Length 0xF0 will be fixed in C code.\r
       //\r
       //\r
-      OperationRegion (TNVS, SystemMemory, 0xFFFF0000, 0x1E)\r
+      OperationRegion (TNVS, SystemMemory, 0xFFFF0000, 0xF0)\r
       Field (TNVS, AnyAcc, NoLock, Preserve)\r
       {\r
         PPIN,   8,  //   Software SMI for Physical Presence Interface\r
       Field (TNVS, AnyAcc, NoLock, Preserve)\r
       {\r
         PPIN,   8,  //   Software SMI for Physical Presence Interface\r
@@ -77,7 +77,8 @@ DefinitionBlock (
         FRET,   32, //   Physical Presence function return code\r
         MCIN,   8,  //   Software SMI for Memory Clear Interface\r
         MCIP,   32, //   Used for save the Mor paramter\r
         FRET,   32, //   Physical Presence function return code\r
         MCIN,   8,  //   Software SMI for Memory Clear Interface\r
         MCIP,   32, //   Used for save the Mor paramter\r
-        MORD,   32  //   Memory Overwrite Request Data\r
+        MORD,   32, //   Memory Overwrite Request Data\r
+        MRET,   32  //   Memory Overwrite function return code\r
       }\r
 \r
       Method (PTS, 1, Serialized)\r
       }\r
 \r
       Method (PTS, 1, Serialized)\r
@@ -118,7 +119,7 @@ DefinitionBlock (
       //\r
       // TCG Hardware Information\r
       //\r
       //\r
       // TCG Hardware Information\r
       //\r
-      Method (HINF, 3, Serialized, 0, {BuffObj, PkgObj}, {IntObj, IntObj, PkgObj})\r
+      Method (HINF, 3, Serialized, 0, {BuffObj, PkgObj}, {UnknownObj, UnknownObj, UnknownObj}) // IntObj, IntObj, PkgObj\r
       {\r
         //\r
         // Switch by function index\r
       {\r
         //\r
         // Switch by function index\r
@@ -137,7 +138,7 @@ DefinitionBlock (
             //\r
             // Return failure if no TPM present\r
             //\r
             //\r
             // Return failure if no TPM present\r
             //\r
-            Name(TPMV, Package () {0x01, Package () {ToBCD (1), ToBCD (20)}})\r
+            Name(TPMV, Package () {0x01, Package () {0x1, 0x20}})\r
             if (LEqual (_STA (), 0x00))\r
             {\r
               Return (Package () {0x00})\r
             if (LEqual (_STA (), 0x00))\r
             {\r
               Return (Package () {0x00})\r
@@ -167,7 +168,7 @@ DefinitionBlock (
       //\r
       // TCG Physical Presence Interface\r
       //\r
       //\r
       // TCG Physical Presence Interface\r
       //\r
-      Method (TPPI, 3, Serialized, 0, {BuffObj, PkgObj, IntObj, StrObj}, {IntObj, IntObj, PkgObj})\r
+      Method (TPPI, 3, Serialized, 0, {BuffObj, PkgObj, IntObj, StrObj}, {UnknownObj, UnknownObj, UnknownObj}) // IntObj, IntObj, PkgObj\r
       {        \r
         //\r
         // Switch by function index\r
       {        \r
         //\r
         // Switch by function index\r
@@ -283,7 +284,7 @@ DefinitionBlock (
         Return (1)\r
       }\r
 \r
         Return (1)\r
       }\r
 \r
-      Method (TMCI, 3, Serialized, 0, IntObj, {IntObj, IntObj, PkgObj})\r
+      Method (TMCI, 3, Serialized, 0, IntObj, {UnknownObj, UnknownObj, UnknownObj}) // IntObj, IntObj, PkgObj\r
       {\r
         //\r
         // Switch by function index\r
       {\r
         //\r
         // Switch by function index\r
@@ -313,7 +314,7 @@ DefinitionBlock (
             // Triggle the SMI interrupt\r
             //\r
             Store (MCIN, IOB2)\r
             // Triggle the SMI interrupt\r
             //\r
             Store (MCIN, IOB2)\r
-            Return (0)\r
+            Return (MRET)\r
           }\r
           Default {BreakPoint}\r
         }\r
           }\r
           Default {BreakPoint}\r
         }\r