Ok, here is my latest version with all PICM stuff removed and only APIC code left.
Once again 600 lines shorter.
Great. You can also remove the following snippet:
If (LEqual (Arg0, 0x04))
If (LNot (PICF))
You no longer use PICF – which otherwise should have been 0x01 anyway. Making the following snippet also a prime target for removal:
Name (PICF, Zero)
Method (_PIC, 1, NotSerialized)
Store (Arg0, PICF)
No need to initialize PICF
since you no longer use it.Next up:
Take a look at DBG1
and see what they do. You'll need the ICH9/10 datasheet for this, and please explain people here what you've found out about it... and more importantly how
you found this info.
p.s. Thank you for the kind words everyone!
...I continue to slim down the code. Side effect is my temp raised for 7-8C with the same speedstep code, used to sit idle at 38-39C, now its ~47C. I will have to investigate some more, hope i can solve it soon. If someone knows what might raise the temp i am all ears.
kextstat | grep SMBus
28 1 0xffffff7f80713000 0x2000 0x2000 com.apple.iokit.IOSMBusFamily (1.1) <5 4 3>
Ripped out a little too much? Here's mine:
30 2 0x555fd000 0x3000 0x2000 com.apple.iokit.IOSMBusFamily (1.1) <5 4 3>
67 0 0x5ca45000 0x2000 0x1000 com.apple.driver.AppleSMBusPCI (1.0.2d0) <14 5 4 3>
79 0 0x5536a000 0x9000 0x8000 com.apple.driver.AppleSMBusController (1.0.2d0) <30 14 13 5 4 3>
Concentrate on the Devices SBUS/EC for a starter.