Contribute
Register

[Guide] Patching LAPTOP DSDT/SSDTs

to be honest, no idea actually because i have a DSDT and 8 SSDT, the one attach above was the only one with problem so i was just trying to be on the safer side fixing it.
 
to be honest, no idea actually because i have a DSDT and 8 SSDT, the one attach above was the only one with problem so i was just trying to be on the safer side fixing it.

No need to re-compile an SSDT if you have no specific plans to patch it.
 
Hi RehabMan,

I am doing my PCI implement for each PCI devices.

I have many 'PXSX' variables for the device's address. So I tried to change it to certain address for iMac Pro. For example, Airport device needs to be changed 'ARPT' but my original board's address name is 'PXSX' Since I know there are many 'PXSX' at other devices, I cannot change it in Config (ACPI- DSDT patches) but only I can change it directly in SSDT. As you can see my Example below:

DefinitionBlock ("", "SSDT", 1, "CLIMB", "Z370", 0x00000000)
{

External (_SB_.PCI0.RP02.ARPT, DeviceObj) // (from opcode)
External (_SB_.PCI0.RP02.PXSX, DeviceObj) // (from opcode)

Scope (_SB.PCI0.RP02.ARPT)
{
OperationRegion (PCIS, PCI_Config, Zero, 0x0100)
Field (PCIS, AnyAcc, NoLock, Preserve)
{
PVID, 16,
PDID, 16
}

Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}

Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
Store (Package (0x0E)
{
"built-in",
Buffer (One)
{
0x00
},

"device-id",
Buffer (0x04)
{
0xA0, 0x43, 0x00, 0x00
},

"AAPL,slot-name",
Buffer (0x07)
{
"Slot-3"
},

"device_type",
Buffer (0x13)
{
"AirPort Controller"
},

"model",
Buffer (0x4A)
{
"OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 Controller"
},

"compatible",
Buffer (0x0D)
{
"pci14e4,43a0"
},

"name",
Buffer (0x10)
{
"AirPort Extreme"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

Name (_SB.PCI0.RP02.PXSX._STA, Zero) // _STA: Status




But IOREG shows alway the 'PXSX' unchanged.

The weird thing is I can change 'PXSX' for NVME to 'ANS2' with the same code.

But another weird thing is that 'PXSX' to 'ANS2' is not changing if it is with other devices codes together.

I am sorry my bad English.

I attached my SSDT files Please see the tile of files and Please help me to fix it.

Do they have to be in sorting method like by alphabetically or by a certain way to edit?
 

Attachments

  • SSDT-change PXSX to ANS2.aml
    1.3 KB · Views: 139
  • SSDT-notChange PXSX to ANS2.aml
    4.9 KB · Views: 132
Hi RehabMan,

I am doing my PCI implement for each PCI devices.

I have many 'PXSX' variables for the device's address. So I tried to change it to certain address for iMac Pro. For example, Airport device needs to be changed 'ARPT' but my original board's address name is 'PXSX' Since I know there are many 'PXSX' at other devices, I cannot change it in Config (ACPI- DSDT patches) but only I can change it directly in SSDT. As you can see my Example below:

DefinitionBlock ("", "SSDT", 1, "CLIMB", "Z370", 0x00000000)
{

External (_SB_.PCI0.RP02.ARPT, DeviceObj) // (from opcode)
External (_SB_.PCI0.RP02.PXSX, DeviceObj) // (from opcode)

Scope (_SB.PCI0.RP02.ARPT)
{
OperationRegion (PCIS, PCI_Config, Zero, 0x0100)
Field (PCIS, AnyAcc, NoLock, Preserve)
{
PVID, 16,
PDID, 16
}

Method (_PRW, 0, NotSerialized) // _PRW: Power Resources for Wake
{
Return (GPRW (0x69, 0x04))
}

Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
Store (Package (0x0E)
{
"built-in",
Buffer (One)
{
0x00
},

"device-id",
Buffer (0x04)
{
0xA0, 0x43, 0x00, 0x00
},

"AAPL,slot-name",
Buffer (0x07)
{
"Slot-3"
},

"device_type",
Buffer (0x13)
{
"AirPort Controller"
},

"model",
Buffer (0x4A)
{
"OSX WIFI Broadcom BCM94360CD 802.11 a/b/g/n/ac + Bluetooth 4.0 Controller"
},

"compatible",
Buffer (0x0D)
{
"pci14e4,43a0"
},

"name",
Buffer (0x10)
{
"AirPort Extreme"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

Name (_SB.PCI0.RP02.PXSX._STA, Zero) // _STA: Status




But IOREG shows alway the 'PXSX' unchanged.

The weird thing is I can change 'PXSX' for NVME to 'ANS2' with the same code.

But another weird thing is that 'PXSX' to 'ANS2' is not changing if it is with other devices codes together.

I am sorry my bad English.

I attached my SSDT files Please see the tile of files and Please help me to fix it.

Do they have to be in sorting method like by alphabetically or by a certain way to edit?

Why?
There is no need to rename the PXSX to ARPT.
 
Why?
There is no need to rename the PXSX to ARPT.
Hi, RehabMan

Really? But iMac Pro dump file shows Airport PCI device's address name is 'ARPT' That's why I want to change it. I change almost 7 devices showed up in PCI information in System profile. But some of them are not working. And If I made one mistake with any address in ssdt, PCI information said no PCI devices installed this mac. Probably you already know this.

Probably there is some restriction of this process. Is there anyway, I can figure it out to fix this problem? So I can fix soemthing before I do this SSDT process correctly?

RP09.'PXSX' -> RP09.'ANS2' working alone (but if there is other 'PXSX' in SSDT, won't change this either in IOREG)
RP03.'PXSX' -> RP03.'ETH1' can't change (not change in IOREG)
RP02.'PXSX' -> RP02.'ARPT' can't change (not change in IOREG)

And also, I tried to change variable 'XHC' ->'XHCI' for showing chipset info. But it corrupted with my SSDT-USB so I changed back to 'XHC' and USB injection all good. But I know there should be another way to fix this too.

I am so sorry, but if you have no time for help I understand. But at least I tried. :)) Do you have any other tips?

Thank you!

Joe.
 

Attachments

  • Screen Shot 2018-04-09 at 4.54.58 PM.png
    Screen Shot 2018-04-09 at 4.54.58 PM.png
    149.8 KB · Views: 155
  • IOREG_buyjoey.zip
    1 MB · Views: 78
Hi, RehabMan

Really? But iMac Pro dump file shows Airport PCI device's address name is 'ARPT' That's why I want to change it.

The name seems to not be significant. I generally avoid changing things that don't matter.
But you can do the rename with config.plist/ACPI/DSDT/Patches. Look into the TgtBridge option.
For example, in a certain scenario I wanted to rename XDCI._STA to XSTA.
I used:
Find: <5f535441>
Replace: <58535441>
TgtBridge: <58444349>

Although that was for a method, it will likely work for a device as well.

And also, I tried to change variable 'XHC' ->'XHCI' for showing chipset info. But it corrupted with my SSDT-USB so I changed back to 'XHC' and USB injection all good. But I know there should be another way to fix this too.

As per USB guide, it should stay XHC.
You can easily inject these cosmetic properties on the original names...

But you should really think twice about this...
My real Apple MacBookAir6,2 shows nothing in System Information -> PCI.
 
The name seems to not be significant. I generally avoid changing things that don't matter.
But you can do the rename with config.plist/ACPI/DSDT/Patches. Look into the TgtBridge option.
For example, in a certain scenario I wanted to rename XDCI._STA to XSTA.
I used:
Find: <5f535441>
Replace: <58535441>
TgtBridge: <58444349>

Although that was for a method, it will likely work for a device as well.



As per USB guide, it should stay XHC.
You can easily inject these cosmetic properties on the original names...

But you should really think twice about this...
My real Apple MacBookAir6,2 shows nothing in System Information -> PCI.


Wow, Awesome!!

I will try it with TgtBridge!! U r Genious!

This is a really fun day to figure out some new languages of course and English as well. :))

Thank you!
 
Wow, Awesome!!

I will try it with TgtBridge!! U r Genious!

This is a really fun day to figure out some new languages of course and English as well. :))

Thank you!

Hi again Mr. RehabMan

So I tried to use TgtBridge function for change PXSX to ARPT.


Screen Shot 2018-04-09 at 8.47.30 PM.png


So the address is PCI0.RP02.PXSX

Screen Shot 2018-04-09 at 8.49.00 PM.png


So I put TgtBridge = RP02 but It gave me KP in clover boot. It said not found _SB_.PCI0.RP02.PXSX

IMG_4511.JPG


What did I miss?
 
Last edited:
Back
Top