Jump to content

DSDT - Vanilla Speedstep - Generic Scope (_PR)


FKA
 Share

1,949 posts in this topic

Recommended Posts

If you want to know what different methods do then you need to download Acpi specification from here http://www.acpi.info/ and start studying. I don't really see PSD doing nothing so I don't bother to use it.

 

I don't use it any more either - that was a copy paste from my old gigabyte's DSDT - I don't think it does any harm either ...

Link to comment
Share on other sites

If you want to know what different methods do then you need to download Acpi specification from here http://www.acpi.info/ and start studying. I don't really see PSD doing nothing so I don't bother to use it.

 

Thank you for this link !

That's what i need. I was searching for weeks now !

Google came never up with it.

Surely a big help to learn !!

Link to comment
Share on other sites

I don't use it any more either - that was a copy paste from my old gigabyte's DSDT - I don't think it does any harm either ...

 

Maybe this link should be on the front page ? http://www.acpi.info/

First page example could maybe also be simplified a little bit, current one is way too complicated.

Link to comment
Share on other sites

Maybe this link should be on the front page ? http://www.acpi.info/

First page example could maybe also be simplified a little bit, current one is way too complicated.

 

I agree...

i'd really like to learn sth and know what is under the hood,

and i really appreciate all the help i get from you guys !

 

Learning through info like this will help me more to understand

so i can hopefully help others in the future

Link to comment
Share on other sites

First you need to know what is the revision of your Q9550, if you have E0 like me then it is possible to use C-states C1E, C2E and C4E, if it is revision C0 then it will only do C1E.

@mm67

 

Were you ever able to get C1E, C2E and C4E to work?

 

Check out this guys post.

 

He suggests patching ACPI_SMC_PlatformPlugin to get C-States working.

Link to comment
Share on other sites

Please help - Strange Scope (_PR) !

 

I am trying to fix up my Vostro 3500 DSDT (i5 430M processor) . I have made all the usual changes recommended and HPET, LPC kexts etc. are loading fine but I cannot get to a stage where removal of NullCpuPMManagement.kext is possible and that damn KP will just not go away.

 

I think the problem may be that the DSDT has an unusual layout for Scope (_PR) which seems to call on the SSDTs for information and does not itself have the normal processor declarations.

 

I'd be grateful if someone could take a look at the zip folder and point me in a good direction.

 

In the zip are the vanilla DSDT and two SSDT tables and also my work in progress dsdt which is fine as far as it goes and has no errors, warnings or remarks.

 

I tried adding the SSDTs into the DSDT to complete scope(_PR) but had no joy.

 

Speedstep on my Zotac was a piece of cake compared to this....

StrangeDSDT.zip

Link to comment
Share on other sites

hey guys, been struggling all day with this.

Puzzled here. New mobo intel DP55WB / i7 860.

 

I successfully patched dsdt with all regular fixes. I left speedstepping to the end.

AppleLPC loads by default.

If I remove nullcpu from /extra I get a kp regarding appleintelcpupowermanagement.

 

I cannt find the reason for this.

I believe the kp is not being caused by the speedstepping info on the dsdt, but for something else on the dsdt (that I cannot realize what) that kp when I took nullcpu out of extra.

rc4-aserebln-1.1.9 / 64bits / fakesmc.kext in extra. Tried anval build too. imac 11,1 in smbios.

dsl file: http://dl.dropbox.com/u/363153/dp55wb_i860_dsdt.dsl

 

thanks in advance for any light on this.

post-61808-1277418059_thumb.jpg

Link to comment
Share on other sites

Formerlyknownas.. Thanks for this great guide and helping everyone so far. I am going to attempt to get this working on my hack soon but before I do that I have some question I want to address.

 

First of all I am trying to get AppleLPC.kext to load. I thought this was a logical first step since all it involved was picking a closely matching mac model to get it to load. I have found a model MacBook4,1 that matches my model very well same device ID as a real mac. I even tracked down an ioreg, LSPCI info for that model and DSDT.aml for that model (I can post any of this if you would like to see it). However even with this model info picked appleLPC will not load. I do have Start up automatically after a power failure in power settings. This might be because I am using voodoopowermini though.

 

When I try to force it to load it fails.. Here are the details on that..

 

Warnings:

The booter does not recognize symbolic links; confirm these files/directories aren't needed for startup:

/system/library/extensions/AppleLPC.kext/Contents/CodeDirectory

/system/library/extensions/AppleLPC.kext/Contents/CodeRequirements

/system/library/extensions/AppleLPC.kext/Contents/CodeResources

/system/library/extensions/AppleLPC.kext/Contents/CodeSignature

 

Do you know why AppleLPC will not load on my system when I have such a closing matching system to a real mac? Same Device ID as a real mac, so no need to make zhell's DSDT device ID edit.. but i did anyway. Still not loading.. Is it hidden from kextstat?

 

My own LSPCI is very close to the MacBook4,1 and that bring up another question. It is so close that some believe I could boot with this models DSDT.aml. I have googled all over and never found anyone who has tried that. I dont want to kill my machine to prove it can be done. Do you know if it would be possible or is it just a pipe dream?

Link to comment
Share on other sites

hey guys, been struggling all day with this.

Puzzled here. New mobo intel DP55WB / i7 860.

 

I successfully patched dsdt with all regular fixes. I left speedstepping to the end.

AppleLPC loads by default.

If I remove nullcpu from /extra I get a kp regarding appleintelcpupowermanagement.

 

I cannt find the reason for this.

I believe the kp is not being caused by the speedstepping info on the dsdt, but for something else on the dsdt (that I cannot realize what) that kp when I took nullcpu out of extra.

rc4-aserebln-1.1.9 / 64bits / fakesmc.kext in extra. Tried anval build too. imac 11,1 in smbios.

dsl file: http://dl.dropbox.com/u/363153/dp55wb_i860_dsdt.dsl

 

thanks in advance for any light on this.

 

Not dont an i7 before - you data for each cpu thread 0 > 7 - have you tried thinking of this as just 4 cores and adding values for just 4 cores > CPU 0 > CPU 3 ??

 

I'd say your problem is relating to what you've added to Scope (PR):

 

Try to boot with just:

 

    Scope (_PR)
   {
       Processor (CPU0, 0x00, 0x00000410, 0x06) {}
       Processor (CPU1, 0x01, 0x00000410, 0x06) {}
       Processor (CPU2, 0x02, 0x00000410, 0x06) {}
       Processor (CPU3, 0x03, 0x00000410, 0x06) {}
       Processor (CPU4, 0x04, 0x00000410, 0x06) {}
       Processor (CPU5, 0x05, 0x00000410, 0x06) {}
       Processor (CPU6, 0x06, 0x00000410, 0x06) {}
       Processor (CPU7, 0x07, 0x00000410, 0x06) {}
   }

 

under scope (PR) with no nullCPU kext - see if it KP's

 

D

 

Formerlyknownas.. Thanks for this great guide and helping everyone so far. I am going to attempt to get this working on my hack soon but before I do that I have some question I want to address.

 

First of all I am trying to get AppleLPC.kext to load. I thought this was a logical first step since all it involved was picking a closely matching mac model to get it to load. I have found a model MacBook4,1 that matches my model very well same device ID as a real mac. I even tracked down an ioreg, LSPCI info for that model and DSDT.aml for that model (I can post any of this if you would like to see it). However even with this model info picked appleLPC will not load. I do have Start up automatically after a power failure in power settings. This might be because I am using voodoopowermini though.

 

When I try to force it to load it fails.. Here are the details on that..

 

Warnings:

The booter does not recognize symbolic links; confirm these files/directories aren't needed for startup:

/system/library/extensions/AppleLPC.kext/Contents/CodeDirectory

/system/library/extensions/AppleLPC.kext/Contents/CodeRequirements

/system/library/extensions/AppleLPC.kext/Contents/CodeResources

/system/library/extensions/AppleLPC.kext/Contents/CodeSignature

 

Do you know why AppleLPC will not load on my system when I have such a closing matching system to a real mac? Same Device ID as a real mac, so no need to make zhell's DSDT device ID edit.. but i did anyway. Still not loading.. Is it hidden from kextstat?

 

My own LSPCI is very close to the MacBook4,1 and that bring up another question. It is so close that some believe I could boot with this models DSDT.aml. I have googled all over and never found anyone who has tried that. I dont want to kill my machine to prove it can be done. Do you know if it would be possible or is it just a pipe dream?

Ok firstly my LPc device is shown in ioreg with no patching - however the AppleLPc does not load.

 

As you have - I looked in lspci for my LPC device id (usually at 0x001F0000).

I then looked through info plist of AppleLPC to find a device id closet to my actual id.

I then inject that device id to my LPC device in DSDT using zhell's DSDT device id trick.

 

And now Applelpc loads for me ..

 

Maybe a problem with voodoomini - have you tried without ... ?

 

D

Link to comment
Share on other sites

Sweet.. Just decided to clean up my S/L/E and noticed

 

78 0 0x5b4c7000 0x3000 0x2000 com.apple.driver.AppleLPC (1.4.9) <14 5 4 3>

 

it finally loaded.. I bet it was recreating the kext cashe that did it.. Stupid.. always the simple things.. Thanks for the help. Ill be back in a bit when I try to get the rest of vanilla speed step working..

 

One other question. Is it nuts to think I might be able to use a real macs DSDT.aml on my system? Do you think it would be catastrophic to try?

Link to comment
Share on other sites

Hi FormerlyKnownAs, thanks for taking the time to read my issue.

I took your advice and boot with just the suggested data in the dsdt

http://dl.dropbox.com/u/363153/only_cpu_dsdt.dsl

 

But sadly, with nullcpu out of extra, I get KP.

 

your Method (DTGP ... is in the wrong place.

It should be within scope (_PR) .. put it under your method (_PTS

 

D

Link to comment
Share on other sites

@mm67

 

Were you ever able to get C1E, C2E and C4E to work?

 

Check out this guys post.

 

He suggests patching ACPI_SMC_PlatformPlugin to get C-States working.

 

Out of interest I tried it out, created my own Legacy kext, changed smbios to mac model MacPro3,2.

This alternative seemed to work for me, no noticeable difference in temps, speedstep still worked.

 

Using just DSDT seems to contain enough info to initialise CStates for me. No need to create legacy kext to get CStates to work in my setup.

 

If I remember correctly your processor only supports C1?

Link to comment
Share on other sites

Out of interest I tried it out, created my own Legacy kext, changed smbios to mac model MacPro3,2.

This alternative seemed to work for me, no noticeable difference in temps, speedstep still worked.

 

Using just DSDT seems to contain enough info to initialise CStates for me. No need to create legacy kext to get CStates to work in my setup.

 

If I remember correctly your processor only supports C1?

I actually upgraded to a Q9550 and was wondering if you managed to make any progress.

 

So I'm using this for C1, C2 and C4 since my board doesn't support C3:

Scope (_PR)
   {
       Processor (CPU0, 0x00, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU1, 0x01, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU2, 0x02, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU3, 0x03, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Method (PSS, 0, NotSerialized)
       {
           Return (Package (0x06)
           {
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4820, 0 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x081E, 1 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x471C, 2 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x071A, 3 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4618, 4 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x0616, 5 }
           })
       }
       Method (CST, 0, NotSerialized)
       {
           Return (Package (0x04)
           {
               0x03, 
               Package (0x04) {ResourceTemplate () {Register (FFixedHW, 0x01, 0x02, 0x0000000000000000, ,)}, 0x01, 0x01, 0x03E8}, 
               Package (0x04) {ResourceTemplate () {Register (SystemIO, 0x08, 0x00, 0x0000000000000414, ,)}, 0x02, 0x01, 0x01F4}, 
               Package (0x04) {ResourceTemplate () {Register (SystemIO, 0x08, 0x00, 0x0000000000000416, ,)}, 0x03, 0x96, 0x64} 
           })
       }
   }

 

Evidently this would be for C1, C2 and C3 which seems to be the more popular _CST.

   Scope (_PR)
   {
       Processor (CPU0, 0x00, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU1, 0x01, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU2, 0x02, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU3, 0x03, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Method (PSS, 0, NotSerialized)
       {
           Return (Package (0x06)
           {
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4820, Zero },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x081E, One },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x471C, 2 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x071A, 3 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4618, 4 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x0616, 5 }
           })
       }
       Method (CST, 0, NotSerialized)
       {
           Return (Package (0x04)
           {
               0x03, 
               Package (0x04) {ResourceTemplate () {Register (FFixedHW, 0x01, 0x02, 0x0000000000000000, ,)}, 0x01, 0x01, 0x03E8}, 
               Package (0x04) {ResourceTemplate () {Register (SystemIO, 0x08, 0x00, 0x0000000000000414, ,)}, 0x02, 0x01, 0x01F4}, 
               Package (0x04) {ResourceTemplate () {Register (SystemIO, 0x08, 0x00, 0x0000000000000415, ,)}, 0x03, 0x55, 0xFA} 
           })
       }
   }

 

But evidently even this seems to be enough. Is this the option you're using?

   Scope (_PR)
   {
       Processor (CPU0, 0x00, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU1, 0x01, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU2, 0x02, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Processor (CPU3, 0x03, 0x00000410, 0x06)
       {
           Alias (PSS, _PSS)
           Alias (CST, _CST)
       }
       Method (PSS, 0, NotSerialized)
       {
           Return (Package (0x06)
           {
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4820, Zero },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x081E, One },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x471C, 2 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x071A, 3 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4618, 4 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x0616, 5 }
           })
       }
       Method (CST, 0, NotSerialized)
       {
           Return (Package (0x04)
           {
               0x01, 
               Package (0x04) {ResourceTemplate () {Register (FFixedHW, 0x01, 0x02, 0x0000000000000000, ,)}, 0x01, 0x01, 0x03E8}, 
           })
       }
   }

Link to comment
Share on other sites

Out of interest I tried it out, created my own Legacy kext, changed smbios to mac model MacPro3,2.

This alternative seemed to work for me, no noticeable difference in temps, speedstep still worked.

 

Using just DSDT seems to contain enough info to initialise CStates for me. No need to create legacy kext to get CStates to work in my setup.

 

If I remember correctly your processor only supports C1?

 

 

Hi, with legacy and no pstate in dsdt, the voltages show from voodoomonitor are always the same? I would say are always to max values? Because I've see that with legacy happened this, instead obviously with code, complete, for speedstep in dsdt the voltages change together to the steps.

 

thanks;)

Link to comment
Share on other sites

guys, maybe i'm simplifying this too much for my pea brain. BUt i see - you are covering ground that both da kinG and MC have been over already ..

 

Legacy is fine if you have an apple supported cpu and can borrow from a known model id with your cpu.

 

for eg. - Q9000=none apple - ergo you must supply the data.

 

D

Link to comment
Share on other sites

Out of interest I tried it out, created my own Legacy kext, changed smbios to mac model MacPro3,2.

This alternative seemed to work for me, no noticeable difference in temps, speedstep still worked.

 

Using just DSDT seems to contain enough info to initialise CStates for me. No need to create legacy kext to get CStates to work in my setup.

 

If I remember correctly your processor only supports C1?

Care to share the legacy kext you created?

Link to comment
Share on other sites

ok, i understand. But it works, only the voltage, mmmmm by the way thanks for explanation;)

 

Ti conosco capire smith@@

 

I really do not like football but at this point i feel the need to say I'm sorry for Italy ...

if it's any help ... i very much doubt England will beat the German football machine :)

 

D

Link to comment
Share on other sites

 Share

×
×
  • Create New...