Contribute
Register

SSDT missing something

Status
Not open for further replies.
Joined
Jul 12, 2012
Messages
95
Motherboard
Gigabyte GA-Z77X-UD5H
CPU
i7 3770k
Graphics
GeForce GTX 570
Mac
  1. 0
Classic Mac
  1. iBook
  2. iMac
Mobile Phone
  1. 0
Hi all. I've been reading through a couple posts on here about speedstepping. I think I may be missing a few steps in this process.

I have overclocked my i7-3770K to a turbo multiplier of 42 under Mountain Lion. My motherboard is a GA-Z77X-UD5H. I am still currently using the MacPro3,1 system definition. I am getting 6 p-states (16 17 18 19 20 42). I expected at least one more p-state of 35 since that is the CPU multiplier. I have seen on the http://www.tonymacx86.com/mountain-lion-desktop-support/86807-ml-native-ivy-bridge-cpu-gpu-power-management.html thread that I could get a couple more p-states.

So I followed Toleda's guide. I used Multibeast to change my system definition to MacMini6,2. Downloaded and ran ssdtPRGen. Added the board-ID (Mac-F65AE981FFA204ED) and Model Identifier (Macmini6,2) to /S*/L*/CoreServices/PlatformSupport.plist. When I rebooted, I was stuck at 800MHz. I tried changing my system definition to MacMini6,1 but I was still stuck at 800MHz.

I returned back to my previous system definition and Chimera plist (org.chameleon.Boot.plist) with no speedstep document.

I think I am missing a very small step in this process. Thank you in advance for your incredible help
 
First. I hope that this is just a silly typo because there is no "MacMini6,2". That should have been "Macmini6,2".

Next. Visit this thread and download AppleIntelCPUPowerManagementInfo.kext which enables you to verify that your CPU isn't stuck at 800 MHz but at 1600 MHz instead. Presumably due to running ssdtPRGen.[sh/command] with the wrong parameters, but since you forgot to add the output... we have to guess what you did.
 
Thanks so much PikeRAlpha!!! I just got done reading all of the 34 pages of the ssdtPRGen post. I also read some of your blog, very interesting!!!!!

You are correct about the Macmini typo. After reading those posts, I noticed that I need to turn off c-states and p-states in my org.chameleon.Boot.plist. I will edit the /S*/L*/CoreServices/PlatformSupport.plist to include the appropriate system definition (just to bypass the cosmetic warning).

Just a few clarifying questions for you. Should I disable EIST in my BIOS/UEFI (I currently have it enabled)? Would Macmini6,2 be the optimal system definition for my 3770K, Z77X-UD5H, and GTX570?

Also, your AppleIntelCPUPowerManagementInfo.kext has a preface at the beginning about it being for the experienced..... The directions seem clear enough, though.

I will test a little bit later and report the ssdtPRGen, ssdt, IORegistryExplore, MSRDumper, and AICPMI.
 
Thanks PikeRAlpha!!!! It appears as though everything worked as you planned. Previously, I had six p-states: 16 17 18 19 20 42. I still have six p-states, but they are much more evenly spaced: 16 22 29 35 39 42. I thought Macmini6,2 had a few other states. Does everything look as you would expect it to? Any other opinions?

First, changed system definition to Macmini3,2. Restarted. Added the board-ID (Mac-F65AE981FFA204ED) and Model Identifier (Macmini6,2) to /S*/L*/CoreServices/PlatformSupport.plist. Downloaded and installed the ssdtPRGen script/command

Code:
localhost:~ administrator$ ./ssdtPRGen.sh 4200 77 1

sdtPRGen.sh v6.1 Copyright (c) 2013 by Pike R. Alpha
----------------------------------------------------------------
Processor Declaration(s) Found in DSDT (ACPI 1.0 compliant)
Generating ssdt_pr.dsl for a Macmini6,2 [Mac-F65AE981FFA204ED]
Ivy Bridge Core i7-3770K processor [0x0701] setup
With a maximum TDP of 77 Watt, as specified by Intel
Override value: Max Turbo Frequency, now using: 4200 MHz!
Number logical CPU's: 8 (Core Frequency: 3500 MHz)
Number of Turbo States: 7 (3600-4200 MHz)
Number of P-States: 27 (1600-4200 MHz)
Injected C-States for CPU0 (C1,C3,C6)
Injected C-States for CPU1 (C1,C2,C3)

IASL not found. Creating target directory... Password:
Downloading iasl...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1132k  100 1132k    0     0   156k      0  0:00:07  0:00:07 --:--:--  175k
Done.

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20130117-64 [Jan 19 2013]
Copyright (c) 2000 - 2013 Intel Corporation

ASL Input:     /Users/administrator/Desktop/ssdt_pr.dsl - 263 lines, 8579 bytes, 56 keywords
AML Output:    /Users/administrator/Desktop/ssdt_pr.aml - 1662 bytes, 27 named objects, 29 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Do you want to copy /Users/administrator/Desktop/ssdt_pr.aml to /Extra/ssdt.aml? (y/n)?y
localhost:~ administrator$




Changed my boot.chameleon.Boot.plist to add dropSSDT and remove c-states and p-states.

Code:
	<key>DropSSDT</key>
	<string>Yes</string>
	<key>GenerateCStates</key>
	<string>No</string>
	<key>GeneratePStates</key>
	<string>No</string>

Restarted.



Downloaded AICPUPMI. Unzipped the file. Moved it to s/l/e. Followed the directions of PikeRAlpha (change ownership with terminal…etc).

Code:
localhost:~ administrator$ sudo chown -R root:wheel /S*/L*/Extensions/AppleIntelCPUPowerManagementInfo.kext
Password:
localhost:~ administrator$ sudo chmod -R 755 /S*/L*/Extensions/AppleIntelCPUPowerManagementInfo.kext
localhost:~ administrator$ sudo touch /S*/L*/Extensions
localhost:~ administrator$ sudo -k
localhost:~ administrator$ exit
logout

[Process completed]


Restarted.


The AICPUPMI report:

Code:
localhost:~ administrator$ cat /var/log/system.log | grep "AICPUPMI:"
Apr 27 21:47:32 localhost kernel[0]: AICPUPMI: CPU P-States [ 42 ]
Apr 27 21:47:39 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 42 ]
Apr 27 21:47:48 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 22 42 ]
Apr 27 21:48:15 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 22 29 42 ]
Apr 27 21:48:26 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 22 29 39 42 ]
Apr 27 21:48:47 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 35 ]
Apr 27 21:48:53 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 35 42 ]
Apr 27 21:49:02 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 22 35 42 ]
Apr 27 21:49:39 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 22 29 35 42 ]
Apr 27 21:49:45 localhost kernel[0]: AICPUPMI: CPU P-States [ 16 22 29 35 39 42 ]



Ran MSRDumper:

Code:
4/27/13 9:56:07.000 PM kernel[0]: MSRDumper PStatesReached: 16 22 29 35 39 42



Extrated IORegistry following Toleda's guide.
 

Attachments

  • IORegTest.ioreg.zip
    490.4 KB · Views: 113
  • ssdt.aml.zip
    881 bytes · Views: 138
Thanks so much PikeRAlpha!!! I just got done reading all of the 34 pages of the ssdtPRGen post. I also read some of your blog, very interesting!!!!!
Thank you. And wow for reading all 34 pages! Good job. Keep reading my blog because there is more to come.

Just a few clarifying questions for you. Should I disable EIST in my BIOS/UEFI (I currently have it enabled)? Would Macmini6,2 be the optimal system definition for my 3770K, Z77X-UD5H, and GTX570?
The problem with disabling EIST is that when you run other operating systems, like Window and Linux, that they may fail to operate properly. Then power management may not work. I myself only use OS X on my hack – don't like Windows – and thus I have it disabled in the UEFI settings. You on the other hand my like/use Windows/Linux and then you should keep it switched on.

About choosing a matching Mac model identifier; To me this is more a personal preference because going for the iMac will dump errors and limit the number of p-states, but the Macmini on the other hand will probably require additional kext editing to get power management for the graphics card going. Please note that I don't use a discrete graphics card and thus I cannot help you with this. Sorry.

Also, your AppleIntelCPUPowerManagementInfo.kext has a preface at the beginning about it being for the experienced..... The directions seem clear enough, though.
I thought about changing it, but then never did. Thanks.

Try this: Increase the value of Name (APSN, ...) Make it point to the most power efficient (lowest) P-State. In your case 1600 MHz (0x1000) and see what that brings. Here I get 10 P-States with the top (single core) multiplier set to 50 (5 GHz) – this helps to speed up the boot process.
 
Thanks so much PikeRAlpha!! The info about the system definitions and EIST is very clear and helpful. I do have a Linux distro that I sometimes wander into but will try it without EIST, as an experiment.

I would like to try the APSN thing that you mentioned. I am unsure how to go about doing that. Which document should I open? What program do I use? Is it IASL? If so, I may need to learn a few more terminal commands. Thanks again for your help.
 
Thanks so much PikeRAlpha!! The info about the system definitions and EIST is very clear and helpful. I do have a Linux distro that I sometimes wander into but will try it without EIST, as an experiment.

I would like to try the APSN thing that you mentioned. I am unsure how to go about doing that. Which document should I open? What program do I use? Is it IASL? If so, I may need to learn a few more terminal commands. Thanks again for your help.
You are welcome. And here is a tip: Keep things simple. Use MacIASL.

1) Open: /Extra/ssdt.aml
2) Change Name (APSN, 0xNN)
3) Compile ssdt (a simple click on a button).
4) Save: /Extra/ssdt.aml (in case it didn't already).

Done. Ready for a reboot.
 
Geez, it has almost been a year and I still haven't carved out some time to try out the extra APSN to gain another P-State....

Anyways, will my previous Ivy Bridge Power Management SSDT (that I made using your script) work even though I've upgraded to Mavricks 10.9.1? It looks like it, but wanted to get your expert opinion.
 
will my previous Ivy Bridge Power Management SSDT (that I made using your script) work even though I've upgraded to Mavricks 10.9.1?
Yes, works as designed. Power management for a processor generation does not change with new versions of OS X.
 
Status
Not open for further replies.
Back
Top