DSDT完美解决显卡驱动后关机不断电,重启,睡眠,UUID
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
DSDT完美解决显卡驱动后关机不断电,重启,睡眠,UUID
首先感谢InfiniteMac的Sweaty和mm67。我在他们的代码基础上做了少许改动,因为原搬代码会造成睡眠出现问题。相信大家看得懂英语,我就不再写成中文了。
Many thanks to Sweaty and mm67 from InfiniteMac. I just made a small change to Method (_PTS, 1, NotSerialized) in order to resolve sleep issue on my notebook CQ60-202TX. By Ping Zheng 郑德平。
Follow below to patch DSDT. If you don't know how to patch dsdt, please google.
*为Google退出China而沉痛悼念,为Google的***道德高于经济利益而泪洒. 偶在高高的铁Wall之
下唯有痛恨生活在此... ...,尽管偶非常爱这个生我养我的国度*
1 Add OperationRegion below before Method (_PTS, 1, NotSerialized)
OperationRegion (DEBG, SystemIO, 0x80, One)
Field (DEBG, ByteAcc, NoLock, Preserve)
{
DBG1, 8
}
OperationRegion (PMRS, SystemIO, 0x0430, 0x13)
Field (PMRS, ByteAcc, NoLock, Preserve)
{
, 4,
SLPE, 1,
Offset (0x08),
GPSE, 16,
GPSS, 16,
Offset (0x12),
, 1,
SWGC, 1
}
2 Check Device (LPC) if there is a similar Operation Region "LPC0" like below. If you don't have LPC device, just search Name (_ADR, 0x001F0000), sometimes the device name is different. Device (LPC)
{
Name (_ADR, 0x001F0000)
OperationRegion (LPC0, PCI_Config, 0xA4, 0x02)
Field (LPC0, ByteAcc, NoLock, Preserve)
{
AG3E, 1
}
If there is no OperationRegion LPC0, please add code above. In my dsdt's OperationRegion LPC0, there is an EXPE instead of AG3E. So I did not modify it, but had to change a bit in Method (_PTS, 1, NotSerialized) . See mine below:
OperationRegion (LPC0, PCI_Config, 0x40, 0xC0)
Field (LPC0, AnyAcc, NoLock, Preserve)
{
Offset (0x60),
, 10,
EXPE, 1
}
3 Add code below in Method (_PTS, 1, NotSerialized) like this
Method (_PTS, 1, NotSerialized)
{
Or (Arg0, 0xF0, Local0)
Store (Local0, DBG1)
Store (Zero, \_SB.PCI0.LPC.EXPE) //Please change to \_SB.PCI0.LPC.AG3E if you don't have the EXPE, but add AG3E.
If (LEqual (Arg0, 0x05))
{
Store (Zero, SLPE)
Sleep(0x10)
}
Else
{
//**Original... ...这里是把你的原始代码放到这里面来,解决可能的睡眠破坏问题
}
}
//mm67写的关于address 0x0430的说明。 mm67, you are really nice.
This address 0x0430 is also motherboard specific, it is PMBASE+30h. Address of PMBASE is defined in FACP, on most boards it can also be checked from processor definitions. For example I have this in my dsdt:
Processor (CPU0, 0x00, 0x00000410, 0x06)
Here 0x00000410 is referring to PMBASE+10h so I use 0x430 on my Gigabyte board. On my MSI board's dsdt I have this:
Processor (P001, 0x01, 0x00000810, 0x06) {}
So in MSI shutdown code I use this:
OperationRegion (PMRS, SystemIO, 0x0830, 0x13)
4 Put these in your com.apple.Boot.plist and then put "boot_RC4_Duvelv2.1_Rekursor" under your boot partition.
Now you can remove OpenHaltRestart.kext and PlatformUUID.kext or other similar kexts.
Good luck!
在Snow Leopard里上传附件失败,需要Fix Restart & UUID的同学请Google
boot_RC4_Duvelv2.1_Rekursor.
要问如何添加com.apple.Boot.plist的同学请先看别人的贴子。