Jump to content

DSDT - Vanilla Speedstep - Generic Scope (_PR)


  • Please log in to reply
1945 replies to this topic

#1921
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
On some motherboards you can get more tables if you enable all the C-state and P-state settings in the BIOS.

Examine all the tables (all of them will decompile with iasl just like your DSDT) to find your power management code. If it's there..

#1922
Krobaracpi

Krobaracpi

    InsanelyMac Protégé

  • Members
  • Pip
  • 4 posts
Thanks, I guess I need to read the ACPI docs and try to get some sort of understaning of ACPI source.

The bios has Disabled, Enabled and Enhanced options for C-States 1-4 (Currently set to enhanced). Also has Min, Max, Automatic and Disabled settings for Speedstep (Currently Automatic) and a "Hard C4" option which forces minimum VID in C4. I wonder if this problem isnt related to some sort of issue with the bios detecting a T7200 cpu.

#1923
Krobaracpi

Krobaracpi

    InsanelyMac Protégé

  • Members
  • Pip
  • 4 posts
Hi Gringo,



There is virtually nothing in the other ACPI modules. I am trying to put the Speedstep additions into the existing _PR section at the very start of the DSDT file but am having no luck getting it to compile so far. I attach all of the acpi code, any help would be much appreciated.

Attached Files



#1924
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
How can I do this in Lion?

VoodooPstate will not load for me, it says "unloading" in the kernel.

Ideas?

#1925
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
You're in the wrong thread, this is about vanilla speedstepping.

#1926
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
Right. Which is what I am trying to do.

The guide says to use that in order to get the PStates for the DSDT so that I am able to patch accordingly.

Is there a different way now?

#1927
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
Yes, the method discussed in this topic was made obsolete by the Chameleon boot loader back in July 2010.
You don't need to patch anything (except maybe LPC device ID) just follow the directions given here and make sure you're using a recent version of Chameleon:
http://www.insanelym...howtopic=225766
Don't use any files from that topic, they're too old. The basic information there still applies, except com.apple.Boot.plist is now org.chameleon.Boot.plist. Lots of interesting information in that topic if you care to read it. Including answers to any questions you can come up with about how to proceed.
If necessary, read here for different approaches to patching AppleLPC.kext:
http://www.projectos...findpost&p=2532

#1928
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
Would following those get me to where I don't need to use speed stepper on appleintelcpupm?

That's what I am trying to accomplish.

I have LPC show up in my IOREG, and I believe I have all the info from above.

#1929
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
Yes.

I wasn't joking when I said that any question you can come up with is answered in that thread already. Get to work! ;)

#1930
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
Looks like I have some reading to do. Thanks!

EDIT: Although, one question. I need to patch appleLPC even though its in IOREG or no?

I'd rather not read all about that if I don't need to.

#1931
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
lol, you mean you'd rather have me answering all your questions.

If AppleLPC.kext already loads on your installation you don't need to do anything to it.

#1932
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
No, otherwise I'd be pounding you with how to not need speedstep. :P I'm reading the other thread so I don't have to look for that since that seems easy.

Thanks!

#1933
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
LOL no problem.

What the hell, I have nothing better to do right now:

After installing a recent version of Chameleon and making sure everything is working, the first step is to undo any and all modifications done to your DSDT processor scope in your DSDT. The processor scope is referenced in other ACPI tables - if you have made any of the modifications discussed earlier in this topic you will will break these references and native power state switching will not work.
Then add GenerateCStates=y and GeneratePStates=y string/keys to your /Extra/org.Chameleon.Boot.plist.

If AppleLPC.kext is already loading on your hardware then that's it. Reboot.

On a Wolfdale Core 2 Duo CPU you should now see 8 fields under PerformanceStateArray in ACPI_SMC_Platformplugin in ioregistryexplorer. Those are your P-states. If you see something like AICPMVers=0x1240105 at the top, that means C-states are working. If not, run Console.app and look for C-state error messages in kernel.log.

In Energy Saver preferences, you should now see a new option, "start up automatically after a power failure".

Try these in Terminal.app:

sudo setpci -s 0:1f.0 0xa6.b - outputs 80 if CPU has entered C4 state
sudo setpci -s 0:1f.0 0x0a.w - outputs 06a0 if C4 is supported

Note that on some motherboards those commands don't do anything at all, but that doesn't mean that C-states aren't working.

You can try dumping your SSDT tables and have Chameleon load those as well. Note that they must be named as outlined in the first post in the other topic.
Before dumping the SSDT tables (Use Everest in Windows, or you can use a Linux Live CD, google for a how-to) make sure all advanced CPU settings (except CPUID Limit) are enabled in the BIOS, ie all supported C-states. Under Power Management, make sure ACPI 2.0 and ACPI APIC are enabled.
Name the tables as shown, place them in /Extra, then add a DropSSDT=y string/key to your /Extra/org.chameleon.Boot.plist.

On a Wolfdale Core 2 Duo CPU, instead of 8 P-states (like on an iMac or MacBook) you will now see the same four P-states that you have in Windows.

#1934
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
I just switched to a more appropriate SMBIOS and was able to boot with the native one.

I have generate c and p states, as well as drop ssdt. Supposing that it has the AICPMVers=0x1240102, do I need to do anything?

Are the dumping of the SSDT's needed still?

Thanks for the help so far!

edit- it does say the 0x124012 or whatever the exact numbers are, however I do not see the 8 items under the performance state array.

I just reread your post and now see you say that I should still dump the SSDT's.

I will do so tomorrow, as I don't have a linux disc with me.

#1935
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
Don't use DropSSDT=y if you didn't dump your SSDT tables!

I told you everything I know, what I wrote up there are the only ways I can think of right now to check that everything is working.
It should work without it, but If you'd like to explore further and see if anything changes try dumping your SSDT tables and set DropSSDT=y.

8 P-states is just what I got, if you have a different CPU you might have more or less. There's nothing under PerformanceStateArray?

I thought 8 P-states was a bit much, but when loading my SSDT tables I get the normal four for my CPU. Your mileage may vary.

Yes, using an appropriate model identifier (ie one that's a good match for your hardware) is very important when it comes to native power management.

I don't think anybody knows what the AICPM value means, but everybody seems to agree that when C-states aren't working, it doesn't appear there at all.

#1936
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
Alright, will change that until I get that opportunity.

Thanks a ton.

And yeah, I chose a MBP originally since it was almost identical hardware wise, but it has a i5 instead of an i3 so this works better.

Thanks again.

#1937
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
Goodness. I have 14 values under performancestatearray now I booted with dropssdt=no.

Do you have a guide on how to extract SSDT with linux?

I cannot find anything that seems to work, they all require acpidump, which won't install with apt-get.

edit- cosmetic detail- do you know of any way that I can make system profiler show the MBP8,1 or 8,1 instead of iMac, while still using the iMacs PM?

#1938
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
Check in the DSDT subforum on how to get acpidump, I pinned a topic about it earlier today.

About the iMac powermanagement - I'm sure you can find a suitable macbook model identifier that will give you the same thing. Anyway it shouldn't matter much once you have the SSDT tables dumped, then you ought to get the same power states no matter which of the suitable model identifiers you use, and you can go back to using MBP8,1. I guess. I have no hands-on Hackintosh experience with Core i CPUs and model identifiers, and none at all with laptops.

I don't know how to make cosmetic modifications, I don't use them.

#1939
jazzyguy

jazzyguy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 188 posts
  • Gender:Male
  • Location:USA
Thanks. Last questions then I am done.

1- Are SSDT's BIOS rev. dependent?

2- I had 14 PerformanceStateArray Values. After adding dropssdt=yes and the 7 extracted SSDTs, I still have 14. Is that normal? Or should it be 7?

#1940
Gringo Vermelho

Gringo Vermelho

    The Jan Bird fix

  • Supervisors
  • 6,123 posts
  • Gender:Male
  • Location:Brazil
1. Yes definitely, since ACPI tables are part of the BIOS they can be updated as well. If you upgrade your BIOS you should definitely redump your SSDTs and your DSDT.

2. As I keep saying, I have no experience with laptops or Core i CPUs. Ideally you should have the same amount of P-states that you have in Windows. Assuming Windows is handling this correctly in the first place.. There is a power management debugging tool available for free from Microsoft that will tell you everything you need to know. Can't recall the name.

Extract this Attached File  bdmesg.zip   2.73KB   8 downloads and use Terminal.app or the "Go" Finder menu to copy bdmesg to /usr/bin. Reboot, then run Terminal and type bdmesg.

This should tell you if Chameleon is loading all your SSDT tables properly.





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy