Jump to content
3 posts in this topic

Recommended Posts

People, something wired into my dsdt file, I don't understand :

               Device (TPM)
               {
                   Name (_HID, EisaId ("PNP0C31"))
                   Name (_STR, Unicode ("TPM 1.2 Device"))
                   Name (_CRS, ResourceTemplate ()
                   {
                       Memory32Fixed (ReadWrite,
                           0xFED40000,         // Address Base
                           0x00005000,         // Address Length
                           )
                   })
                   OperationRegion (CMOS, SystemIO, 0x70, 0x04)
                   Field (CMOS, ByteAcc, NoLock, Preserve)
                   {
                       IDX0,   7, 
                               Offset (0x01), 
                       DAT0,   8, 
                       IDX1,   7, 
                               Offset (0x03), 
                       DAT1,   8
                   }

                   IndexField (IDX1, DAT1, ByteAcc, NoLock, Preserve)
                   {
                               Offset (0x40), 
                       CCMD,   8, 
                       LCMD,   8, 
                       LRET,   32, 
                       EXST,   8
                   }

                   OperationRegion (SSMI, SystemIO, 0xB2, One)
                   Field (SSMI, ByteAcc, NoLock, Preserve)
                   {
                       SMID,   8
                   }

                   OperationRegion (TPMR, SystemMemory, 0xFED40000, 0x5000)
                   Field (TPMR, AnyAcc, NoLock, Preserve)
                   {
                       ACC0,   8
                   }

                   Method (_INI, 0, NotSerialized)
                   {
                       Store (_STA (), EXST)
                   }

                   Method (_STA, 0, NotSerialized)
                   {
                       If (LEqual (ACC0, 0xFF))
                       {
                           Return (Zero)
                       }

                       Return (0x0F)
                   }

                   Method (HINF, 3, NotSerialized)
                   {
                       Name (T_0, Zero)
                       Store (Arg1, T_0)
                       If (LEqual (T_0, Zero))
                       {
                           Return (Buffer (One)
                           {
                               0x01
                           })
                       }
                       Else
                       {
                           If (LEqual (T_0, One))
                           {
                               If (LEqual (_STA (), Zero))
                               {
                                   Return (Package (0x01)
                                   {
                                       Zero
                                   })
                               }

                               Return (Package (0x02)
                               {
                                   One, 
                                   Package (0x02)
                                   {
                                       One, 
                                       0x20
                                   }
                               })
                           }
                           Else
                           {
                               BreakPoint
                           }
                       }

                       Return (Buffer (Zero) {})
                   }

                   Method (TPPI, 3, NotSerialized)
                   {
                       Name (T_0, Zero)
                       Store (Arg1, T_0)
                       If (LEqual (T_0, Zero))
                       {
                           Return (Buffer (One)
                           {
                               0x3F
                           })
                       }
                       Else
                       {
                           If (LEqual (T_0, One))
                           {
                               Return ("1.0")
                           }
                           Else
                           {
                               If (LEqual (T_0, 0x02))
                               {
                                   CreateByteField (Arg2, Zero, TPC1)
                                   Or (TPC1, 0x80, TPCC)
                                   Store (0x50, SMID)
                                   Return (Zero)
                               }
                               Else
                               {
                                   If (LEqual (T_0, 0x03))
                                   {
                                       Name (TCCP, Package (0x02)
                                       {
                                           Zero, 
                                           0xFF
                                       })
                                       Store (TPCC, Index (TCCP, One))
                                       Return (TCCP)
                                   }
                                   Else
                                   {
                                       If (LEqual (T_0, 0x04))
                                       {
                                           Return (0x02)
                                       }
                                       Else
                                       {
                                           If (LEqual (T_0, 0x05))
                                           {
                                               Name (TLCR, Package (0x03)
                                               {
                                                   Zero, 
                                                   0xFF, 
                                                   0xFFFF
                                               })
                                               Store (TPLC, Index (TLCR, One))
                                               Store (TPLR, Index (TLCR, 0x02))
                                               Return (TLCR)
                                           }
                                           Else
                                           {
                                               If (LEqual (T_0, 0x06))
                                               {
                                                   Store (DerefOf (Index (Arg2, 0x04)), Local0)
                                                   Store (DerefOf (Index (Arg2, 0x05)), Local1)
                                                   If (LOr (LEqual (Local0, 0x65), LEqual (Local0, 0x45)))
                                                   {
                                                       If (LOr (LEqual (Local1, 0x6E), LEqual (Local1, 0x4E)))
                                                       {
                                                           Return (Zero)
                                                       }
                                                   }

                                                   Return (One)
                                               }
                                               Else
                                               {
                                                   BreakPoint
                                               }
                                           }
                                       }
                                   }
                               }
                           }
                       }

                       Return (One)
                   }

                   Method (SMOR, 3, NotSerialized)
                   {
                       Store (Index (Arg2, Zero), TPMM)
                       Store (0x48, SMID)
                       Return (Zero)
                   }

                   Method (_DSM, 4, NotSerialized)
                   {
                       If (LEqual (Arg0, Buffer (0x10)
                               {
                                   /* 0000 */    0xA5, 0x16, 0x8E, 0xCF, 0xE8, 0xC1, 0x25, 0x4E, 
                                   /* 0008 */    0xB7, 0x12, 0x4F, 0x54, 0xA9, 0x67, 0x02, 0xC8
                               }))
                       {
                           Return (HINF (Arg1, Arg2, Arg3))
                       }

                       If (LEqual (Arg0, Buffer (0x10)
                               {
                                   /* 0000 */    0xA6, 0xFA, 0xDD, 0x3D, 0x1B, 0x36, 0xB4, 0x4E, 
                                   /* 0008 */    0xA4, 0x24, 0x8D, 0x10, 0x08, 0x9D, 0x16, 0x53
                               }))
                       {
                           Return (TPPI (Arg1, Arg2, Arg3))
                       }

                       If (LEqual (Arg0, Buffer (0x10)
                               {
                                   /* 0000 */    0xED, 0x54, 0x60, 0x37, 0x13, 0xCC, 0x75, 0x46, 
                                   /* 0008 */    0x90, 0x1C, 0x47, 0x56, 0xD7, 0xF2, 0xD4, 0x5D
                               }))
                       {
                           Return (SMOR (Arg1, Arg2, Arg3))
                       }

                       Return (Buffer (Zero) {})
                   }
               }
           }

 

I saw Beerkex'd and MasterChief's deleting the TPM device on their files, but I just don't get how

 

hp & crosoft: Stop condamning inginuousity with censored intelligence!

Link to comment
https://www.insanelymac.com/forum/topic/214803-device-tpm/
Share on other sites

Go here: http://www.insanelymac.com/forum/index.php...t&p=1280888 and download the original, unmodified DSDT dump from the P5K BIOS attached there, then compare it side by side with one where the TPM code is removed.

 

TPM has nothing to do with temperature btw, the code is for a "trusted platform module". If you don't have one of those and you don't intend to install one it's safe to remove the code and all callers to it. Just like you would do with the floppy drive controller code or the serial port code for example.

http://en.wikipedia.org/wiki/Trusted_Platform_Module

Link to comment
https://www.insanelymac.com/forum/topic/214803-device-tpm/#findComment-1442723
Share on other sites

thank u Beerkex'd for the valued info, and I already knew that TPM has nothing to do with temperature.

will do this, as I know now there is no TPM device on the machine.

happy to have ich9m, just like Chief & Beerkex'd (ich9), as looking into Master Chief's v3.3 there are too many similarities.

 

for anybody else, wanting to know if he/she has a TPM Device do this from console:

ioreg | grep TPM

if it returns nothing, then u can go the way shown by Beerkex'd

Link to comment
https://www.insanelymac.com/forum/topic/214803-device-tpm/#findComment-1442829
Share on other sites

×
×
  • Create New...