- Joined
- Feb 13, 2010
- Messages
- 5
- Mac
- Classic Mac
- Mobile Phone
Hi, I'm having trouble getting speedstep working via your guide.
Here's my SSDT.aml
And my DSDT.aml:
It's showing no change in MSR Tools. Curiously when I had VoodooPStates.kext installed, the processor seemed to be jammed on the slowest P state.
Thanks
Here's my SSDT.aml
Code:
DefinitionBlock ("./SSDT.aml", "SSDT", 1, "INTEL", "PPM RCM ", 0x80000001)
{
External (\_PR_.CPU7, DeviceObj)
External (\_PR_.CPU6, DeviceObj)
External (\_PR_.CPU5, DeviceObj)
External (\_PR_.CPU4, DeviceObj)
External (\_PR_.CPU3, DeviceObj)
External (\_PR_.CPU2, DeviceObj)
External (\_PR_.CPU1, DeviceObj)
External (\_PR_.CPU0, DeviceObj)
Scope (\_PR.CPU0)
{
Name (TYPE, 0x00000000)
Name (PSEN, 0x00000001)
Name (CSEN, 0x00000001)
Name (MWOS, 0x00000001)
Name (TSEN, 0x00000001)
Method (_PDC, 1, NotSerialized)
{
CreateDWordField (Arg0, 0x08, CAPA)
Store (CAPA, TYPE)
CreateDWordField (Arg0, 0x00, REVS)
CreateDWordField (Arg0, 0x04, SIZE)
Store (SizeOf (Arg0), Local0)
Store (Subtract (Local0, 0x08), Local1)
CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP)
Name (STS0, Buffer (0x04)
{
0x00, 0x00, 0x00, 0x00
})
Concatenate (STS0, TEMP, Local2)
_OSC (Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
}, REVS, SIZE, Local2)
}
Method (_OSC, 4, NotSerialized)
{
CreateDWordField (Arg3, 0x04, CAPA)
Store (CAPA, TYPE)
CreateDWordField (Arg3, 0x00, STS0)
CreateDWordField (Arg3, 0x04, CAP0)
CreateDWordField (Arg0, 0x00, IID0)
CreateDWordField (Arg0, 0x04, IID1)
CreateDWordField (Arg0, 0x08, IID2)
CreateDWordField (Arg0, 0x0C, IID3)
Name (UID0, Buffer (0x10)
{
/* 0000 */ 0x16, 0xA6, 0x77, 0x40, 0x0C, 0x29, 0xBE, 0x47,
/* 0008 */ 0x9E, 0xBD, 0xD8, 0x70, 0x58, 0x71, 0x39, 0x53
})
CreateDWordField (Arg0, 0x00, EID0)
CreateDWordField (Arg0, 0x04, EID1)
CreateDWordField (Arg0, 0x08, EID2)
CreateDWordField (Arg0, 0x0C, EID3)
If (LNot (LAnd (LAnd (LEqual (IID0, EID0), LEqual (IID1, EID1)),
LAnd (LEqual (IID2, EID2), LEqual (IID3, EID3)))))
{
Store (0x06, Index (STS0, 0x00))
Return (Arg3)
}
If (LNotEqual (Arg1, 0x01))
{
Store (0x0A, Index (STS0, 0x00))
Return (Arg3)
}
If (And (STS0, 0x01))
{
And (CAP0, 0x0BFF, CAP0)
Return (Arg3)
}
And (CAP0, 0x0BFF, CAP0)
Store (CAP0, TYPE)
Return (Arg3)
}
Method (_PSS, 0, NotSerialized)
{
If (PSEN)
{
Return (Package (0x0C)
{
Package (0x06)
{
0x000009E0,
0x00017318,
0x0000000A,
0x0000000A,
0x00000014,
0x00000014
},
Package (0x06)
{
0x000009DF,
0x00017318,
0x0000000A,
0x0000000A,
0x00000013,
0x00000013
},
Package (0x06)
{
0x0000095A,
0x000130B0,
0x0000000A,
0x0000000A,
0x00000012,
0x00000012
},
Package (0x06)
{
0x000008D5,
0x0000F618,
0x0000000A,
0x0000000A,
0x00000011,
0x00000011
},
Package (0x06)
{
0x00000850,
0x0000DEA8,
0x0000000A,
0x0000000A,
0x00000010,
0x00000010
},
Package (0x06)
{
0x000007CB,
0x0000B3B0,
0x0000000A,
0x0000000A,
0x0000000F,
0x0000000F
},
Package (0x06)
{
0x00000746,
0x0000A028,
0x0000000A,
0x0000000A,
0x0000000E,
0x0000000E
},
Package (0x06)
{
0x000006C1,
0x00007D00,
0x0000000A,
0x0000000A,
0x0000000D,
0x0000000D
},
Package (0x06)
{
0x0000063C,
0x000061A8,
0x0000000A,
0x0000000A,
0x0000000C,
0x0000000C
},
Package (0x06)
{
0x000005B7,
0x000055F0,
0x0000000A,
0x0000000A,
0x0000000B,
0x0000000B
},
Package (0x06)
{
0x00000532,
0x00004268,
0x0000000A,
0x0000000A,
0x0000000A,
0x0000000A
},
Package (0x06)
{
0x000004AD,
0x00003A98,
0x0000000A,
0x0000000A,
0x00000009,
0x00000009
}
})
}
Return (Zero)
}
Method (_PCT, 0, NotSerialized)
{
Return (Package (0x02)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x40, // Bit Width
0x00, // Bit Offset
0x0000000000000199, // Address
,)
},
ResourceTemplate ()
{
Register (FFixedHW,
0x10, // Bit Width
0x00, // Bit Offset
0x0000000000000198, // Address
,)
}
})
}
Method (_PPC, 0, NotSerialized)
{
Return (Zero)
}
Method (_PSD, 0, NotSerialized)
{
If (And (TYPE, 0x00000820))
{
Return (Package (0x01)
{
Package (0x05)
{
0x05,
0x00,
0x00000000,
0x000000FE,
0x00000008
}
})
}
Return (Zero)
}
And my DSDT.aml:
Code:
DefinitionBlock ("./dsdt.aml", "DSDT", 1, "GBT ", "GBTUACPI", 0x00001000)
{
Scope (_PR)
{
Processor (CPU0, 0x00, 0x00000410, 0x06) {}
Processor (CPU1, 0x01, 0x00000410, 0x06) {}
Processor (CPU2, 0x02, 0x00000410, 0x06) {}
Processor (CPU3, 0x03, 0x00000410, 0x06) {}
Processor (CPU4, 0x04, 0x00000410, 0x06) {}
Processor (CPU5, 0x05, 0x00000410, 0x06) {}
Processor (CPU6, 0x06, 0x00000410, 0x06) {}
Processor (CPU7, 0x07, 0x00000410, 0x06) {}
}
Scope (_PR.CPU0)
{
Method (_PSS, 0, NotSerialized)
{
Return (Package (0x0C)
{
Package (0x06)
{
0x09E0,
0x00017318,
0x0A,
0x0A,
0x14,
0x14
},
Package (0x06)
{
0x09DF,
0x00017318,
0x0A,
0x0A,
0x13,
0x13
},
Package (0x06)
{
0x095A,
0x000130B0,
0x0A,
0x0A,
0x12,
0x12
},
Package (0x06)
{
0x08D5,
0x0000F618,
0x0A,
0x0A,
0x11,
0x11
},
Package (0x06)
{
0x0850,
0x0000DEA8,
0x0A,
0x0A,
0x10,
0x10
},
Package (0x06)
{
0x07CB,
0xB3B0,
0x0A,
0x0A,
0x0F,
0x0F
},
Package (0x06)
{
0x0746,
0xA028,
0x0A,
0x0A,
0x0E,
0x0E
},
Package (0x06)
{
0x06C1,
0x7D00,
0x0A,
0x0A,
0x0D,
0x0D
},
Package (0x06)
{
0x063C,
0x61A8,
0x0A,
0x0A,
0x0C,
0x0C
},
Package (0x06)
{
0x005B7,
0x55F0,
0x0A,
0x0A,
0x0B,
0x0B
},
Package (0x06)
{
0x0532,
0x4268,
0x0A,
0x0A,
0x0A,
0x0A
},
Package (0x06)
{
0x04AD,
0x3A98,
0x0A,
0x0A,
0x09,
0x09
}
})
}
Method (_PSD, 0, NotSerialized)
{
Return (Package (0x05)
{
0x05,
Zero,
Zero,
0xFC,
0x04
})
}
Method (_CST, 0, NotSerialized)
{
Return (Package (0x02)
{
One,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
0x01, // Access Size
)
},
One,
0x9D,
0x03E8
}
})
}
}
Scope (_PR.CPU1)
{
Method (_PSS, 0, NotSerialized)
{
Return (^^CPU0._PSS ())
}
Method (_PSD, 0, NotSerialized)
{
Return (^^CPU0._PSD ())
}
Method (_CST, 0, NotSerialized)
{
Return (Package (0x04)
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},
One,
Zero,
0x03E8
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000414, // Address
,)
},
0x02,
One,
0x01F4
},
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000415, // Address
,)
},
0x03,
0x55,
0xFA
}
})
}
}
Scope (_PR.CPU2)
{
Method (_PSS, 0, NotSerialized)
{
Return (^^CPU0._PSS ())
}
Method (_PSD, 0, NotSerialized)
{
Return (^^CPU0._PSD ())
}
Method (_CST, 0, NotSerialized)
{
Return (^^CPU1._CST ())
}
}
Scope (_PR.CPU3)
{
Method (_PSS, 0, NotSerialized)
{
Return (^^CPU0._PSS ())
}
Method (_PSD, 0, NotSerialized)
{
Return (^^CPU0._PSD ())
}
Method (_CST, 0, NotSerialized)
{
Return (^^CPU1._CST ())
}
}
Scope (_PR.CPU4)
{
Method (_PSS, 0, NotSerialized)
{
Return (^^CPU0._PSS ())
}
Method (_PSD, 0, NotSerialized)
{
Return (^^CPU0._PSD ())
}
Method (_CST, 0, NotSerialized)
{
Return (^^CPU1._CST ())
}
}
Scope (_PR.CPU5)
{
Method (_PSS, 0, NotSerialized)
{
Return (^^CPU0._PSS ())
}
Method (_PSD, 0, NotSerialized)
{
Return (^^CPU0._PSD ())
}
Method (_CST, 0, NotSerialized)
{
Return (^^CPU1._CST ())
}
}
Scope (_PR.CPU6)
{
Method (_PSS, 0, NotSerialized)
{
Return (^^CPU0._PSS ())
}
Method (_PSD, 0, NotSerialized)
{
Return (^^CPU0._PSD ())
}
Method (_CST, 0, NotSerialized)
{
Return (^^CPU1._CST ())
}
}
Scope (_PR.CPU7)
{
Method (_PSS, 0, NotSerialized)
{
Return (^^CPU0._PSS ())
}
Method (_PSD, 0, NotSerialized)
{
Return (^^CPU0._PSD ())
}
Method (_CST, 0, NotSerialized)
{
Return (^^CPU1._CST ())
}
}
Name (_S0, Package (0x04)
{
Zero,
Zero,
Zero,
Zero
})
It's showing no change in MSR Tools. Curiously when I had VoodooPStates.kext installed, the processor seemed to be jammed on the slowest P state.
Thanks