Contribute
Register

How to extend the iMac Pro to X99 [Successful Build/Extended Guide]

Status
Not open for further replies.
Hi KGP
I add some missing data This data come from gigabyte/ASUS x99 board.
Under devices DSB0,DSB1,DSB2,DSB3,DSB4 to
SSDT-X99-TB3-BR1A.aml
Now method _L69 verified.
Code:
    External (ABPS, MethodObj)    // 1 Arguments (from opcode)
    External (AG16, MethodObj)    // 0 Arguments (from opcode)
    External (CCIE, UnknownObj)    // (from opcode)
    External (DTGP, MethodObj)    // 5 Arguments (from opcode)
    External (HPCP, MethodObj)    // 0 Arguments (from opcode)
    External (HPEV, MethodObj)    // 0 Arguments (from opcode)
    External (IO80, UnknownObj)    // (from opcode)
    External (PG16, MethodObj)    // 0 Arguments (from opcode)
    External (PICM, MethodObj)    // 0 Arguments (from opcode)
    External (PPXH, MethodObj)    // 1 Arguments (from opcode)
    External (SSTS, MethodObj)    // 0 Arguments (from opcode)

Code:
Method (PMEH, 1, NotSerialized)
            {
                If (And (HPEV (), SSTS ()))
                {
                    If (ABPS (Zero))
                    {
                        ABPS (One)
                        Sleep (0xC8)
                    }
                }

                Return (0xFF)
            }

            Method (HPEH, 1, NotSerialized)
            {
                If (LNot (HPCP ()))
                {
                    Return (0xFF)
                }

                Store (0xFE, IO80)
                Sleep (0x64)
                Store (Zero, CCIE)
                If (And (HPEV (), SSTS ()))
                {
                    Store (0xFD, IO80)
                    Sleep (0x0A)
                    Store (PPXH (Zero), Local0)
                    Return (Local0)
                }
                Else
                {
                    Return (0xFF)
                }

                Store (0xFC, IO80)
                Sleep (0x0A)
            }
 

Attachments

  • SSDT-TB3-BR1A -XHC3-HPME.aml
    749 bytes · Views: 113
  • SSDT-X99-TB3-BR1A.aml
    7.6 KB · Views: 128
  • Like
Reactions: kgp
Hi KGP
I add some missing data This data come from gigabyte/ASUS x99 board.
Under devices DSB0,DSB1,DSB2,DSB3,DSB4 to
SSDT-X99-TB3-BR1A.aml
Now method _L69 verified.
Code:
    External (ABPS, MethodObj)    // 1 Arguments (from opcode)
    External (AG16, MethodObj)    // 0 Arguments (from opcode)
    External (CCIE, UnknownObj)    // (from opcode)
    External (DTGP, MethodObj)    // 5 Arguments (from opcode)
    External (HPCP, MethodObj)    // 0 Arguments (from opcode)
    External (HPEV, MethodObj)    // 0 Arguments (from opcode)
    External (IO80, UnknownObj)    // (from opcode)
    External (PG16, MethodObj)    // 0 Arguments (from opcode)
    External (PICM, MethodObj)    // 0 Arguments (from opcode)
    External (PPXH, MethodObj)    // 1 Arguments (from opcode)
    External (SSTS, MethodObj)    // 0 Arguments (from opcode)

Code:
Method (PMEH, 1, NotSerialized)
            {
                If (And (HPEV (), SSTS ()))
                {
                    If (ABPS (Zero))
                    {
                        ABPS (One)
                        Sleep (0xC8)
                    }
                }

                Return (0xFF)
            }

            Method (HPEH, 1, NotSerialized)
            {
                If (LNot (HPCP ()))
                {
                    Return (0xFF)
                }

                Store (0xFE, IO80)
                Sleep (0x64)
                Store (Zero, CCIE)
                If (And (HPEV (), SSTS ()))
                {
                    Store (0xFD, IO80)
                    Sleep (0x0A)
                    Store (PPXH (Zero), Local0)
                    Return (Local0)
                }
                Else
                {
                    Return (0xFF)
                }

                Store (0xFC, IO80)
                Sleep (0x0A)
            }

That's too confusing: can you please provide a final version of SSDT-X299-TB3-iMacPro.aml, SSDT-X299-TB3-BR1A-XHC5-HPME.aml, SSDT-X299-TB3-iMacPro-GB.aml, SSDT-X299-TB3-RP21-XHC5-HPME-GB.aml for X299 and a final version of SSDT-X99-TB3-iMacPro.aml, SSDT-X99-TB3-BR2A-XHC5-HPME.aml, SSDT-X99-TB3-iMacPro-GB.aml, SSDT-X99-TB3-BR1A-XHC5-HPME-GB.aml for X99 by just implementing your last changes? Note that in SSDT-X99-TB3-iMacPro-GB.aml, SSDT-X99-TB3-BR1A-XHC5-HPME-GB.am we still have to implement the correct Gigabyte ACPI path.

As you see we have now in total 8 files. It is important to maintain the proposed file name nomenclature in order to know which file is for what. Otherwise we are lost.

Many thanks in advance,

KGP

P.S.: Further updates should always be implemented in all the 8 files. These are also the files I am going to distribute within my guides. Therefor please just verify the ACPI patch for X99 Gigabyte files and else just implement your latest changes concerning L69 detailed above.
 

Attachments

  • SSDT-X299-TB3-iMacPro.aml.zip
    2.4 KB · Views: 82
  • SSDT-X299-TB3-BR1A-XHC5-HPME.aml.zip
    980 bytes · Views: 80
  • SSDT-X299-TB3-iMacPro-GB.aml.zip
    2.1 KB · Views: 79
  • SSDT-X299-TB3-RP21-XHC5-HPME-GB.aml.zip
    1.1 KB · Views: 80
  • SSDT-X99-TB3-iMacPro.aml.zip
    2.4 KB · Views: 93
  • SSDT-X99-TB3-BR2A-XHC5-HPME.aml.zip
    978 bytes · Views: 88
  • SSDT-X99-TB3-iMacPro-GB.aml.zip
    2.4 KB · Views: 89
  • SSDT-X99-TB3-BR1A-XHC5-HPME-GB.aml.zip
    990 bytes · Views: 70
Hi KGP
Finally I add same data under device UPSB too.
Now you have to add
Under devices UPSB,DSB0,DSB1,DSB2,DSB3,DSB4
I update this SSDT please look that.
Code:
Method (PMEH, 1, NotSerialized)
            {
                If (And (HPEV (), SSTS ()))
                {
                    If (ABPS (Zero))
                    {
                        ABPS (One)
                        Sleep (0xC8)
                    }
                }

                Return (0xFF)
            }

            Method (HPEH, 1, NotSerialized)
            {
                If (LNot (HPCP ()))
                {
                    Return (0xFF)
                }

                Store (0xFE, IO80)
                Sleep (0x64)
                Store (Zero, CCIE)
                If (And (HPEV (), SSTS ()))
                {
                    Store (0xFD, IO80)
                    Sleep (0x0A)
                    Store (PPXH (Zero), Local0)
                    Return (Local0)
                }
                Else
                {
                    Return (0xFF)
                }

                Store (0xFC, IO80)
                Sleep (0x0A)
            }
 

Attachments

  • SSDT-X99-TB3-BR1A.aml
    7.7 KB · Views: 134
  • SSDT-X299-TB3-iMacPro.aml
    7.7 KB · Views: 110
Hi KGP
Finally I add same data under device UPSB too.
Now you have to add
Under devices UPSB,DSB0,DSB1,DSB2,DSB3,DSB4
I update this SSDT please look that.
Code:
Method (PMEH, 1, NotSerialized)
            {
                If (And (HPEV (), SSTS ()))
                {
                    If (ABPS (Zero))
                    {
                        ABPS (One)
                        Sleep (0xC8)
                    }
                }

                Return (0xFF)
            }

            Method (HPEH, 1, NotSerialized)
            {
                If (LNot (HPCP ()))
                {
                    Return (0xFF)
                }

                Store (0xFE, IO80)
                Sleep (0x64)
                Store (Zero, CCIE)
                If (And (HPEV (), SSTS ()))
                {
                    Store (0xFD, IO80)
                    Sleep (0x0A)
                    Store (PPXH (Zero), Local0)
                    Return (Local0)
                }
                Else
                {
                    Return (0xFF)
                }

                Store (0xFC, IO80)
                Sleep (0x0A)
            }

With removed THB_C, DSB2 and TB USB3.1 driver not loaded without connecting an USB device at boot -> no USB hot plug.

Can we still fix this?

EDIT:

To be more precise - current status ASUS Prime X299 Deluxe/Alpine Ridge:

THB_C connected
  • NHI and USB PCI drivers permanently loaded.
  • USB Hot Plug, even in case that no USB device is connected at boot.
  • No TB Hot Plug!

THB_C disconnected
  • NHI and USB PCI drivers not permanently loaded
  • NHI PCI driver only implemented in case that at least 1x TB device is connected at boot. However TB hot plug on both TB ports subsequently.
  • USB driver only implemented if a USB device is connected at boot. No USB Hot Plug afterwards.
Attached below once more the compendium of available TB-SSDTs, implementing all your latest modifications
 

Attachments

  • SSDT-X299-TB3-iMacPro-ASUS.aml
    7.7 KB · Views: 73
  • SSDT-X299-TB3-BR1A-XHC5-HPME-ASUS.aml
    749 bytes · Views: 80
  • SSDT-X299-TB3-iMacPro-GB.aml
    7.7 KB · Views: 82
  • SSDT-X299-TB3-RP21-XHC5-HPME-GB.aml
    749 bytes · Views: 75
  • SSDT-X99-TB3-iMacPro-ASUS.aml
    7.7 KB · Views: 97
  • SSDT-X99-TB3-BR2A-XHC5-HPME-ASUS.aml
    749 bytes · Views: 88
  • SSDT-X99-TB3-iMacPro-GB.aml
    7.7 KB · Views: 99
  • SSDT-X99-TB3-BR1A-XHC5-HPME-GB.aml
    749 bytes · Views: 72
Last edited:
Hi @kgp I have followed your guide to the detail. Managed to finally install 10.13.5 on freshly build X99A2 board with 6950X, so basically, your same build.

Besides the complication to install, which I had to add other AptioFix drivers, now I find myself unable to boot from M.2 drive, I can boot from USB, although not all of the time, but it does. Now, from the M.2 it has been impossible.. I have tried several things with no luck.

I have tried using your EFI all together with no luck in this matter.

It all happens when (in verbose) just starts loading, image attached. I'm lost this way, perhaps you might have an idea of why?
 

Attachments

  • IMG_20180710_173246.jpg
    IMG_20180710_173246.jpg
    4.3 MB · Views: 76
Hi @kgp I have followed your guide to the detail. Managed to finally install 10.13.5 on freshly build X99A2 board with 6950X, so basically, your same build.

Besides the complication to install, which I had to add other AptioFix drivers, now I find myself unable to boot from M.2 drive, I can boot from USB, although not all of the time, but it does. Now, from the M.2 it has been impossible.. I have tried several things with no luck.

I have tried using your EFI all together with no luck in this matter.

It all happens when (in verbose) just starts loading, image attached. I'm lost this way, perhaps you might have an idea of why?

1.) Enable "Above 4G Decoding" in BIOS
2.) Use "AptioMemoryFix.efi" originally implemented in my EFI-distribution
3.) Adopt and copy TSCAdjustReset.kext to /EFI/Clover/kexts/Other/

Good luck,

KGP
 
XCPM performance patch is not working for me on 10.13.6 . It was working perfectly on 10.13.5
 
XCPM performance patch is not working for me on 10.13.6 . It was working perfectly on 10.13.5

As I said, don't update to 10.13.6 or you will loose OC..
 
1.) Enable "Above 4G Decoding" in BIOS
2.) Use "AptioMemoryFix.efi" originally implemented in my EFI-distribution
3.) Adopt and copy TSCAdjustReset.kext to /EFI/Clover/kexts/Other/

Good luck,

KGP
Did all that, and no luck still.. Theres no debug, so I can't even see what is going on.. very frustrating, I'll have to erase and try with MacPro6,1 and see what happens.
 
Did all that, and no luck still.. Theres no debug, so I can't even see what is going on.. very frustrating, I'll have to erase and try with MacPro6,1 and see what happens.

You are still with the Z370G as shown in your profile? Not sure if my EFI-Folder would work with this board without modifications..

Usually performing 1.) to 3.) is sufficient to successfully boot any X99 system..
 
Status
Not open for further replies.
Back
Top