Contribute
Register

ML: Native Ivy Bridge CPU and GPU Power Management

Status
Not open for further replies.
Ioreg processes I don't see my agpm controller is not loading I only get agpm enabler when I search agpm why is that thanks for the help toleda
 
Hi every one, I'm using intel core i5 3210M 2.5Ghz, ML 10.8.2 12C60 with custom SSDT from ssdtPRGen, X86PlatformPlugin.kext load successfully and C & P-States were regrenerated, too, but speedstep doesn't work at all. My Hackintosh only have 2 P-States (1200 Mhz and 2500 Mhz), and boot log have these error:
Code:
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformPlugin::setRingTable - AICPM failed to load ring table with status 0x0: Get=0, Load=0, Install=0[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformPlugin::configResourceHandler - Failed to set ring table![/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::sendCStates - PMIOCSETCSTATE result 0xffffffff for state C1[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::sendCStates - PMIOCSETCSTATE result 0xffffffff for state C3[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::sendCStates - PMIOCSETCSTATE result 0xffffffff for state C6[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::sendCStates - PMIOCSETCSTATE result 0xffffffff for state C7[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::start - Failed to send CStates[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::sendPStates - pmCPUControl (PMIOCSETPSTATETABLE) returned 0xffffffff[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::start - Failed to send PStates[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::sendStepper - failed to set initial p-state to P0 (-1)[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::loadStepperContext - pmCPUControl (pmioctlPStateContext_t) failed, result = 0xffffffff[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::sendStepper - Failed to load normal stepper dictionary![/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::loadStepperContext - pmCPUControl (pmioctlPStateContext_t) failed, result = 0xffffffff[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::sendStepper - Failed to load normal stepper dictionary![/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::start - Failed to send stepper[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::propertyChangedHandler - Error: pmCPUControl (PMIOCSETVARVALUE) returned 0xffffffff[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:03.000 AM kernel[0]: X86PlatformShim::propertyChangedHandler - Error: pmCPUControl (PMIOCSETVARVALUE) returned 0xffffffff[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:10.000 AM kernel[0]: X86PlatformPlugin::cgRegisterCallbackHandler - gpu internal PLimit notification already registered[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:20.000 AM kernel[0]: X86PlatformShim::propertyChangedHandler - Error: pmCPUControl (PMIOCSETVARVALUE) returned 0xffffffff[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:20.000 AM kernel[0]: X86PlatformShim::propertyChangedHandler - Error: pmCPUControl (PMIOCSETVARVALUE) returned 0xffffffff[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:20.000 AM kernel[0]: X86PlatformShim::propertyChangedHandler - Error: pmCPUControl (PMIOCSETVARVALUE) returned 0xffffffff[/COLOR]
[COLOR=#ff0000]3/3/13 10:02:20.000 AM kernel[0]: X86PlatformShim::propertyChangedHandler - Error: pmCPUControl (PMIOCSETVARVALUE) returned 0xffffffff[/COLOR]
It seems that C-State and P-State was regrenerated successfully but X86PlatformShim cannot send it? :confused:
I tried MBP 10,1 9,2 MBA 5,2 Imac 3,1 Macmini 5,1 6,2, but no use. Before installing 12C60 build, I used 12C54 with SB power managerment I have speedstep works well with 8 steps, but CPU temp too high (60-80*C), so I changed to 12C60 with IB pow managerment and hope it can reduce temp, but until now, speedstep still didn't work :(
I'm using Chimera 2.0.1, legacy BIOS.
I attracted my ioreg file, hope you guys can help me :) I you need any files, tell me, I'll upload them as soon as I can.
View attachment IOREG3210M.zip
 
HD4000 is labeled GFX0 in your BIOS. In AGPM, HD4000 is labeled IGPU and discrete graphics is labeled GFX0.
Your IOReg X86PlatformPlugin/AGPMController/Machine/Macmini6,2 shows:
GFX0
IGPU
Vendor10deDevice1183

To ensure the HD4000 gets the correct PM, consider the following edits to AGPM/info.plist: (Note: Not tested, I edit the dsdt)
Delete GFX0
Rename IGPU to GFX0.

Another secret, if you want max HD4000 frequency, edit max-power-state from 17 to 18.

Enjoy.

Toleda, is AGPM/info.plist editing necessary?
How do you change max-power-state? Adding the string in AGPM did not change in ioreg AGPMController, stated to 0x12.
 

Attachments

  • ioreg giacomoleopardo.zip
    445.3 KB · Views: 85
Here is my SSDT + ioreg + SSDTPRGen log. Thanks for your help :p
View attachment 48296
X86PlatformShim is missing in IOReg. SSDT is correct. Why are you using macbookpro9,1? I have not tested that sysdef. Suggest changing the sysdef to macbookpro10,1 or macmini6,1.
 
Toleda, is AGPM/info.plist editing necessary?
How do you change max-power-state? Adding the string in AGPM did not change in ioreg AGPMController, stated to 0x12.
18 decimal/plist = 0x12 (hex)/IOReg. More interesting is IGPU/AGPM where max power is 0x10/16 dec, perhaps the 3770T can't get to 0x12.
 
18 decimal/plist = 0x12 (hex)/IOReg. More interesting is IGPU/AGPM where max power is 0x10/16 dec, perhaps the 3770T can't get to 0x12.
You as expert can test that with this snippet:
Code:
External (\_SB.PCI0, DeviceObj)
External (\_SB.PCI0.LPCB, DeviceObj)

Scope (\_SB)
{
    Scope (PCI0)
    {
        Scope (LPCB)
        {
            OperationRegion (MBAR, SystemMemory, 0xFED10000, 0x599C)
            Field (MBAR, AnyAcc, NoLock, Preserve)
            {
                        Offset (0x5948),  // GT Performance Status Register
                GTPS,   32,
                        Offset (0x5994),  // RP-State Limitations Register
                RPSL,   32,
                        Offset (0x5998),  // RP State Capability Register
                RPSC,   32,
            }

            Method (_DSM, 4, NotSerialized)
            {
                If (LEqual (Arg2, Zero))
                {
                    Return (Buffer (One)
                    {
                        0x03
                    })
                }

                Return (Package (0x06)
                {
                    "GTPS",
                     GTPS,
                    "RPSL",
                     RPSL,
                    "RPSC",
                     RPSC
                })
            }
        }
    }
}
Or wait for AppleIntelCPUPowerManagementInfo.kext to be released.
 
X86PlatformShim is missing in IOReg. SSDT is correct. Why are you using macbookpro9,1? I have not tested that sysdef. Suggest changing the sysdef to macbookpro10,1 or macmini6,1.
Here is ioreg of macbookpro10,1; I can't find macmini6,1 smbios, google doesn't help. Can you help me find it? :shifty: I tried 6,2 but no difference to mbp10,1
View attachment ioreg3210M-10,1.zip
Note: X86Platformshim.kext loaded, but it's missing in Ioreg :crazy:
Screen Shot 2013-03-04 at 5.png
I use SMC monitor to watch C&P State, and This is screenshot. :banghead:, MSRDumper says my hackintosh only have 2 P-States...
 
Status
Not open for further replies.
Back
Top