- Joined
- Jan 7, 2013
- Messages
- 5
- Motherboard
- GA-Z77X-UP5 TH 10.9.2
- CPU
- CORE I7 3770 3.4G
- Graphics
- GTX660TI
- Mac
- Classic Mac
- Mobile Phone
Minihack is correct about the SSDT too; the one I included in the install pack has different specifications to your CPU; you should use the SSDT generation script to produce a new SSDT based on your own CPU specification.
Minihack posted on another post about Revogirls script for SSDT generation.
Looks like my NUC D34010WYK has a Max TDP of 15W.
I am not sure my NUC has a turbo frequency, am I wrong?
What is and how do I find the Max Turbo Frequency so that I can build a proper SSDT?
The i5 model you are using for this guide has a max turbo frequency of 2.6, this line is ommited from the specifications of my i3 sheet.
My best guess is to input the clock speed (1.7) as the maximum but I have little idea of the implications.
Could someone fill me in?
----
'1.7' in Ghz is not a good argument for the script, I assume then it should be input as '1700'
Code:
/* * Intel ACPI Component Architecture
* AML Disassembler version 20110316-64 [Mar 16 2011]
* Copyright (c) 2000 - 2011 Intel Corporation
*
* Original Table Header:
* Signature "SSDT"
* Length 0x0000036A (874)
* Revision 0x01
* Checksum 0x98
* OEM ID "APPLE "
* OEM Table ID "CpuPm"
* OEM Revision 0x00001000 (4096)
* Compiler ID "INTL"
* Compiler Version 0x20110316 (537985814)
*/
DefinitionBlock ("ssdt-pr.aml", "SSDT", 1, "APPLE ", "CpuPm", 0x00001000)
{
External (\_PR_.CPU0, DeviceObj)
External (\_PR_.CPU1, DeviceObj)
External (\_PR_.CPU2, DeviceObj)
External (\_PR_.CPU3, DeviceObj)
External (\_PR_.CPU4, DeviceObj)
External (\_PR_.CPU5, DeviceObj)
External (\_PR_.CPU6, DeviceObj)
External (\_PR_.CPU7, DeviceObj)
Scope (_PR.CPU0)
{
Name (APSN, 0x0-17)
Name (APSS, Package (0x1B)
{
Package (0x06)
{
0x06A4,
0x00003A98,
0x0A,
0x0A,
0x1100,
0x1100
},
Package (0x06)
{
0x0640,
0x00003685,
0x0A,
0x0A,
0x1000,
0x1000
}
})
Method (ACST, 0, NotSerialized)
{
Return (Package (0x06)
{
One,
0x04,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
0x01, // Access Size
)
},
One,
0x03,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000010, // Address
0x03, // Access Size
)
},
0x03,
0xCD,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000020, // Address
0x03, // Access Size
)
},
0x06,
0xF5,
0x015E
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000030, // Address
0x03, // Access Size
)
},
0x07,
0xF5,
0xC8
}
})
}
}
Scope (\_PR.CPU1)
{
Method (APSS, 0, NotSerialized)
{
Return (\_PR.CPU0.APSS)
}
}
Scope (\_PR.CPU2)
{
Method (APSS, 0, NotSerialized)
{
Return (\_PR.CPU0.APSS)
}
}
Scope (\_PR.CPU3)
{
Method (APSS, 0, NotSerialized)
{
Return (\_PR.CPU0.APSS)
}
}
Scope (\_PR.CPU4)
{
Method (APSS, 0, NotSerialized)
{
Return (\_PR.CPU0.APSS)
}
}
Scope (\_PR.CPU5)
{
Method (APSS, 0, NotSerialized)
{
Return (\_PR.CPU0.APSS)
}
}
Scope (\_PR.CPU6)
{
Method (APSS, 0, NotSerialized)
{
Return (\_PR.CPU0.APSS)
}
}
Scope (\_PR.CPU7)
{
Method (APSS, 0, NotSerialized)
{
Return (\_PR.CPU0.APSS)
}
}
}
I hope I am doing well so far. I then used DSDTse app to make the generated ssdt-pr.dls into a SSDT.
I get an error saying
Code:
"bash: /Users/harveymoon/Library/Application Support/EvOSoftware/DSDT/iasl: No such file or directory"
But this is just not true, "iasl" does exist in that location. A warning message tells me to save the file into DSDTFiles, or else. Maybe due to the error I do not get an .aml file but a .dsl file that seems the same as the input ssdt-pr.dls file.
trying ssdtPRGen now, seems like a derivative of Revogirl's script from before.
trying the command
Code:
"/Volumes/MAK/Users/harveymoon/Documents/Hackintosh/ssdtPRGen.sh i3-4010U 1700 15"
the Usage claims TDP maxTurboFrequency
ssdtPRGen has one known limitation, being the order of arguments:
~/ssdtPRGen.[sh/command] [CPU Model] [Frequency] [tdp in Watts] [Bridge Type]
claims Frequency TDP
I ended up just inputting
Code:
harveymoon$ sudo /Volumes/MAK/Users/harveymoon/Desktop/ssdtPRGen.command i3-4010U
Then out popped the AML!
great, but when I open it, I see my current system specs:....
Code:
/* * Intel ACPI Component Architecture
* AML Disassembler version 20140210-00 [Feb 10 2014]
* Copyright (c) 2000 - 2014 Intel Corporation
*
* Original Table Header:
* Signature "SSDT"
* Length 0x0000036A (874)
* Revision 0x01
* Checksum 0x00
* OEM ID "APPLE "
* OEM Table ID "CpuPm"
* OEM Revision 0x00013000 (77824)
* Compiler ID "INTL"
* Compiler Version 0x20140210 (538182160)
*/
DefinitionBlock ("ssdt.aml", "SSDT", 1, "APPLE ", "CpuPm", 0x00013000)
{
External (\_PR_.CPU0, DeviceObj)
External (\_PR_.CPU1, DeviceObj)
External (\_PR_.CPU2, DeviceObj)
External (\_PR_.CPU3, DeviceObj)
External (\_PR_.CPU4, DeviceObj)
External (\_PR_.CPU5, DeviceObj)
External (\_PR_.CPU6, DeviceObj)
External (\_PR_.CPU7, DeviceObj)
Scope (\_PR_.CPU0)
{
Method (_INI, 0, NotSerialized)
{
Store ("ssdtPRGen version....: 13.0 / Mac OS X 10.9.1 (13B42)", Debug)
Store ("target processor.....: i7-3770", Debug)
Store ("running processor....: Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz", Debug)
Store ("baseFrequency........: 1600", Debug)
Store ("frequency............: 3400", Debug)
Store ("busFrequency.........: 100", Debug)
Store ("logicalCPUs..........: 8", Debug)
Store ("maximum TDP..........: 77", Debug)
Store ("packageLength........: 2", Debug)
Store ("turboStates..........: 0", Debug)
Store ("maxTurboFrequency....: 1700", Debug)
Store ("machdep.xcpm.mode....: 0", Debug)
}
Name (APLF, Zero)
Name (APSN, Zero)
Name (APSS, Package (0x02)
{
Package (0x06) { 0x06A4, 0x0120A0, 0x0A, 0x0A, 0x1100, 0x1100 },
/* Low Frequency Mode */
Package (0x06) { 0x0640, 0x0114B0, 0x0A, 0x0A, 0x1000, 0x1000 }
})
Method (ACST, 0, NotSerialized)
{
Store ("Method CPU0.ACST Called", Debug)
Store ("CPU0 C-States : 13", Debug)
/* Low Power Modes for CPU0 */
Return (Package (0x05)
{
One,
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
0x01, // Access Size
)
},
One,
Zero,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000010, // Address
0x03, // Access Size
)
},
0x03,
0xCD,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000020, // Address
0x03, // Access Size
)
},
0x06,
0xF5,
0x015E
}
})
}
Method (_DSM, 4, NotSerialized)
{
Store ("Method CPU0._DSM Called", Debug)
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x02)
{
"plugin-type",
One
})
}
}
Scope (\_PR_.CPU1)
{
Method (APSS, 0, NotSerialized)
{
Store ("Method _PR_.CPU1.APSS Called", Debug)
Return (\_PR_.CPU0.APSS)
}
Method (ACST, 0, NotSerialized)
{
Store ("Method CPU1.ACST Called", Debug)
Store ("CPU1 C-States : 7", Debug)
/* Low Power Modes for CPU1 */
Return (Package (0x05)
{
One,
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
0x01, // Access Size
)
},
One,
0x03E8,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000010, // Address
0x03, // Access Size
)
},
0x02,
0x94,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000020, // Address
0x03, // Access Size
)
},
0x03,
0xA9,
0x15E
}
})
}
}
Scope (\_PR_.CPU2)
{
Method (APSS, 0, NotSerialized)
{
Store ("Method _PR_.CPU2.APSS Called", Debug)
Return (\_PR_.CPU0.APSS)
}
Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}
Scope (\_PR_.CPU3)
{
Method (APSS, 0, NotSerialized)
{
Store ("Method _PR_.CPU3.APSS Called", Debug)
Return (\_PR_.CPU0.APSS)
}
Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}
Scope (\_PR_.CPU4)
{
Method (APSS, 0, NotSerialized)
{
Store ("Method _PR_.CPU4.APSS Called", Debug)
Return (\_PR_.CPU0.APSS)
}
Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}
Scope (\_PR_.CPU5)
{
Method (APSS, 0, NotSerialized)
{
Store ("Method _PR_.CPU5.APSS Called", Debug)
Return (\_PR_.CPU0.APSS)
}
Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}
Scope (\_PR_.CPU6)
{
Method (APSS, 0, NotSerialized)
{
Store ("Method _PR_.CPU6.APSS Called", Debug)
Return (\_PR_.CPU0.APSS)
}
Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}
Scope (\_PR_.CPU7)
{
Method (APSS, 0, NotSerialized)
{
Store ("Method _PR_.CPU7.APSS Called", Debug)
Return (\_PR_.CPU0.APSS)
}
Method (ACST, 0, NotSerialized) { Return (\_PR_.CPU1.ACST ()) }
}
}
----------------
OK, I think I am getting the hang of this.
I was able to boot in safe mode and start up MaciASL.
This worked! I generated and exported a ssdt.
Now, I think the patching part is another story that I am not sure where to start.