1. Add a operationregion (PMRS, Systemio, 0x0430, 0x13) before Method (_pts, 1, notserialized), as follows:
Operationregion (PMRS, Systemio, 0x0430, 0x13)
Field (PMRS, BYTEACC, NoLock, Preserve)
{
, 4,
Slpe, 1
}
Note that the red 0x0430 is based on your motherboard, and you search for processor in DSDT to find something like this:
Processor (CPU0, 0x00, 0x00000410, 0x06)
If it is 0x00000410, just copy the above on the line, if it is: Processor (P001, 0x01, 0x00000810, 0x06) {}, the 0x0430 is changed to 0x0830. You can already find the law. Processor place is 0x00000410, use 0x0430; Processor place is 0x00000810, use 0x0830. Also if your DSDT processor place is 0x00000610, use 0x0630.
2. In method (_pts, 1, notserialized), modify if (LEqual (Arg0, 0x05)) as follows (no words are added directly to the front, as in the following):
Method (_pts, 1, notserialized)
{
Store (Zero, \_SB. PCI0. Lpc. EXPE)//If you expe an item in the operationregion of your DSDT device (LPC), you can remove the "//" in front of this line
If (LEqual (Arg0, 0x05))
{
Store (0x01, \_SB. PCI0. Lpc. EXPE)//If you expe an item in the operationregion of your DSDT device (LPC), you can remove the "//" in front of this line
Store (Zero, Slpe)//This line is key cannot be deleted
Sleep (0x10)//This line is the key cannot be deleted
}
Other original code does not move ...
}
After the change is complete, remove the nullcpupowermanagement in s/l/e and extra, using native power management.
Original link:
http://www.perlface.eu/?p=685