Jump to content
6 posts in this topic

Recommended Posts

Hello,

I've been trying to get Speedstep working on my Intel Core i7 870 (Lynnfield) with no success. I've modified my DSDT with some patches and now I've got different multipliers in every core (x9, x22, x23, x24, x26, I think), but I also want to get working the other multipliers (x11, x17... etc) like in Windows.
 
I've OS X 10.11.6 and Clover 3676. I use the last version of FakeSMC with its plugins. I've attached my DSDT, IOReg copy and my Clover config.plist. 
 
Thank you,
Oscar

copia.zip

Link to comment
https://www.insanelymac.com/forum/topic/313902-i7-870-speedstep/
Share on other sites

Anyone is highly unlikely to see 1) all CPU multipliers being used under OS X and 2) the same multipliers as in Windows since the OS demands are totally different.

 

With your Lynnfield CPU, there is usually no DSDT/SSDT modifications you can do to that effect. You simply activate Generate P States and Generate C States. Afaik, the only tuning you can do is with SMBIOS and FakeSMC kext. Try various SMBIOS profiles of Lynnfield-based iMac models (though there aren't that many: iMac11,1/iMac11,3) and tune FakeSMC accordingly with SMC values:

  1. smc-compatible = smc-piketon (for 1st gen "i" Core CPUs)
  2. REV, RVBF, RVUF = 01540F00 0036 (= SMC 1.54f36 of iMac11,1) or 01590F0002 (= SMC 1.59f2 of iMac11,3)

 

You could also possibly try SMBIOS of Clarkdale-based iMac11,2 for which: smc-compatible = smc-piketon & REV/RVBF/RVUF = 01640F00 0005 (1.64f5)

 

You'll find more information on the matter here and here. Additional references here or here.

First of all, thanks for your help.

 

I've tried iMac11.1, 11.2 and 11.3 SMBIOS (also editing FakeSMC Info.plist for every SMBIOS) and trying with or without DSDT with no luck. I always get the same multipliers (9, 22, 23, 24, 25, 26) with DSDT and without it I only get 9 and 22. I used Kext Utility every time I modified Info.plist. Do I need to run this utility always? Or can I simply modify the kext in Clover's EFI partition?

 

With DSDT I only got turbo multipliers for every core, and the x9 multiplier. But in IOReg there are 15 values at PerformanceStateArray (iMac11,3 > CPU0@0 > AppleACPICPU > ACP_SMC_PlatformPlugin). 

For example, in an instant I could get this (from HWMonitor). 

Core 1: x9

Core 2: x23

Core 3: x22

Core 4: x25

 

But without using my DSDT I can only get all the multipliers at 9 or at 22. I mean:

Core 1: x9 || Core 1: x22

Core 2: x9 || Core 2: x22

Core 3: x9 || Core 3: x22

Core 4: x9 || Core 4: x22

 

Here's a screenshot of HWMonitor graphs using DSDT. As you can see, the multipliers always go up and down. I don't know what CPU Core Avarege means.

 

7pIJnvB.png

I don't know if I can do anything more to try to fix it. Could a clean install improve it? 

 

Thanks again and sorry for my English. 

Could you post your raw extracted DSDT + all SSDT tables?

I've used RW-Everything to extract all the ACPI Tables. In the ZIP there's also individually the DSDT and the SSDT. There are in .rw extension, but you can use TextEdit (for example) to open it. When I tried to compile the DSDT I got some errors. 

 

Test this setting

	<key>CPU</key>
	<dict>
		<key>SavingMode</key>
		<integer>7</integer>

Values can be 0..15

Default is 0.

Thanks for your help, too. I've tried 1, 7 and 15 values but it seems to be the same... I don't notice any change :(

DSDT,SSDT,Taules ACPI.zip

Hello. I've changed the CPU name to P001...8. I also separed CPU things of DSDT to SSDT. I've attached you my DSDT and my SSDT. I don't notice any change...

 

 

If you see my SSDT, there are P-States (in the _PSS section) between 0x17 and 0x09 (15 states). If I change the 0x09 to 0x00 and the first state becomes 0x0E, I loose turbo and my max multiplier becomes x14.

I mean:

 

0x17 -> 0x0E

0x16 -> 0x0D

...

...

0x0A -> One

0x09 -> Zero

 

Then, I've reverted back to get turbo and x22 multiplier and looking for something on IOReg I have seen a strange thing: q7uu80q.png

As you see, it says registered False in the red boxes (CPU), but in the yellow box (GPU) it says True (my graphic card works perfectly with good temps). And the max value is 0xe, but in the SSDT the max value is 0x17 and the min is 0x09... 

 

PS: for getting the _PSS values, I used this

 

 

THANKS again for your time and patience

 

patched.zip

×
×
  • Create New...