Contribute
Register

ML: Native Ivy Bridge CPU and GPU Power Management

toleda

Moderator
Joined
May 20, 2010
Messages
24,374
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS
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.
 
Joined
Jan 4, 2011
Messages
61
Motherboard
Gigabyte GA-Z97X-UD5H-BK-F8
CPU
i7-4790K
Graphics
RX 580
Mac
MacBook, MacBook Pro
Mobile Phone
iOS
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!
 
Joined
Jan 19, 2013
Messages
276
Motherboard
Mac mini
CPU
i[5/7]
Graphics
HD[3/4]000
Mac
Classic Mac
Mobile Phone
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 ;)
 
Joined
Jan 4, 2011
Messages
61
Motherboard
Gigabyte GA-Z97X-UD5H-BK-F8
CPU
i7-4790K
Graphics
RX 580
Mac
MacBook, MacBook Pro
Mobile Phone
iOS
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!
 
Joined
Jan 19, 2013
Messages
276
Motherboard
Mac mini
CPU
i[5/7]
Graphics
HD[3/4]000
Mac
Classic Mac
Mobile Phone
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.
 
Joined
Jan 4, 2011
Messages
61
Motherboard
Gigabyte GA-Z97X-UD5H-BK-F8
CPU
i7-4790K
Graphics
RX 580
Mac
MacBook, MacBook Pro
Mobile Phone
iOS
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...
 

toleda

Moderator
Joined
May 20, 2010
Messages
24,374
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS
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?
 
Joined
Jan 4, 2011
Messages
61
Motherboard
Gigabyte GA-Z97X-UD5H-BK-F8
CPU
i7-4790K
Graphics
RX 580
Mac
MacBook, MacBook Pro
Mobile Phone
iOS
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
 

toleda

Moderator
Joined
May 20, 2010
Messages
24,374
Motherboard
Asus Maximus VII Impact
CPU
Core i7-4770K
Graphics
RX 560 + HD4600
Mac
iMac, MacBook Pro, Mac mini
Classic Mac
512K, LC, Power Mac
Mobile Phone
iOS
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).
 
Top