Contribute
Register

SSDT generation script (Ivybridge PM)

Status
Not open for further replies.
I've tried to get Power Management working on my rig, but I get a kernel panic. I have a simple rig: GA-Z77X-UD5H, i5-3570K, HD 4000, no external GFX. I have generated a smbios.plist with Chameleon Wizard, using the iMac13,1 system definition. I've ran the sdtPRGen.sh script, loaded the generated SSDT_PR.dsl in DSDT Editor, saved ssdt.aml in /Extra folder and added DropSSDT=Yes to org.chameleon.Boot.plist. Toleda stated in the thread http://www.tonymacx86.com/mountain-...tive-ivy-bridge-cpu-gpu-power-management.html that installing the 10.8.2 Supplemental Updates breaks Power Management. Is that also the case for the sdtPRGen.sh script?

I've updated my system (macmini 6,2) and IvyBridge PM works, post #96
 
I've updated my system (macmini 6,2) and IvyBridge PM works, post #96

I have changed my system to macmini6,2, generated a new SSDT_PR.dsl:

sdtPRGen.sh v3.3 Copyright (c) 2013 by Pike R. Alpha
-----------------------------------------------------
Ivy Bridge Core i5-3570K processor installed
Using a maximum TDP of 77 Watt, as specified by Intel
4 logical CPU's detected with a Core Frequency of 3400 MHz
Number of Turbo States: 4 (3500-3800 MHz)
Number of P-States: 23 (1600-3800 MHz)
Injected C-States for CPU0 (C1,C3,C6)
Injected C-States for CPU1 (C1,C2,C3)
Warning: 'cpu-type' may be set improperly (0x0601 instead of 0x0701)

and generated a new ssdt.aml, but still get the kernel panic, see attached photo.

Edit: Toleda has just updated his instructions in http://www.tonymacx86.com/mountain-...tive-ivy-bridge-cpu-gpu-power-management.html. I followed his instructions using the pre-edited ssdt_pr_3570k_4200oc.aml. Now it's working. I used the macmini6,2 definition. Thanks all, great work!
 

Attachments

  • DSC00119.JPG
    DSC00119.JPG
    809.4 KB · Views: 311
Hi all,
I get this output:

sdtPRGen.sh v3.3 Copyright (c) 2013 by Pike R. Alpha
-----------------------------------------------------
Ivy Bridge Core i5-3317U processor installed
./ssdtPRGen.sh: line 1212: let: logicalCPUs=: syntax error: operand expected (error token is "=")
Using a maximum TDP of 17 Watt, as specified by Intel
logical CPU's detected with a Core Frequency of 2600 MHz
Number of Turbo States: 0 (2700-2 MHz)
Number of P-States: -14 (1600-2 MHz)
./ssdtPRGen.sh: line 272: [: 0: unary operator expected
Adjusting C-States for detected (mobile) processor
./ssdtPRGen.sh: line 709: [: 1: unary operator expected
Injected C-States for CPU0 (C1,C3,C6,C7)
Injected C-States for CPU1 (C1,C2,C3)
Warning: 'cpu-type' may be set improperly (0x0601 instead of 0x0701)

The processor (i5-3317U) is detected correctly, what's wrong?
 
I get this output:
...
./ssdtPRGen.sh: line 1212: let: logicalCPUs=: syntax error: operand expected (error token is "=")
/ssdtPRGen.sh: line 272: [: 0: unary operator expected
./ssdtPRGen.sh: line 709: [: 1: unary operator expected

The processor (i5-3317U) is detected correctly, what's wrong?
Thank you for spotting this error – we missed a zero in the cpu data array. All should be fine in version 3.4
 
I have changed my system to macmini6,2, generated a new SSDT_PR.dsl:

sdtPRGen.sh v3.3 Copyright (c) 2013 by Pike R. Alpha
-----------------------------------------------------
Ivy Bridge Core i5-3570K processor installed
Using a maximum TDP of 77 Watt, as specified by Intel
4 logical CPU's detected with a Core Frequency of 3400 MHz
Number of Turbo States: 4 (3500-3800 MHz)
Number of P-States: 23 (1600-3800 MHz)
Injected C-States for CPU0 (C1,C3,C6)
Injected C-States for CPU1 (C1,C2,C3)
Warning: 'cpu-type' may be set improperly (0x0601 instead of 0x0701)

and generated a new ssdt.aml, but still get the kernel panic, see attached photo...
Interesting. This is the first time I see that error (not the KP). The output is fine, for a vanilla (non-OC'ed) setup so is your computer OC'ed or not?
 
@Francis,

First. Thank you for testing this. And what you have in object SPSS is normal (see biosbits.org) but I was hoping that the extra P-State in object _PSS made it tick for Apple setups, since that is basically one extra frequency. Your testing however revealed that this didn't work. At least not for you. Which is too bad, but what I don't understand is that, looking at the disassembled code of the kexts, why it reads both APSS and _PSS without jumping over the read of _PSS when it finds APSS.

I also think that using 15 P-States in a _PSS object, combined with a _CST object, without having APSN/APLF works. In that case CPUMaxNonTurboPState gets set to 1 by the kext. Which is exactly right. Maybe Apple did this to support older (think MacPro) setups... who knows.
 
@ PikeRAlpha and Jeroen

Thanks for your script.

Code:
ssdtPRGen.sh 3900 77 1

sdtPRGen.sh v3.5 Copyright (c) 2013 by Pike R. Alpha
-----------------------------------------------------
Ivy Bridge Core i7-3770K processor installed
Using a maximum TDP of 77 Watt, as specified by Intel
Max TDP override, now using: 77 Watt
CPU type override, now using: Ivy Bridge
8 logical CPU's detected with a Core Frequency of 3500 MHz
Number of Turbo States: 4 (3600-3900 MHz)
Number of P-States: 24 (1600-3900 MHz)
Injected C-States for CPU0 (C1,C3,C6)
Injected C-States for CPU1 (C1,C2,C3)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20111123-32 [Dec  3 2011]
Copyright (c) 2000 - 2011 Intel Corporation

ASL Input:     /Users/#####/Desktop/SSDT.dsl - 260 lines, 9394 bytes, 56 keywords
AML Output:    /Users/#####/Desktop/SSDT.aml - 1594 bytes, 27 named objects, 29 executable opcodes

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

or

ssdtPRGen.sh

sdtPRGen.sh v3.5 Copyright (c) 2013 by Pike R. Alpha
-----------------------------------------------------
Ivy Bridge Core i7-3770K processor installed
Using a maximum TDP of 77 Watt, as specified by Intel
8 logical CPU's detected with a Core Frequency of 3500 MHz
Number of Turbo States: 4 (3600-3900 MHz)
Number of P-States: 24 (1600-3900 MHz)
Injected C-States for CPU0 (C1,C3,C6)
Injected C-States for CPU1 (C1,C2,C3)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20111123-32 [Dec  3 2011]
Copyright (c) 2000 - 2011 Intel Corporation

ASL Input:     /Users/#####/Desktop/SSDT.dsl - 260 lines, 9394 bytes, 56 keywords
AML Output:    /Users/#####/Desktop/SSDT.aml - 1594 bytes, 27 named objects, 29 executable opcodes

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

AppleIntelCPUPowerManagement: Turbo Ratios 2344 (UEFI setting 37 38 39 39)

Speedstep is working fine. MSRDumper PStatesReached: 16 22 29 35 37 38 39
 
No, my computer is not overclocked.
Hmm. I don't understand why you need the extra P-States, especially since none of them will be used. Please attach the output of sysctl -a so that we can start digging for clues.
 
I've tried the script again:

./ssdtPRGen.sh i5-3570K

sdtPRGen.sh v3.6 Copyright (c) 2013 by Pike R. Alpha
-----------------------------------------------------
Ivy Bridge Core i5-3570K processor installed
Using a maximum TDP of 77 Watt, as specified by Intel
4 logical CPU's detected with a Core Frequency of 3400 MHz
Number of Turbo States: 4 (3500-3800 MHz)
Number of P-States: 23 (1600-3800 MHz)
Injected C-States for CPU0 (C1,C3,C6)
Injected C-States for CPU1 (C1,C2,C3)
Warning: 'cpu-type' may be set improperly (0x0601 instead of 0x0701)

After the warning the script stops, but the file SSDT_PR.dsl is generated and placed on the desktop. I generated SSDT.aml with DSDT Editor, put it in /Extra and rebooted. It works. It seems the only issue now is the warning, but it has no effect on the result apparently. Maybe I did something wrong the first times I tried the script, I don't know. Here is the output of sysctl -a:
 

Attachments

  • sysctl -a output.zip
    8.1 KB · Views: 130
Status
Not open for further replies.
Back
Top