RehabMan
Moderator
- Joined
- May 2, 2012
- Messages
- 181,016
- Motherboard
- Intel DH67BL
- CPU
- i7-2600K
- Graphics
- HD 3000
- Mac
- Mobile Phone
I chose to patch the DSDT to load AppleLPC for me by reporting the Device ID and compatibility as a similar device that is already in the kext.
My actual device device ID is: 8086,3b07
I added the _DSM method:
Code:Device (LPC) { Name (_ADR, 0x001F0000) // _ADR: Address Name (_S3D, 0x03) // _S3D: S3 Device State Name (RID, Zero) Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { Store (Package (0x04) { "device-id", Buffer (0x04) { 0x09, 0x3B, 0x00, 0x00 }, "compatible", Buffer (0x0D) { "pci8086,3b09" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) }
I had to patch AppleRTC to stop it from invalidating the CMOS checksum when attempting to sleep.
I have a 1st Generation Core i5 series processor.
Good... Much better way than patching the kext directly...
Your _DSM can be simplified (no need for DTGP):
Code:
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
Return (Package (0x04)
{
"device-id",
Buffer (0x04)
{
0x09, 0x3B, 0x00, 0x00
},
"compatible",
Buffer (0x0D)
{
"pci8086,3b09"
}
})
}