Contribute
Register

iMac Pro X99 - Live the Future now with macOS 10.14 Mojave [Successful Build/Extended Guide]

Status
Not open for further replies.
Rename just SSDT
not clover config

But there are still the same name space, variable and AE lookup errors during boot when forcing OSDW to return "ONE"... at least when using my original SSDT-9.aml.. An I guess OSWD on a real iMac Pro always should return one, isn't it?

Only difference with method "QUINI".. nor further crashing of SSDT-9.aml, when implemented..
 
Remove this Entry
TPME, 8,
CPSP, 32,
DATA, 8,
INDX, 8,
not "QUINI" IT is "QINI"

Add
_L02 under
Scope (\_GPE)
{
 

Attachments

  • SSDT-9.aml
    24.4 KB · Views: 82
@nmano,
we are very close :headbang:...

Look at this,

Screen Shot 2018-08-10 at 16.53.39.png


But for having all this implemented you MUST enforce OSWD to return "One"..

Code:
Method (OSDW, 0, NotSerialized)
    {
        Return (One)
    }

The same states for PCIHotplugCapable under DSB0 and DSB2 as well as PCI-THunderbolt under UBSP..

I also cleared the Definition block from calling external variables, which are defined now inside SSDT-9.aml, as you directly implemented GNVS...

I further tried to replace _L32 by _L69.. does not work at all! Must be _L32..

I also do not see any necessity to introduce the entire method _L02 part..

Nevertheless, I am still receiving the following errors during boot:

IMG_1308.png


IMG_1310.png


Attached my actual SSDT-9.aml which bases on the one you distributed in post #59..
 

Attachments

  • SSDT-9.aml.zip
    8.2 KB · Views: 64
Last edited:
@nmano

one cannot substitute method _L32 by method _L69... (did not do a test run before.. )

I consequently updated post #63 and also reloaded SSDT-9.aml..

The rest is still valid..
 
@nmano

one cannot substitute method _L32 by method _L69... (did not do a test run before.. )

I consequently updated post #63 and also reloaded SSDT-9.aml..

The rest is still valid..
IF X99
_L32 or _L69 or _L02 not _L01
IF X299
_L32 or _L70 or _L02 not _L69
 
  • Like
Reactions: kgp
IF X99
_L32 or _L69 or _L02 not _L01
IF X299
_L32 or _L70 or _L02 not _L69

You are right, sir! ;)

When using _L01 instead of L_32, I just get this error..

IMG_1311.png


When using _L02 instead of L_32, I just get these errors..

IMG_1313.png


Thus the errors seem to depend on the method used under GPE..

_L01 seems to be the better choice, although still not perfect..

let me try also _70...
 
Last edited:
@nmano,
we are very close :headbang:...

Look at this,

View attachment 345636

But for having all this implemented you MUST enforce OSWD to return "One"..

Code:
Method (OSDW, 0, NotSerialized)
    {
        Return (One)
    }

The same states for PCIHotplugCapable under DSB0 and DSB2 as well as PCI-THunderbolt under UBSP..

I also cleared the Definition block from calling external variables, which are defined now inside SSDT-9.aml, as you directly implemented GNVS...

I further tried to replace _L32 by _L69.. does not work at all! Must be _L32..

I also do not see any necessity to introduce the entire method _L02 part..

Nevertheless, I am still receiving the following errors during boot:

View attachment 345641

View attachment 345648

Attached my actual SSDT-9.aml which bases on the one you distributed in post #59..

@nmano,

Why is this again part of SSDT-9.aml?

Code:
                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        If (LEqual (Arg2, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                        
                            })
                        }

                        Store (Package (0x25)
                            {
                                "AAPL,slot-name",
                                Buffer (0x07)
                                {
                                    "Slot-4"
                                },

                                "built-in",
                                Buffer (One)
                                {
                                     0x00                                        
                                },

                                "device_type",
                                Buffer (0x19)
                                {
                                    "Thunderbolt 3 Controller"
                                },

                                "model",
                                Buffer (0x20)
                                {
                                    "Intel DSL6540 Thunderbolt 3 NHI"
                                },

                                "name",
                                Buffer (0x25)
                                {
                                    "Intel DSL6540 Thunderbolt Controller"
                                },

                                "subsystem-vendor-id",
                                Buffer (0x04)
                                {
                                     0x86, 0x80, 0x00, 0x00                      
                                },

                                "subsystem-id",
                                Buffer (0x04)
                                {
                                     0x00, 0x00, 0x00, 0x00                      
                                },

                                "compatible",
                                Buffer (0x0D)
                                {
                                    "pci8086,15d2"
                                },

                                "class-code",
                                Buffer (0x04)
                                {
                                     0x00, 0x80, 0x08, 0x00                      
                                },

                                "TBTDPLowToHigh",
                                Buffer (0x04)
                                {
                                     0x01, 0x00, 0x00, 0x00                      
                                },

                                "pathcr",
                                Buffer (One)
                                {
                                    /* 0000 */  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0008 */  0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x10, 0x00,
                                    /* 0010 */  0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0018 */  0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x10, 0x00,
                                    /* 0020 */  0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x0E, 0x00,
                                    /* 0028 */  0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0030 */  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0038 */  0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00,
                                    /* 0040 */  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0048 */  0x00, 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00
                                },

                                "ThunderboltDROM",
                                Buffer (One)
                                {
                                    /* 0000 */  0x76, 0x00, 0xC1, 0x71, 0xC5, 0xBE, 0x49, 0x01,
                                    /* 0008 */  0x00, 0x0A, 0x9B, 0x60, 0xFA, 0x01, 0x5E, 0x00,
                                    /* 0010 */  0x01, 0x00, 0x0C, 0x00, 0x01, 0x00, 0x08, 0x81,
                                    /* 0018 */  0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x82,
                                    /* 0020 */  0x90, 0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x83,
                                    /* 0028 */  0x80, 0x04, 0x80, 0x01, 0x00, 0x00, 0x08, 0x84,
                                    /* 0030 */  0x90, 0x03, 0x80, 0x01, 0x00, 0x00, 0x08, 0x85,
                                    /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x86,
                                    /* 0040 */  0x20, 0x03, 0x87, 0x80, 0x02, 0xC8, 0x05, 0x89,
                                    /* 0048 */  0x50, 0x00, 0x00, 0x05, 0x8A, 0x50, 0x00, 0x00,
                                    /* 0050 */  0x02, 0xCB, 0x0D, 0x01, 0x41, 0x70, 0x70, 0x6C,
                                    /* 0058 */  0x65, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x00, 0x0C,
                                    /* 0060 */  0x02, 0x4D, 0x61, 0x63, 0x69, 0x6E, 0x74, 0x6F,
                                    /* 0068 */  0x73, 0x68, 0x00                            
                                },

                                "ThunderboltConfig",
                                Buffer (One)
                                {
                                    /* 0000 */  0x00, 0x02, 0xFF, 0xFF, 0x04, 0x00, 0x03, 0x01,
                                    /* 0008 */  0x01, 0x00, 0x04, 0x00, 0x05, 0x01, 0x02, 0x00,
                                    /* 0010 */  0x03, 0x00, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00,
                                    /* 0018 */  0x03, 0x01, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00
                                },

                                "LinkDetails",
                                Buffer (0x08)
                                {
                                     0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
                                },

                                "ThunderboltUUID",
                                ToUUID ("95e6bcfa-5a4a-5f81-b3d2-f0e4bd35cf1e"),
                                "sscOffset",
                                Buffer (0x02)
                                {
                                     0x00, 0x00                                  
                                },

                                "TBTFlags",
                                Buffer (0x04)
                                {
                                     0x03, 0x00, 0x00, 0x00                      
                                },

                                "power-save",
                                One,
                                Buffer (One)
                                {
                                     0x00                                        
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }

Thus, all my above conclusions on having made some progress concerning the IOREG TB entries have been wrong! They are hardwired in the SSDT and not apparent in IOREG thanks to improvements we achieved along the recent TB implementation.. o_O:rolleyes:

Attached the SSDT-9-actual.aml, we have to work with...

There are more compilation warnings and boot errors then in the other SSDT-9.aml...Please check if we are missing now some SSDT fixes you already introduced formerly...

I will not continue with my work until we have a common SSDT-9.aml to start with..
 

Attachments

  • SSDT-9-actual.aml.zip
    7.8 KB · Views: 58
Last edited:
@nmano,

Why is this again part of SSDT-9.aml?

Code:
                    Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
                    {
                        If (LEqual (Arg2, Zero))
                        {
                            Return (Buffer (One)
                            {
                                 0x03                                       
                            })
                        }

                        Store (Package (0x25)
                            {
                                "AAPL,slot-name",
                                Buffer (0x07)
                                {
                                    "Slot-4"
                                },

                                "built-in",
                                Buffer (One)
                                {
                                     0x00                                       
                                },

                                "device_type",
                                Buffer (0x19)
                                {
                                    "Thunderbolt 3 Controller"
                                },

                                "model",
                                Buffer (0x20)
                                {
                                    "Intel DSL6540 Thunderbolt 3 NHI"
                                },

                                "name",
                                Buffer (0x25)
                                {
                                    "Intel DSL6540 Thunderbolt Controller"
                                },

                                "subsystem-vendor-id",
                                Buffer (0x04)
                                {
                                     0x86, 0x80, 0x00, 0x00                     
                                },

                                "subsystem-id",
                                Buffer (0x04)
                                {
                                     0x00, 0x00, 0x00, 0x00                     
                                },

                                "compatible",
                                Buffer (0x0D)
                                {
                                    "pci8086,15d2"
                                },

                                "class-code",
                                Buffer (0x04)
                                {
                                     0x00, 0x80, 0x08, 0x00                     
                                },

                                "TBTDPLowToHigh",
                                Buffer (0x04)
                                {
                                     0x01, 0x00, 0x00, 0x00                     
                                },

                                "pathcr",
                                Buffer (One)
                                {
                                    /* 0000 */  0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0008 */  0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x10, 0x00,
                                    /* 0010 */  0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0018 */  0x00, 0x00, 0x07, 0x00, 0x10, 0x00, 0x10, 0x00,
                                    /* 0020 */  0x01, 0x00, 0x00, 0x00, 0x0B, 0x00, 0x0E, 0x00,
                                    /* 0028 */  0x0E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0030 */  0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0038 */  0x00, 0x00, 0x04, 0x00, 0x02, 0x00, 0x01, 0x00,
                                    /* 0040 */  0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
                                    /* 0048 */  0x00, 0x00, 0x07, 0x00, 0x02, 0x00, 0x01, 0x00
                                },

                                "ThunderboltDROM",
                                Buffer (One)
                                {
                                    /* 0000 */  0x76, 0x00, 0xC1, 0x71, 0xC5, 0xBE, 0x49, 0x01,
                                    /* 0008 */  0x00, 0x0A, 0x9B, 0x60, 0xFA, 0x01, 0x5E, 0x00,
                                    /* 0010 */  0x01, 0x00, 0x0C, 0x00, 0x01, 0x00, 0x08, 0x81,
                                    /* 0018 */  0x80, 0x02, 0x80, 0x00, 0x00, 0x00, 0x08, 0x82,
                                    /* 0020 */  0x90, 0x01, 0x80, 0x00, 0x00, 0x00, 0x08, 0x83,
                                    /* 0028 */  0x80, 0x04, 0x80, 0x01, 0x00, 0x00, 0x08, 0x84,
                                    /* 0030 */  0x90, 0x03, 0x80, 0x01, 0x00, 0x00, 0x08, 0x85,
                                    /* 0038 */  0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x86,
                                    /* 0040 */  0x20, 0x03, 0x87, 0x80, 0x02, 0xC8, 0x05, 0x89,
                                    /* 0048 */  0x50, 0x00, 0x00, 0x05, 0x8A, 0x50, 0x00, 0x00,
                                    /* 0050 */  0x02, 0xCB, 0x0D, 0x01, 0x41, 0x70, 0x70, 0x6C,
                                    /* 0058 */  0x65, 0x20, 0x49, 0x6E, 0x63, 0x2E, 0x00, 0x0C,
                                    /* 0060 */  0x02, 0x4D, 0x61, 0x63, 0x69, 0x6E, 0x74, 0x6F,
                                    /* 0068 */  0x73, 0x68, 0x00                           
                                },

                                "ThunderboltConfig",
                                Buffer (One)
                                {
                                    /* 0000 */  0x00, 0x02, 0xFF, 0xFF, 0x04, 0x00, 0x03, 0x01,
                                    /* 0008 */  0x01, 0x00, 0x04, 0x00, 0x05, 0x01, 0x02, 0x00,
                                    /* 0010 */  0x03, 0x00, 0x03, 0x01, 0x01, 0x00, 0x00, 0x00,
                                    /* 0018 */  0x03, 0x01, 0x02, 0x00, 0x02, 0x00, 0x01, 0x00
                                },

                                "LinkDetails",
                                Buffer (0x08)
                                {
                                     0x08, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
                                },

                                "ThunderboltUUID",
                                ToUUID ("95e6bcfa-5a4a-5f81-b3d2-f0e4bd35cf1e"),
                                "sscOffset",
                                Buffer (0x02)
                                {
                                     0x00, 0x00                                 
                                },

                                "TBTFlags",
                                Buffer (0x04)
                                {
                                     0x03, 0x00, 0x00, 0x00                     
                                },

                                "power-save",
                                One,
                                Buffer (One)
                                {
                                     0x00                                       
                                }
                            }, Local0)
                        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                        Return (Local0)
                    }

Thus, all my above conclusions on having made some progress concerning the IOREG TB entries have been wrong! They are hardwired in the SSDT and not apparent in IOREG thanks to improvements we achieved along the recent TB implementation.. o_O:rolleyes:

Attached the SSDT-9-actual.aml, we have to work with...

There are more compilation warnings and boot errors then in the other SSDT-9.aml...Please check if we are missing now some SSDT fixes you already introduced formerly...

I will not continue with my work until we have a common SSDT-9.aml to start with..
Did you see ORI apple iMacPro1,1Device Properties?
please look
 

Attachments

  • device-properties.plist
    97.1 KB · Views: 172
Did you see ORI apple iMacPro1,1Device Properties?
please look

I mean it was me who hardwired those properties within the previous SSDTs. But infact they should be injected by the TB kexts injected by the SSDT-9.aml.
 
Fixed
594, 3115, Not all control paths return a value (_L01)
Code:
Method (_L01, 0, NotSerialized)  // _Lxx: Level-Triggered GPE
            {
                If (LNot (OSDW ()))
                {
                    If (LEqual (\_SB.PC01.BR1A.POC0, One))
                    {
                        Return (Zero)
                    }

                    Sleep (0x0190)
                    If (LEqual (\_SB.PC01.BR1A.WTLT (), One))
                    {
                        \_SB.PC01.BR1A.ICMS ()
                    }
                    Else
                    {
                    }

                    If (\_SB.PC01.BR1A.UPMB)
                    {
                        Store (Zero, \_SB.PC01.BR1A.UPMB)
                        Sleep (One)
                    }
                    Else
                    {
                    }

                    \_SB.PC01.BR1A.CMPE ()
                }
                ElseIf (LEqual (\_SB.GGII (0x01030012), One))
                {
                    \_SB.SGII (0x01030012, Zero)
                }
                Else
                {
                    \_SB.SGII (0x01030012, One)
                }

                \_SB.PC01.BR1A.UPSB.AMPE ()
       
 
                Return (Zero)
            }

            Return (One)
        }
 
  • Like
Reactions: kgp
Status
Not open for further replies.
Back
Top