InfiniteMac OSx86  


Reply
 
Thread tools Display modes
  #1  
Old 08-22-2010, 11:41 AM
Drule Drule is offline
Puma
 
Join Date: May 2010
Posts: 16
Device (TPM), help with removing its code from DSDT

Just found out that the TPM device is a rarely used security feature that is part of some Intel chipsets, and doesn't seem to be used at all by OSX/Apple.

TPMM and TPMA look to be directly related to TPM, so I see no problem in removing them as they only appear in the code below.

Code:
                OperationRegion (TPMM, SystemMemory, 0xFED40000, One)
                Field (TPMM, AnyAcc, NoLock, Preserve)
                {
                    TPMA,   8
                }

                Scope (\_SB.PCI0.LPCB)
                {
                    Device (TPM)
                    {
                        Name (_HID, EisaId ("PNP0C31"))
                        Name (_UID, One)
                        Name (_CRS, ResourceTemplate ()
                        {
                            Memory32Fixed (ReadOnly,
                                0xFED40000,         // Address Base
                                0x00005000,         // Address Length
                                )
                        })
                        Method (_STA, 0, NotSerialized)
                        {
                            If (LEqual (TPMA, 0xFF))
                            {
                                Return (Zero)
                            }
                            Else
                            {
                                If (TPME)
                                {
                                    Return (0x0F)
                                }
                                Else
                                {
                                    Return (0x0B)
                                }
                            }
                        }
                    }
But TPME is used in an IndexField declaration (see below), but is only used in the TPM Device code above.

Code:
IndexField (CMSI, CMSD, ByteAcc, NoLock, Preserve)
    {
                Offset (0x6E), 
        WAS4,   8, 
        OSTY,   7, 
        OSEF,   1, 
                Offset (0x7D), 
        HPEE,   1, 
                Offset (0x7E), 
            ,   2, 
        MSEP,   1, 
            ,   1, 
        TPME,   1, 
            ,   1, 
        KBEP,   1, 
        MSAR,   1
    }
So what I would like to know is whether to just leave TPME in the above IndexField, and delete all the other TPM related stuff. Or should I remove TPME completely, perhaps replacing it with some type of place holder?

What do the experts suggest, and has anyone else come across the TMP device in their DSDT and removed it?

Here is my DSDT file, for those interested:
Attached Files
File Type: zip dsdt.dsl.zip (12.1 KB, 12 views)

Last edited by Drule; 08-22-2010 at 11:51 AM.
Reply With Quote
  #2  
Old 08-25-2010, 12:04 PM
Drule Drule is offline
Puma
 
Join Date: May 2010
Posts: 16
No advice at all?
Reply With Quote
  #3  
Old 08-28-2010, 01:33 PM
Drule Drule is offline
Puma
 
Join Date: May 2010
Posts: 16
Anybody out there?

Gateway GT5040 Intel D945GCZ, 3GB RAM ICH7 AHCI enabled
Dual boot with WinXP Chameleon 2 RC5pre7r141 on SATA
Snow Leop 10.6.4 with Chameleon 2 RC4r684 on an eSATA drive
Intel Pentium D 820 @2.8 Works Nawcom 10.4.0 legacy (10.6.4)
AUDIO: Intel HD Audio Sigmatel 9223 Seems to work using VoodooHDA (haven't tested all ports)
GRAPHICS: PNY GeForce 9500GT Using NVEnabler everything, including TV-OUT works
LAN: On-board Pro 100 Works after using AppleIntel8255x for SL
Reply With Quote
  #4  
Old 08-28-2010, 06:24 PM
scififan68 scififan68 is offline
 
Join Date: Oct 2008
Location: Midwest USA
Posts: 229
I think it would be easier to leave it alone, there could be stuff else where so when you remove any tpm related stuff those your dsdt won't compile.

GA-Z68XP-UD3: Lion 10.7.3, Windows 7 Professional 64bit SP1 and FreeBSD 9-RELEASE, Core i5 2500K @ 3.3GHz, 16GB 1333 Mhz DDR3 ram(Soon), 1GB GDDR5 Nvidia Geforce GTX 560 Ti, 2X 1TB Samsung F3 SATA HDDs, 1X WDC Blue 500GB HDD; Dell Mini 10v: Obsidian Black, 2GB DDR2 533MHz Ram, 1.6GHz Intel Atom N270, 120GB HDD, 6-Cell, Mac OS X Snow Leopard 10.6.8 Build 10K549

Last edited by scififan68; 08-28-2010 at 06:31 PM.
Reply With Quote
  #5  
Old 08-28-2010, 07:36 PM
Drule Drule is offline
Puma
 
Join Date: May 2010
Posts: 16
Quote:
Originally Posted by scififan68 View Post
There's no need to remove it, it doesn't nothing. Just make sure it's disabled in your bios and remake the dsdt and it should gone then.
I did a thorough search of the DSDT, and only the above code and variable/constant is referenced by it. Unfortunately, my BIOS does not have an option to disable it.

I'm really trying to remove all the excess code from my DSDT, and TPM is not used by OSX, so I'd like to take it out.

Gateway GT5040 Intel D945GCZ, 3GB RAM ICH7 AHCI enabled
Dual boot with WinXP Chameleon 2 RC5pre7r141 on SATA
Snow Leop 10.6.4 with Chameleon 2 RC4r684 on an eSATA drive
Intel Pentium D 820 @2.8 Works Nawcom 10.4.0 legacy (10.6.4)
AUDIO: Intel HD Audio Sigmatel 9223 Seems to work using VoodooHDA (haven't tested all ports)
GRAPHICS: PNY GeForce 9500GT Using NVEnabler everything, including TV-OUT works
LAN: On-board Pro 100 Works after using AppleIntel8255x for SL
Reply With Quote
  #6  
Old 08-28-2010, 08:08 PM
scififan68 scififan68 is offline
 
Join Date: Oct 2008
Location: Midwest USA
Posts: 229
Well i just took a look at your dsdt and I i removed "TPME, 1," and the whole "Device (TPM)" and it came out with no errors:

ASL Input: dsdt.dsl - 4574 lines, 153953 bytes, 1456 keywords
AML Output: DSDT.aml - 13901 bytes, 458 named objects, 998 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 9 Optimizations

But when i removed
"TPMA, 8"
I got 65 errors
fixed dsdt attached.
Attached Files
File Type: zip dsdt.fixed.zip (11.2 KB, 9 views)

GA-Z68XP-UD3: Lion 10.7.3, Windows 7 Professional 64bit SP1 and FreeBSD 9-RELEASE, Core i5 2500K @ 3.3GHz, 16GB 1333 Mhz DDR3 ram(Soon), 1GB GDDR5 Nvidia Geforce GTX 560 Ti, 2X 1TB Samsung F3 SATA HDDs, 1X WDC Blue 500GB HDD; Dell Mini 10v: Obsidian Black, 2GB DDR2 533MHz Ram, 1.6GHz Intel Atom N270, 120GB HDD, 6-Cell, Mac OS X Snow Leopard 10.6.8 Build 10K549
Reply With Quote
  #7  
Old 08-28-2010, 08:29 PM
Drule Drule is offline
Puma
 
Join Date: May 2010
Posts: 16
Thanks for the effort, but I've already done that to test it out. What I would like to know is what effect leaving the TPME value in IndexField may have down the road. But it would be nice to know why the OperationRegion(TPMM...) needs to be left in, so as not to generate all the errors ...

Thanks again for all the help.

Gateway GT5040 Intel D945GCZ, 3GB RAM ICH7 AHCI enabled
Dual boot with WinXP Chameleon 2 RC5pre7r141 on SATA
Snow Leop 10.6.4 with Chameleon 2 RC4r684 on an eSATA drive
Intel Pentium D 820 @2.8 Works Nawcom 10.4.0 legacy (10.6.4)
AUDIO: Intel HD Audio Sigmatel 9223 Seems to work using VoodooHDA (haven't tested all ports)
GRAPHICS: PNY GeForce 9500GT Using NVEnabler everything, including TV-OUT works
LAN: On-board Pro 100 Works after using AppleIntel8255x for SL
Reply With Quote
  #8  
Old 08-28-2010, 08:38 PM
scififan68 scififan68 is offline
 
Join Date: Oct 2008
Location: Midwest USA
Posts: 229
I figured it out, you remove the entire
"

OperationRegion (TPMM, SystemMemory, 0xFED40000, One)
Field (TPMM, AnyAcc, NoLock, Preserve)
{
TPMA, 8
}"
and it compiles

ASL Input: dsdt.dsl - 4568 lines, 153761 bytes, 1454 keywords
AML Output: DSDT.aml - 13875 bytes, 456 named objects, 998 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 9 Optimizations

GA-Z68XP-UD3: Lion 10.7.3, Windows 7 Professional 64bit SP1 and FreeBSD 9-RELEASE, Core i5 2500K @ 3.3GHz, 16GB 1333 Mhz DDR3 ram(Soon), 1GB GDDR5 Nvidia Geforce GTX 560 Ti, 2X 1TB Samsung F3 SATA HDDs, 1X WDC Blue 500GB HDD; Dell Mini 10v: Obsidian Black, 2GB DDR2 533MHz Ram, 1.6GHz Intel Atom N270, 120GB HDD, 6-Cell, Mac OS X Snow Leopard 10.6.8 Build 10K549
Reply With Quote
  #9  
Old 08-28-2010, 08:48 PM
Drule Drule is offline
Puma
 
Join Date: May 2010
Posts: 16
I completely missed the part in your post where you removed the TPME from IndexField

Thanks again, this is nice to know. But I would really like to know more info about the IndexField code, as it seems that removing a value from the middle of a declaration, without replacing it with some sort of place holder, will only result in trouble down the line.

Gateway GT5040 Intel D945GCZ, 3GB RAM ICH7 AHCI enabled
Dual boot with WinXP Chameleon 2 RC5pre7r141 on SATA
Snow Leop 10.6.4 with Chameleon 2 RC4r684 on an eSATA drive
Intel Pentium D 820 @2.8 Works Nawcom 10.4.0 legacy (10.6.4)
AUDIO: Intel HD Audio Sigmatel 9223 Seems to work using VoodooHDA (haven't tested all ports)
GRAPHICS: PNY GeForce 9500GT Using NVEnabler everything, including TV-OUT works
LAN: On-board Pro 100 Works after using AppleIntel8255x for SL
Reply With Quote
  #10  
Old 08-28-2010, 08:56 PM
scififan68 scififan68 is offline
 
Join Date: Oct 2008
Location: Midwest USA
Posts: 229
Too me it looks like IndexField has to stay in there.



💡 Deploy cloud instances seamlessly on DigitalOcean. Free credits ($100) for InfMac readers.


GA-Z68XP-UD3: Lion 10.7.3, Windows 7 Professional 64bit SP1 and FreeBSD 9-RELEASE, Core i5 2500K @ 3.3GHz, 16GB 1333 Mhz DDR3 ram(Soon), 1GB GDDR5 Nvidia Geforce GTX 560 Ti, 2X 1TB Samsung F3 SATA HDDs, 1X WDC Blue 500GB HDD; Dell Mini 10v: Obsidian Black, 2GB DDR2 533MHz Ram, 1.6GHz Intel Atom N270, 120GB HDD, 6-Cell, Mac OS X Snow Leopard 10.6.8 Build 10K549
Reply With Quote
Reply