Jump to content

DSDT for Asus P8P67-M PRO


Time2Retire
 Share

834 posts in this topic

Recommended Posts

Are all declared P-States showing up already?

Nope, the maximum are 10 P-States with a non iMac12,2 Stepper Program. I see different States being used by changing APSN. But the states being used seem to be controlled by the Stepper Program.

Link to comment
Share on other sites

Nope, the maximum are 10 P-States with a non iMac12,2 Stepper Program. I see different States being used by changing APSN. But the states being used seem to be controlled by the Stepper Program.

What about using the stepper data from MacPro3_1.plist? Have you tried that already?

 

Some of the files share the same byte serie:

MacBook3_1.plist

iMac11_3.plist

iMac12_2.plist (from Lion)

01 0A 00 00 01 00 00 00 01 00 00 00 F5 00 01 05 00 00 01 00 00 05 FF

The 0A here might be that limit of 10. Wait. The MacBookPro8_3.plist also has 0A there so I guess that's also not it either:

01 0A 00 00 64 00 00 00 05 08 00 00 01 00 00 05 FF

But if we can't change the value -> checksum? And when nothing else seems to work, then I am going to settle with 8 (or 10) P-States and wait for good stuff to happen. Probably one of these:

 

16, 20, 25, 30, 35, 36, 37 and 38

16, 20, 25, 30, 34, 35, 36, 37 and 38

16, 18, 20, 22, 24, 35, 36, 37 and 38

16, 17, 18, 20, 21, 35, 36, 37 and 38

16, 21, 26, 32, 35, 36, 37 and 38

 

Note: I am going to update my DSDT one more time. A final update. After that other people may have a go with it and add stuff like USB3 and the Marvell controller support, but I am done with it.

Link to comment
Share on other sites

What about using the stepper data from MacPro3_1.plist? Have you tried that already?

Almost all of the MB and MBP are using SP1, so yes, see above.

I didn't try the one from the MacBookAir, because it is hardcoded to only 3/4 states.

 

Besides that I tested every Stepper Program. I'm a bit curious as to why on Lion DP3 I only see 5 States...

 

But yes, it seems we are stuck on the StepDataDict for now. I wasn't able to find out how it is being used in ACPI_SMC_PlatformPlugin.

Link to comment
Share on other sites

Almost all of the MB and MBP are using SP1, so yes, see above. I didn't try the one from the MacBookAir, because it is hardcoded to only 3/4 states.

 

Besides that I tested every Stepper Program. I'm a bit curious as to why on Lion DP3 I only see 5 States...

Probably because of this data:

00 01 00 00 00 01 00 00 00 01 06 00 00 02 00 00 00 04 01 00 00 80 00 C3 00 B7 00 2E 00 34 00 0B 00 00 00 02 00 00 00 01 00 00 00 01 00 00 00 02 00 00 00 02 02 00 00 02 06 00 00 01 00 00 00 01 00 00 00 F5 00 01 05 00 00 03 00 00 05 FF 

00 03 02 00 00 03 06 00 00 09 00 00 00 04 00 00 00 64 06 00 00 04 00 00 05 FF 

00 03 00 00 00 01 00 00 00 04 04 00 00 80 00 00 00 0A 0A 00 00 08 00 00 00 05 00 00 00 08 00 00 00 05 00 00 00 03 00 00 00 02 00 00 00 05 06 00 00 07 00 00 00 01 00 00 00 F5 00 01 05 00 00 06 00 00 05 FF 

00 03 00 00 00 03 00 00 00 06 06 00 00 02 00 00 00 04 00 00 00 A0 00 0F 05 00 00 07 04 00 00 07 00 00 00 03 00 00 00 04 00 00 00 07 06 00 00 08 0A 00 00 03 00 00 05 FF 

00 04 02 00 00 08 06 00 00 01 00 00 00 01 00 00 00 F4 00 01 05 00 00 09 00 00 05 FF 

00 05 02 00 00 09 06 00 00 02 00 00 00 04 01 00 00 80 00 C3 00 B7 00 2E 00 34 00 0B 00 00 00 09 00 00 00 0A 00 00 00 09 00 00 00 0A 00 00 00 05 00 00 00 01 00 00 00 0A 06 00 00 07 00 00 00 01 00 00 00 F5 00 01 05 00 00 0B 00 00 05 FF 

00 05 00 00 00 02 00 00 00 0B 06 00 00 02 00 00 00 04 00 00 00 A0 00 0F 05 00 00 0C 04 00 00 0C 00 00 00 05 00 00 00 03 00 00 00 0C 06 00 00 08 0A 00 00 09 00 00 05 FF

That to me looks like the five different P-States you are seeing.

 

But yes, it seems we are stuck on the StepDataDict for now. I wasn't able to find out how it is being used in ACPI_SMC_PlatformPlugin.

But we've accomplished a lot so far. And I have had a lot of fun trying, and failing from time to time. Learned so much new things again. A wonderful experience. Thanks for that!

 

Here's my last DSDT update

dsdt.zip

Link to comment
Share on other sites

Note: I am going to update my DSDT one more time. A final update. After that other people may have a go with it and add stuff like USB3 and the Marvell controller support, but I am done with it.

Please add a diff from your last official release if you can, so I can make a version for P8P67, thanks.

 

But we've accomplished a lot so far. And I have had a lot of fun trying, and failing from time to time. Learned so much new things again. A wonderful experience. Thanks for that!

It was great fun! :)

 

 

BTW, what was the patch you are working on to get higher benchmark scores in RevoBoot? If that is still valid, please drop me a PM so I can test it out / finish it.

Link to comment
Share on other sites

Please add a diff from your last official release if you can, so I can make a version for P8P67, thanks.

Don't have that version anymore. Had to clean the HDD.

 

It was great fun! :)

It sure was.

 

BTW, what was the patch you are working on to get higher benchmark scores in RevoBoot? If that is still valid, please drop me a PM so I can test it out / finish it.

I'll update RevoBoot tomorrow. Made some other changes (SMBIOS patcher related) that I like to share.

 

Going to eat now and call it a day but I will be back tomorrow for a last time ;)

Link to comment
Share on other sites

But we've accomplished a lot so far. And I have had a lot of fun trying, and failing from time to time. Learned so much new things again. A wonderful experience. Thanks for that!

It was a pleasure read your posts (and also flAked's one). I learn a lot of new things!

Please add a diff from your last official release if you can, so I can make a version for P8P67, thanks.

If you tell me how I can make the diff for you comparing the "old" DHP's DSDT (revision 3) with the new one.

Link to comment
Share on other sites

Was the patcher tested on z86? I heard it has the same bug.

No confirmation so far. But it is pretty straight-forward. If AICPUPM crashes on boot and the patcher fixes that, then the Z86 boards have the same restriction.

 

No harm in testing -_-

Link to comment
Share on other sites

Here's my last DSDT update

Thanks!

I see that you removed BUFA, do you know what it's for?

 

 

If you set APSN to your number of Turbo States (I still think this is right looking at the MBP ACPI tables) you get these P-States for iMac12,2 without modifying anything. I think it's quite a nice curve, I'm happy with it.

MSRDumper PStatesReached: 16 22 26 30 33 35 36 38 39

 

 

Here is the new DSDT for the P8P67. It includes the last changes. I also enabled every device, made a new ACPI dump and checked if everything is there. This DSDT includes support for FireWire, USB 3.0 and the Marvell Sata Controller.

I tested the USB3 ports with the LaCie driver, they work flawlessly. Enjoy!

 

dsdt_rev2.dsl.zip

 

And here is a complete package (dsdt, usb, pr):

dsdt_p8p67.zip

 

Depending on your BIOS version you need to change the address of NBNV in the DSDT file.

For the current 1608 it is: 0xBF5D3C18

 

DSDT and SSDT_PR are specific for i5-2500K.

Link to comment
Share on other sites

Thanks!

 

Here is the new DSDT for the P8P67. It includes the last changes. I also enabled every device, made a new ACPI dump and checked if everything is there. This DSDT includes support for FireWire, USB 3.0 and the Marvell Sata Controller.

I tested the USB3 ports with the LaCie driver, they work flawlessly. Enjoy!

 

Outstanding work!

 

A couple of clarifying questions;

1. Is this dsdt specific to the i5-2500K? If so, what is different for the i7-2600K?

2. Is the patcher required with this dsdt?

3. Is the standard turbo scheme of 1234?

 

Thanks.

Link to comment
Share on other sites

A couple of clarifying questions;

1. Is this dsdt specific to the i5-2500K? If so, what is different for the i7-2600K?

Yes. The i7-2600K has double the cores, so in the PR-scope CPU4-7 needs to be added.

 

The SSDT_PR is specific for i5-2500K. You need to change the entire APSS object. You will find the SSDT_PR for your model in this thread.

 

2. Is the patcher required with this dsdt?

No, but the patcher is required to get SpeedStep working.

 

3. Is the standard turbo scheme of 1234?

The SSDT_PR includes an example of using a different Turbo Ratio (the one I'm using) of 2356.

The first four lines in the APSS object are the Turbo States, you need to comment/uncomment the lines according to your Turbo Ratio set in the BIOS.

 

I believe the SSDT_PR by Time2Retire uses the standard scheme.

Link to comment
Share on other sites

Been following for a while. It's sad to see such a valuable participant retire.

 

If you wouldn't mind clarifying just a bit: where are we with things? What works and what doesn't? Is SpeedStepping working well? Does the patcher work with my configuration?...

 

I'm running a P8P67 PRO (non-M) with an i7-2600k. Any chance of a walk through (maybe on a new thread)?

 

Thanks!

Link to comment
Share on other sites

What works and what doesn't? Is SpeedStepping working well? Does the patcher work with my configuration?...

SpeedStep is working with a subset of available P-States, which is no big deal.

 

Unlike the DSDT/SSDT edits the patcher is universal if the BIOS locks C-State configuration. If AICPUPM panics on your P67/Z68 Asus board, there is a good chance it will fix it.

 

I'm running a P8P67 PRO (non-M) with an i7-2600k. Any chance of a walk through (maybe on a new thread)?

Yeah. I'm unsure about how to do this. Maybe we should make a universal thread for Asus P67 boards?

Collect DSDT edits for various board versions in one thread...

 

I'm going to condense all this into a nice follow-through, but modifying the DSDT for your board requires some background knowledge.

Link to comment
Share on other sites

And here is a complete package (dsdt, usb, pr):

dsdt_p8p67.zip

 

Depending on your BIOS version you need to change the address of NBNV in the DSDT file.

For the current 1608 it is: 0xBF5D3C18

 

DSDT and SSDT_PR are specific for i5-2500K.

 

Thanks for all your work flaked, and you too DHP.

Link to comment
Share on other sites

SpeedStep is working with a subset of available P-States, which is no big deal.

 

Unlike the DSDT/SSDT edits the patcher is universal if the BIOS locks C-State configuration. If AICPUPM panics on your P67/Z68 Asus board, there is a good chance it will fix it.

 

 

Yeah. I'm unsure about how to do this. Maybe we should make a universal thread for Asus P67 boards?

Collect DSDT edits for various board versions in one thread...

 

I'm going to condense all this into a nice follow-through, but modifying the DSDT for your board requires some background knowledge.

 

Excellent! Well maybe there's a chance of this eventually becoming a DSDT autopatcher? What would happen if I tried this on my PRO and i7-2600k (that does KP without NullCPUPM)?

Link to comment
Share on other sites

The additional SSDT's are missing, you could try "acpidump > acpi.dat" but that syntax could be from an old version. Then try "acpixtract -a acpi.dat" and see if you get any additional SSDTx.dat files.

 

I don't know if /proc/acpi/dsdt still exists in current Ubuntu, here is some more info http://smackerelofopinion.blogspot.com/200...pidump-and.html

 

But you will probably need an overhaul of the DSDT as well, giving you are the first H67 user around here?

 

flAked,

 

I delayed sending these since you guys were working so hard on the P boards. Given where you are now, i am attaching the dump of all the acpi tables. Hopefully, these boards are similar enough that it will not be much work to get the DSDT working for the H boards, specifically the h67-i deluxe. I am committed to trying to get this to work for this board as well so let me know what I can do (admittedly its probably not much) that might help and of course if you have the time to help...

 

Really appreciate all the work you guys are doing.

P8H67_I_Deluxe_ACPI_Dump.zip

Link to comment
Share on other sites

Excellent! Well maybe there's a chance of this eventually becoming a DSDT autopatcher? What would happen if I tried this on my PRO and i7-2600k (that does KP without NullCPUPM)?

There won't be auto-patching, the whole motivation of this thread was lightweight ACPI tables. If one wants those highly optimized DSDT then it must be done for every model separately.

 

However, if you are only after SpeedStep then you might get that working with (I haven't tried this):

1) SpeedStepper patcher

2) SSDT_PR for your CPU

3) add/change Processor definitions in DSDT

 

Curious minds want to know...

I've seen it. I'll ignore it.

Link to comment
Share on other sites

Here is a modded BIOS for the P8P67-M PRO, is anybody brave enough to test it?

 

This mod flips bit 15 of MSR 0xE2 in the CpuPei module of the ROM. Someone very kind send it to me :thumbsdown_anim:

 

This should enable loading AICPUPM without patching.

 

See included readme!

 

0xE2.zip

Link to comment
Share on other sites

SpeedStep is working with a subset of available P-States, which is no big deal.

 

Unlike the DSDT/SSDT edits the patcher is universal if the BIOS locks C-State configuration. If AICPUPM panics on your P67/Z68 Asus board, there is a good chance it will fix it.

Hi

Just to let you know that using SpeedStepper on a P8Z68-VPro (after editing AppleLPC to add my LPC id) permits me to boot without NullCPUPM, without any DSDT, and with SpeedStep and Turbo enabled in bios. It is incomplete as I cannot use PStates/CStates (no native PM) but it is a start, first time it runs without NullCPUPM. :thumbsdown_anim:

 

I use 10.7.4 kernel and AICPUPM+AICPUPMClient from the 2011 iMac 10.6.7 update.

 

By the way, it seems that it cured my sleep/wake problem as well, need to test it but it sleeps fine and wakes.

 

Many thanks to "Time2Retire" and you for your work on PM for SandyBridge!

 

From dmesg:

IntelCPUMonitor: CPU0 Tjmax 98
<...>
IntelCPUMonitor: CPUE Tjmax 98
IntelCPUMonitor: CPUF Tjmax 98
AppleIntelCPUPowerManagement: (built 22:08:21 Apr 18 2011) initialization complete

Link to comment
Share on other sites

Just to let you know that using SpeedStepper on a P8Z68-VPro (after editing AppleLPC to add my LPC id) permits me to boot without NullCPUPM, without any DSDT, and with SpeedStep and Turbo enabled in bios. It is incomplete as I cannot use PStates/CStates (no native PM) but it is a start, first time it runs without NullCPUPM. :P

Great news!

 

You might be able to get PM working without the complete DSDT edit. If you want to delve in, do the following:

1) extract your DSDT in Linux

2) remove everything in the _PR scope

 

2a) add the processor definitions:

Processor (CPU0, 0x01, 0x00000410, 0x06) {}
Processor (CPU1, 0x02, 0x00000410, 0x06) {}
Processor (CPU2, 0x03, 0x00000410, 0x06) {}
Processor (CPU3, 0x04, 0x00000410, 0x06) {}

 

2b) paste everything from the SSDT_PR posted here inside the _PR scope

 

This is a quick and dirty way to test if it works on your system. Of course you still need the right SSDT_PR for your CPU and alter the APSS object to your defined Turbo Ratios. But all that was discussed in this thread.

 

-----------------------------------------------------------

 

I think it would be desirable to have a fixed BIOS rather to fix every version of AICPUPM with every update.

 

But as ASUS is ironing out several bugs with the new EFI BIOS there might be handful of new BIOS updates as well.

 

I do have a suspicion that the BIOS module responsible for setting the CFG Lock is the same across all P/H/Z68 flavors, but I will have to extract it from every model and check the md5.

 

 

BTW, who downloaded and tested the ROM? ;)

Link to comment
Share on other sites

You might be able to get PM working without the complete DSDT edit. If you want to delve in, do the following:

1) extract your DSDT in Linux

2) remove everything in the _PR scope

 

2a) add the processor definitions:

 

2b) paste everything from the SSDT_PR posted here inside the _PR scope

 

This is a quick and dirty way to test if it works on your system. Of course you still need the right SSDT_PR for your CPU and alter the APSS object to your defined Turbo Ratios. But all that was discussed in this thread.

I got my DSDT dump under Gparted CD and tried that.

Could not get a working DSDT: KP in AICPUPM or booting to desktop with the KP "CPU x has no HPET assigned to it".

 

So I try a less drastic editing to Scope (_PR): I just replaced the APSS definition by the one Time2Retire used in her ssdt, as I have an i7-2600.

The original APSS was only 0x10 Packages, rather than 0x14, and with I could not initialize correctly AICPUPMClient.

No other edits than correcting Errors and Warning to compile it.

 

And... Voilà!

IntelCPUMonitor: CPUE Tjmax 98
IntelCPUMonitor: CPUF Tjmax 98
<...>
AppleIntelCPUPowerManagement: Turbo Ratios 1234
AppleIntelCPUPowerManagement: (built 22:08:21 Apr 18 2011) initialization complete
<....>
AppleIntelCPUPowerManagementClient: ready

 

I'll try to get readings with MSRDumper.

 

EDIT:

 

Could not load MSRDumper to get any readings:

Jun  4 01:26:36 P8Z68-VPRO com.apple.kextd[10]: /System/Library/Extensions/MSRDumper.kext - no compatible dependency found for com.apple.kpi.iokit.
Jun  4 01:26:36 P8Z68-VPRO com.apple.kextd[10]: /System/Library/Extensions/MSRDumper.kext - no compatible dependency found for com.apple.kpi.libkern.
Jun  4 01:26:36 P8Z68-VPRO com.apple.kextd[10]: Can't load /System/Library/Extensions/MSRDumper.kext - failed to resolve dependencies.
Jun  4 01:26:36 P8Z68-VPRO com.apple.kextd[10]: Failed to load /System/Library/Extensions/MSRDumper.kext - (libkern/kext) dependency resolution failure.
Jun  4 01:26:36 P8Z68-VPRO com.apple.kextd[10]: Load com.flaked.kext.MSRDumper failed; removing personalities.

 

I think it would be desirable to have a fixed BIOS rather to fix every version of AICPUPM with every update.

 

But as ASUS is ironing out several bugs with the new EFI BIOS there might be handful of new BIOS updates as well.

 

I do have a suspicion that the BIOS module responsible for setting the CFG Lock is the same across all P/H/Z68 flavors, but I will have to extract it from every model and check the md5.

 

Same causes, same effects: I also think that they reproduce the same bios lock for their P67/H67 and Z68 line of mobos.

Anyway, your Speedstepper solve my problem in the same way.

Link to comment
Share on other sites

Current version of MSRDumper.kext that shows the reached P-States over time.

 

Let it run for a while (15min at least), run benchmarks, open single applications that might trigger the higher states.

 

If it fails to load, please provide the output of

kextutil -t -n MSRDumper.kext
kextload -v MSRDumper.kext

 

MSRDumper.kext.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...