The following guide will show how to add PCI Slot Information to a DSDT and or SSDT ACPI Table. After adding these edits you will be able to see your device under PCI Cards in System Profiler. This can also resolve some Graphics Cards issues under Mac OS X.

Index:

Accreditation
Section 1: PCI Slot Identification
Section 2: PCI Device Address
Section 3: Applying PCI Slot Patch
Section 4: Verification

Accreditation:

Andrew Kern – Publisher
Nick Smith – Editor
Slice’s post found here.

Section 1: PCI Slot Identification

1. Open up the side of the Computer Case.

2. Count from the First PCI or PCIe Slot to the card that the patch will be used for. Record the Slot Number.

3. Continue to Section 2.

Section 2: PCI Device Address

1. Obtain IORegistryExplorer here.

2. Open IORegistryExplorer:

IORegistryExplorer

3. Locate the Address of the PCI or PCIe card that the patch will be used for:

1

4. Record the full Device Name:

_SB.PCI0.PEG1.PEGP

5.  Continue to Section 3.

Section 3: Applying PCI Slot Patch

1. Open the DSDT/SSDT to be edited with DSDT Editor:

Screen Shot 2014-11-14 at 11.56.57 AM

2. Copy the following code:

Method 1:

 External (_SB_.PCI0.PEG0.PEGP, DeviceObj)
 Scope (_SB.PCI0.PEG0.PEGP)
 {
 Method (_DSM, 4, NotSerialized)
 {
 If (LEqual (Arg2, Zero))
 {
 Return (Buffer (One)
 {
 0x03
 })
 }
 Return (Package (0x02)
 {
 "AAPL,slot-name", 
 Buffer (0x07)
 {
 "Slot-1"
 }
 })
 }
 }

Method 2:

Method (_DSM, 4, NotSerialized)
 {
 If (LEqual (Arg2, Zero))
 {
 Return (Buffer (One)
 {
 0x03
 })
 }
 Return (Package (0x02)
 {
 "AAPL,slot-name", 
 Buffer (0x07)
 {
 "Slot-1"
 }
 })
 }

3. Paste the Code into a DSDT under original DSDT Device or into a SSDT adding this line of code to the top of the SSDT:

External (_SB_.PCI0.PEG0.PEGP, DeviceObj)

4. Change the Device Name with the name recorded in Section 2:

_SB.PCI0.PEG0.PEGP

5. Change the Slot ID with the number recorded in Section 1:

Slot-1

6. In the Menu Bar, Click on IASL.

7. Click on Compile:

3

8. Click on Fix Errors.

9. In the Menu Bar, Click on IASL.

10. Click on Save AML as…

6

11. Save the SSDT as SSDT.aml. If there is already a SSDT using that name then save the compiled file as SSDT-1.

12. Install the SSDT into the appropriate location based on the Boot Loader being used.

13. Restart the computer.

14. Continue to Section 4.

Section 4: Verification

1. Open System Report.

2. Select PCI from the Left Hand Menu.

3. Verify the results of the patch.

13 Comments on "PCI Slot ID’S"

  1. Not work for me, i have a Server Board Intel S5520HC and i don’t find any of this string on the extracted dsdt. Can You help me to configure a new working dsdt for my config?

    Reply
  2. Hi !
    Please hepl me watch, I can patch pci items to display in the PCI Slot ID ?
    DSDT and IOREG
    https://drive.google.com/file/d/0B-eWQb3trmdZX3V1WlBtUXZkd28/view?usp=sharing

    Reply
  3. Hi Andrew,
    Please help! I can’t see anything like your examples in IOregisterExplorer. I’m trying to sort out the issue of my quadro K2000 (I can only boot with nv_disable=1 otherwise black screen) but it worked right away in my previous mackintosh. I thing It can be related to PCI itself as it doesn’t appears in system profile.

    Here my IOREG and .aml files
    https://we.tl/AHhH0NqTBV

    Thank you

    Reply
  4. I’m afraid it doesn’t work.
    I know it an issue related to my mobo (asus z9pa-d8) a server board with a couple of xeons. I’ve installed El Capitan and Mavericks but I can only boot in any of them with nv_disable=1 or I get a black screen.
    Mavericks detects PCI slots better and it does show the GPU in PCI 0 so I have to look elsewhere to sort this out, I’d like to inject somehow the graphics card via SSDT but I’m completely lost.
    I’ve tried to follow your guide with little success so any help will be really appreciated.

    Reply
  5. It might be that you to do AppleGraphics kexts mod. That is here as a guide as well. I used to have that board and that’s how I fixed it.

    Reply
  6. Hi Immorta1Jman,
    did you managed to make a GPU to work in THe Z9PA-D8? I’ve been searching in the web without any result, all the guides I’ve seen are for its “bigger” sister the Z9PE-D8 WS.
    I tried to follow the “Nvidia 600 series Graphics Guide” in this site without success, the quadro K2000 uses a similar chip to the GTX650 (I have to say I have no experience in modding the DSDT or SSDT).
    Can you post the link to the guide you’re refering to? or even better any trick you remember to make it work?.
    Thank you

    Reply
  7. It was only on the big sister and I had to use the retail drivers and install the OS with another card that did work. I could never get booted into the installer with my GTX 980Ti. I know others who did on my board but they must’ve had a different brand.

    Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

Time limit is exhausted. Please reload the CAPTCHA.