Righty Hoe!
I've got as far as changing the P and C state parts as per MC's v2.8.
Please note I edited and checked that it compiles on XP (Quite day at work!) -
I have NOT tested this yet !
Chief can you please have a wee look for me - see what you think?
{ Scope (_PR) { Name (NCPU, 0x04) Name (CFGD, 0x040383F2) Processor (CPU0, 0x00, 0x00000410, 0x06) { OperationRegion (STBL, SystemMemory, 0xDFEE7F00, 0x022A) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Concatenate (Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, TEMP, Local2) _OSC (Buffer (Zero) {}, One, Zero, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, 0x04, CAP0) Or (And (TYPE, 0x7FFFFFFF), CAP0, TYPE) If (LAnd (LEqual (And (TYPE, 0x09), 0x09), LNot (And ( TBLD, One)))) { Or (TBLD, One, TBLD) Load (STBL, HNDL) } Return (Arg3) } Name (_PSS, Package (0x03) { Package (0x06) { 0x0C20, 0x000124F8, 0xA0, 0x0A, 0x0820, 0x0820 }, Package (0x06) { 0x0A9C, 0xFDE8, 0xA0, 0x0A, 0x071C, 0x071C }, Package (0x06) { 0x0918, 0xEA60, 0xA0, 0x0A, 0x061A, 0x061A } }) Method (_CST, 0, NotSerialized) { If (And (TYPE, 0x18)) { Return (^^CPU1._CST ()) } Else { Return (Package (0x02) { One, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x00, // Bit Width 0x00, // Bit Offset 0x0000000000000000, // Address ,) }, One, 0x9D, 0x03E8 } }) } } } Processor (CPU1, 0x01, 0x00000410, 0x06) { OperationRegion (STBL, SystemMemory, 0xDFEE83C0, 0x0152) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Concatenate (Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, TEMP, Local2) _OSC (Buffer (Zero) {}, One, Zero, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, 0x04, CAP1) Or (And (TYPE, 0x7FFFFFFF), CAP1, TYPE) If (LAnd (LEqual (And (TYPE, 0x09), 0x09), LNot (And ( TBLD, One)))) { Or (TBLD, 0x03, TBLD) Load (STBL, HNDL) } Return (Arg3) } Method (_CST, 0, NotSerialized) { Return (Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address 0x01, // Access Size ) }, One, One, 0x03E8 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000814, // Address ,) }, 0x02, One, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000815, // Address ,) }, 0x03, 0x11, 0xFA } }) } } Processor (CPU2, 0x02, 0x00000410, 0x06) { OperationRegion (STBL, SystemMemory, 0xDFEE8520, 0x0152) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Concatenate (Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, TEMP, Local2) _OSC (Buffer (Zero) {}, One, Zero, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, 0x04, CAP2) Or (And (TYPE, 0x7FFFFFFF), CAP2, TYPE) If (LAnd (LEqual (And (TYPE, 0x09), 0x09), LNot (And ( TBLD, One)))) { Or (TBLD, 0x03, TBLD) Load (STBL, HNDL) } Return (Arg3) } Method (_CST, 0, NotSerialized) { Return (^^CPU1._CST ()) } } Processor (CPU3, 0x03, 0x00000410, 0x06) { OperationRegion (STBL, SystemMemory, 0xDFEE8680, 0x0152) Name (TYPE, 0x80000000) Name (HNDL, 0x80000000) Name (TBLD, 0x80) Method (_PDC, 1, NotSerialized) { Store (SizeOf (Arg0), Local0) Store (Subtract (Local0, 0x08), Local1) CreateField (Arg0, 0x40, Multiply (Local1, 0x08), TEMP) Concatenate (Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, TEMP, Local2) _OSC (Buffer (Zero) {}, One, Zero, Local2) } Method (_OSC, 4, NotSerialized) { CreateDWordField (Arg3, 0x04, CAP3) Or (And (TYPE, 0x7FFFFFFF), CAP3, TYPE) If (LAnd (LEqual (And (TYPE, 0x09), 0x09), LNot (And ( TBLD, One)))) { Or (TBLD, 0x03, TBLD) Load (STBL, HNDL) } Return (Arg3) } Method (_CST, 0, NotSerialized) { Return (^^CPU1._CST ()) } } }
DSDT17_10_09.dsl.zip 12.96KB
13 downloads**EDIT** this is in vein and last ditch attempt to get C-states working !
I stopped at the SMBUS changes .... I'm saving this for another day