Contribute
Register

ML: Native Ivy Bridge CPU and GPU Power Management

Status
Not open for further replies.
i had to add a method call behind the cpu1 thru cpu7 SSDT entry points for the ACST method just like the call for APSS - when I did that, the CStates table in the IOREG is now filled out (it was empty under cpu1 thru cpu7 before). Less messages (all of the unexpected data for C1, etc. are now gone) but same result at the moment, still no ring table
In my testing, there are 4 C states on CPU0 and 1 C state for the others. The ring table is populated with 13 states. In my testing, iMac13,1 is only working with idle and turbo; C states does not fix that problem. I am testing with ACST on each processor and will do an update when ready.
 
Hi Toleda! Thanks for all your hard work to Hackintosh community!

I'm confused about X86PlatformPlugin.
I've set my Hack to iMac13,1 and I'm using the Core i7 Turbo and O/C (8 threads) SSDT.

Console shows:
X86PlatformPlugin.pngX86PlatformPlugin.png

Is this normal?

PS: I used before the iMac12,1 because in 13,1 the overclock doesn't work but now works perfect in 13,1.

Thanks!
 
Here's a neat little trick:
Code:
        Method (_DSM, 4, NotSerialized)
        {
            Name (SSDT, Package (0x0C)
            {
                "CPU0IST ", 
                0xC8BE4018, 
                0x000009AA, 
                "APIST   ", 
                0xCAA17A98, 
                0x00000303, 
                "CPU0CST ", 
                0xCAA16018, 
                0x0000083B, 
                "APCST   ", 
                0xCAA18C18, 
                0x00000119
            })


            OperationRegion (OPR0, SystemMemory, DerefOf (Index (SSDT, One)), DerefOf (Index (SSDT, 0x02)))
            Field (OPR0, ByteAcc, NoLock, Preserve)
            {
                DAT0,   0x2E60 // 0x05CC * 8
            }


            OperationRegion (OPR1, SystemMemory, DerefOf (Index (SSDT, 0x04)), DerefOf (Index (SSDT, 0x05)))
            Field (OPR1, ByteAcc, NoLock, Preserve)
            {
                DAT1,   0x1818 // 0x0303 * 8
            }


            OperationRegion (OPR2, SystemMemory, DerefOf (Index (SSDT, 0x07)), DerefOf (Index (SSDT, 0x08)))
            Field (OPR2, ByteAcc, NoLock, Preserve)
            {
                DAT2,   0x41D8 // 083B * 8
            }


            OperationRegion (OPR3, SystemMemory, DerefOf (Index (SSDT, 0x0A)), DerefOf (Index (SSDT, 0x0B)))
            Field (OPR3, ByteAcc, NoLock, Preserve)
            {
                DAT3,   0x8C8 // 0x0119 * 8
            }


            Store (Package (0x0A)
                {
                    "plugin-type",
                    One,
                    "CPU0IST",
                     DAT0,
                    "APIST",
                     DAT1,
                    "CPU0CST",
                     DAT2,
                    "APCST",
                     DAT3
                }, Local1)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local1)
        }
This will add four data properties with the actual table data that Method GCAP will load with help of function Load() Make sure to check/replace the values in SSDT. For experts only, of course ;)
 
This will add four data properties with the actual table data that Method GCAP will load with help of function Load() Make sure to check/replace the values in SSDT. For experts only, of course ;)

Can you help me to set the correspondent values to my system?
Thanks!
 
Can you help me to set the correspondent values to my system?
Thanks!
Not really. That's why I tagged it with: "experts only". All I can tell you is that what you need (name/address/length combo's) can be found in one of the extracted ACPI tables. Here's that SSDT-2 when I don't drop factory SSDT tables.

I don't know what people here use to extract ACPI tables, but I use my own tools. Doesn't really matter, but you should extract them from a running system, because only then are certain ACPI objects is initialised. Extracting them from firmware might not work. Also keep in mind that the info might change with a new BIOS upgrade. Meaning that using other peoples data may fail as well.
 
I have a modded BIOS installed in MOBO and the CPU Power Management and Speed Step works with it.
I just want some improvements.

Well, using iMac13,1 SMBIOS the overclock doesn't work. Using 12,1 works great but I have others bugs (video).
Using the SSDT posted here by toleda the overclock starts working with the iMac13,1.
But I see this errors in Console. I just want to know if this is normal or is dangerous...
 
I
Well, using iMac13,1 SMBIOS the overclock doesn't work. Using 12,1 works great but I have others bugs (video).
Using the SSDT posted here by toleda the overclock starts working with the iMac13,1.
But I see this errors in Console. I just want to know if this is normal or is dangerous...
Post #1, Summary, 4. macmini6 and macbookpro10 are working. Use either.

iMac12,1 is a Sandy Bridge PM. iMac13,1 is Ivy Bridge PM. The ring table errors are HD4000 PM; IOReg shows the ring table is populated and appears to be working; ignore. Regarding the max non-turbo PState, what overclock are you running?
 
Post #1, Summary, 4. macmini6 and macbookpro10 are working. Use either.

iMac12,1 is a Sandy Bridge PM. iMac13,1 is Ivy Bridge PM. The ring table errors are HD4000 PM; IOReg shows the ring table is populated and appears to be working; ignore. Regarding the max non-turbo PState, what overclock are you running?

I'm using 3700k @ 4.2GHz. It works till 4.5GHz but the temperatures are too much high.
I'm not using the HD4000 graphics. Can I still use iMac13,1 in SMBIOS? (Sorry I don't understand almost nothing about SSDT... just DSDT).

And thanks! :thumbup:


EDIT
Hi Toleda. After apply the new i7 overclock 4200 SSDT the error disappeared. Just the ring error remains, but you say to ignore. But now the overclock don't work anymore and the clock don't even change.
Captura de Tela 2013-01-28 às 19.37.10.png

MSRDumper test with the new SSDT:
Captura de Tela 2013-01-28 às 20.07.20.png
 
I'm using 3700k @ 4.2GHz. It works till 4.5GHz but the temperatures are too much high.
I'm not using the HD4000 graphics. Can I still use iMac13,1 in SMBIOS? (Sorry I don't understand almost nothing about SSDT... just DSDT).

After apply the new i7 overclock 4200 SSDT the error disappeared. Just the ring error remains, but you say to ignore. But now the overclock don't work anymore and the clock don't even change.
It is not recommended to mix product names and board-ids. Ivy Bridge PM uses the Board-ID. Sandy Bridge PM uses product name.

My mistake, attached ssdts fixed. Download again, rename, install and restart. You may also want to try a custom ssdt to 4.5GHz (plus 100, 4600).
 
Status
Not open for further replies.
Back
Top