Jump to content

DSDT for Asus P8P67-M PRO


Time2Retire
 Share

834 posts in this topic

Recommended Posts

Should I just post it here or make a new thread under "Releases"?

I'd say attach it here. No release. Beta stage first. Maybe limiting it to Asus boards first? For 'experts' only? We are probably going to get (a lot) of questions about DSDT fixes anyway.

Link to comment
Share on other sites

SpeedStepper v1.0 (BETA)

 

SpeedStepper is a command-line tool that patches AppleIntelCPUPowerManagement.kext to load on ASUS P67 boards.

 

It patches 10 distinct write operations to MSR 0x2E, that is locked by the ASUS BIOS.

 

Supported is only AICPUPM v142.6.0 (32/64bit).

 

 

WARNING: this is beta software and meant for further analysis to get SpeedStep working on P67. It is not a complete solution. Test it at your own risk.

 

Usage: Make a backup of the kext first, SpeedStepper will directly write to the binary given. You can run it multiple times and see if everything was patched.

 

 

speedstepper.zip

Link to comment
Share on other sites

I'd say we need our own monitoring tool, to be sure of things. Do we need a kernel extension to read the relevant MSR's?

 

SMCMonitor http://www.insanelymac.com/forum/index.php?showtopic=247185 doesn't show any frequency at all.

There's also CPU-I and VoodooMonitor. Maybe we can get the source code and check if we can change it for SB?

Link to comment
Share on other sites

Here is the source for the FakeSMC plugin, it should populate the SMC keys with the frequencies...

 

http://subversion.assembla.com/svn/fakesmc...lCPUMonitor.cpp

 

 

I have this for PSD, is there a reason to omit one package description or is it simply obsolete?

Name (_PSD, Package (0x01) { Package (0x05) { 0x05, Zero, Zero, 0xFE, 0x04 } })

 

 

RevoBoot iMac12,2 - modified version of your sddt_pr and I still get

May 20 20:51:55 --- kernel[0]: ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out
May 20 20:53:52 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 1234
May 20 20:53:52 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 10:29:56 Apr 27 2011) initialization complete
May 20 20:53:52 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready

Link to comment
Share on other sites

I heard some issues with MSI boards as well, but no specifics. I've PM'd Raja @hardforum, but he only channels the reports. Posting these bugs directly in the ASUS support forum would be of help, I'm sure.

 

If you can supply the text that describes the issue that needs to be fixed (in a Linux or otherwise more savory way) I'd be very happy to help spread it around.

Link to comment
Share on other sites

Here is the source for the FakeSMC plugin, it should populate the SMC keys with the frequencies...

 

http://subversion.assembla.com/svn/fakesmc...lCPUMonitor.cpp

Ok thanks, but what do you want me to do with it?

 

I have this for PSD, is there a reason to omit one package description or is it simply obsolete?

Name (_PSD, Package (0x01) { Package (0x05) { 0x05, Zero, Zero, 0xFE, 0x04 } })

I don't think that we need the two. One should suffice. I first checked the ACPI specification which reads:

 

"This optional object provides P-state control cross logical processor dependency information to OSPM. The _PSD object evaluates to a package that identifies a dependency domain number for the logical processor’s P-states, the coordination type, and the number of logical processors belonging to the domain."

 

And I also found the following source code snippet, part of all stripped Asus DSDT's in the P5K PRO thread:

		Name (PSD, Package (0x05)
	{
		0x05,
		Zero,
		Zero,
		0xFC,
		0x04
	})

Seems to be working here / there.

 

RevoBoot iMac12,2 - modified version of your sddt_pr and I still get

May 20 20:51:55 --- kernel[0]: ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out
May 20 20:53:52 localhost kernel[0]: AppleIntelCPUPowerManagement: Turbo Ratios 1234
May 20 20:53:52 localhost kernel[0]: AppleIntelCPUPowerManagement: (built 10:29:56 Apr 27 2011) initialization complete
May 20 20:53:52 localhost kernel[0]: AppleIntelCPUPowerManagementClient: ready

So strange. What happens when you use MacBookPro8,3 instead?

Link to comment
Share on other sites

I must have confused the boot configuration, because now I get no errors of AICPUPM or SMC_Platform_Plugin!

 

Ok thanks, but what do you want me to do with it?

Not sure if their calculation for SB is correct. I wasn't able to compile the code, because Xcode errors out about the run configuration. I already reset the deployment to 10.6 and auto-created the schemes, but it wont let me compile.

 

 

Well, no errors. But I'm missing the "Power Status" dictionary in one of your screenshots, where should that be under?

Link to comment
Share on other sites

I must have confused the boot configuration, because now I get no errors of AICPUPM or SMC_Platform_Plugin!

Great. So now you don't have any error message left in kernel.log with some sort of reference to AICPUPM? Not even this one:

ACPI_SMC_CtrlLoop::loadStepperContext - pmCPUControl (pmioctlPStateContext_t) failed, result = 0x16

I have yet to solve this one.

 

Not sure if their calculation for SB is correct. I wasn't able to compile the code, because Xcode errors out about the run configuration. I already reset the deployment to 10.6 and auto-created the schemes, but it wont let me compile.

I'll start checking the MSR's first thing tomorrow. Let's see what we can do.

 

Well, no errors. But I'm missing the "Power Status" dictionary in one of your screenshots, where should that be under?

 

Should be under IOPMrootDomain

Link to comment
Share on other sites

Seems to be working here / there.

Ah yes. Asus defines 0xFE = HW_ALL, where Apple uses 0xFC = SW_ALL.

 

Maybe I'll get your error as well then, never had that one in all of my old logs.

 

 

Changed it to 0xFC and now it hangs on ACPI_SMC_PlatformPlugin::registerLPCDriver - failed to locate SMC driver

Link to comment
Share on other sites

flaked,

 

At some point, would you mind sharing you're current .aml's, and possibly the revoboot boot file (assuming you're not injecting video) and whatever else I can't think of?

 

I just tried your speedstep patcher and it didn't work for me, so I'm curious what's changed since then

Link to comment
Share on other sites

Ah yes. Asus defines 0xFE = HW_ALL, where Apple uses 0xFC = SW_ALL.

 

Maybe I'll get your error as well then, never had that one in all of my old logs.

 

Changed it to 0xFC and now it hangs on ACPI_SMC_PlatformPlugin::registerLPCDriver - failed to locate SMC driver

Apple checks PDC0 but Asus is using PDCV for this. And looking at this code snippet in Method OSC (factory DSDT.dsl):

            And (PDCV, CAP, PDCV)
           If (LEqual (CINT, Zero))
           {
               Store (One, CINT)
               If (LEqual (And (PDCV, 0x09), 0x09))
               {
                   If (LNotEqual (NPSS, Zero))
                   {
                       Load (SSDT, HNDL)
                   }
               }

               If (LEqual (And (PDCV, 0x10), 0x10))
               {
                   If (LNotEqual (NCST, 0xFF))
                   {
                       Load (CSDT, CHDL)
                   }
               }
           }

That tells me that bits 0, 3 (0x09) and bit 4 (0x10) are set - or the two factory SSDT tables won't get loaded.

 

Bit 2 (0x04) is checked in Methods _PTC and _TSS

Bit 9 (0x200) is checked in Method CST

 

We could take the factory DSDT and replace 0x09 with 0x02 and 0x10 with 0x200 to see if these bits are set - when one or both factory SSDT tables aren't loading... we know what is going on.

 

It could also lead to insight as to when these bits are set, in respect to UEFI BIOS settings.

Link to comment
Share on other sites

I just tried your speedstep patcher and it didn't work for me, so I'm curious what's changed since then

What exactly doesn't work? You patched it and now can boot without NullCPU?

Link to comment
Share on other sites

Now this is strange. I changed SSDT_PR back to the one that booted fine, but now it gives the same error, just hangs there. Even after a cold start. But I can't think anymore, brain wash :whistle:

 

Good night!

Link to comment
Share on other sites

My post got eaten, sorry guys!

 

What exactly doesn't work? You patched it and now can boot without NullCPU?

 

Yeah, just like before, I patched it a couple times to double check, still can't boot without NullCPU!

 

You forgot to recreate the system mkext and/or kernel cache maybe?

 

Nope, I'm afraid not, and the error's are still the same as before, which leads me to believe something else must changed! I've been busy at work, so I haven't had time to keep up, I'll go through the whole thread a bit later. Thanks though.

Link to comment
Share on other sites

Nope, I'm afraid not, and the error's are still the same as before, which leads me to believe something else must changed! I've been busy at work, so I haven't had time to keep up, I'll go through the whole thread a bit later. Thanks though.

ok. So you get a panic, right? If yes, please attach a picture of the KP, or at least tell us if the KP you get is exactly the same one as before you've patched AppleIntelCPUPowerManagement. Thanks.

Link to comment
Share on other sites

ok. So you get a panic, right? If yes, please attach a picture of the KP, or at least tell us if the KP you get is exactly the same one as before you've patched AppleIntelCPUPowerManagement. Thanks.

 

Yes, that's correct, I get the same KP as I did before patching AICPM without using NullCPU. My system is exactly the same as flaked's (except for the sound and video card) and I'm using an older version of AnVAL (6.1.4?) at the moment. I was able to boot with RevoBoot fine before, but I switched back for a bit and now have to recompile it.

Link to comment
Share on other sites

Yes, that's correct, I get the same KP as I did before patching AICPM without using NullCPU.

That doesn't make sence. Like patching didn't work. Version mismatch?

 

Can you do it once more. Starting with an unmodified file and attach the output of the speedstepper tool here?

 

My system is exactly the same as flaked's (except for the sound and video card) and I'm using an older version of AnVAL (6.1.4?) at the moment. I was able to boot with RevoBoot fine before, but I switched back for a bit and now have to recompile it.

Trust me. It isn't the boot loader that made it work.

 

Time for me to start counting sheep. Good night :whistle:

Link to comment
Share on other sites

Ok, so the hang on LPC seems to be related to the iMac12,2 definition.

 

Booting with MBP8,3 gives no errors, I get AGPMEnabler, AppleSMCPDRC under MCHC and the Power Status dict.

 

 

-> The reason why AGPM works is because the MBP8,3 matches on GFX0, rather than a direct device-id.

Link to comment
Share on other sites

Ok, so the hang on LPC seems to be related to the iMac12,2 definition.

 

Booting with MBP8,3 gives no errors, I get AGPMEnabler, AppleSMCPDRC under MCHC and the Power Status dict.

 

-> The reason why AGPM works is because the MBP8,3 matches on GFX0, rather than a direct device-id.

Because you have a Asus GT250 and not an AMD Radeon HD card where it is looking for?

 

Maye this is why I get the error in kernel.log and you don't? I can verify this later today, but I am first going to play with the Scythe Mugen 2 Rev B cooler which should arrive here any minute now (thanks to track and tracing).

Link to comment
Share on other sites

Using the AppleSMBIOS frequency fix the boot get's very long, seems to influence USB and hanging there a bit.

 

Debugging the registerLPCDriver error is getting frustrating, I do one change at a time, but if I revert I get the same error. So I get the same error with MBP8,3 as well now, just hanging in the console.

 

I did a test-run of Prime95, does it mean anything if the temp of all core goes from 41 to 51°C?

 

 

Found out that 0xFC in PSD is causing this, 0xFE is working fine.

Link to comment
Share on other sites

 Share

×
×
  • Create New...