本帖最后由 ggzaiye 于 2012-8-28 11:56 编辑
微星z68gd65主板升级dsdt修改日志
一、导火线
暑假回来以后,发现ML出了10.8.1版本了,正好微星B3主板升级了ClickBIOS II和G3系列一样了。就这样升级之后黑苹果又要折腾了。
优点有界面更加简洁,支持22nm的cpu(这个是听说的没有22nm的cpu),bios界面的鼠标操作很流畅,多了很多设置比如防掉压设置开放了更多选项。
缺点(该死的微星有病啊)直接下载最新的版本后进bios发现所有的电压不可以调节,知道么升级bios之后修改dsdt都已经很不爽了,辛苦修改后发现bios的原因又要换一个版本bios然后再修改一次dsdt。放掉压效果太差,开最高效果也要掉0.05+v的样子。
二、废话完了,正题。
1.进入Windows pe(电脑上没有安装Windows系统所以用PE),用aida64提取dsdt和ssdt。
2.修复dsdt的错误。
3.在dsdt的头部,很多“Name”的前面插入一个修改dsdt必须要加的函数DTGP。
Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}
If (LEqual (Arg2, One))
{
Return (One)
}
}
}
Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
4.加载苹果原生电源管理(AppleIntelCPUPowerManagement),丢弃NullCPUPowerManagement.kext需要的修改有两处
搜索“HPET”添加下面两行
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
大约成这个样子
Device (HPET)
{
Name (_HID, EisaId ("PNP0103"))
Name (CRS, ResourceTemplate ()
{
IRQNoFlags ()
{0}
IRQNoFlags ()
{8}
Memory32Fixed (ReadWrite,
0xFED00000, // Address Base
0x00000400, // Address Length
_Y20)
})
搜索“001F0000”添加“_DSM”函数如下
Name (_ADR, 0x001F0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x44, 0x1C, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
其中"device-id",
Buffer (0x04)
{
0x44, 0x1C, 0x00, 0x00
}
楼主的主板是z68用的0x44, 0x1C, 0x00, 0x00也就是z68主板的控制器硬件ID是1c44,下面有两张苹果支持的硬件ID图,如果你的电脑硬件ID不在这个表内就随便选个较低的版本吧。
5.添加声卡以便用苹果原生声卡驱动(要打补丁)。搜索“HDEF”或者“001B0000”添加函数如下,这个是Alc892的其它声卡问李彦宏吧。
Device (HDEF)
{
Name (_ADR, 0x001B0000)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x10)
{
"AAPL,slot-name",
Buffer (0x09)
{
"Built-In"
},
"device_type",
Buffer (0x11)
{
"Audio Controller"
},
"model",
Buffer (0x0F)
{
"Realtek Alc892"
},
"built-in",
Buffer (One)
{
0x01
},
"codec-id",
Buffer (0x04)
{
0x92, 0x08, 0xEC, 0x10
},
"layout-id",
Buffer (0x04)
{
0x7C, 0x03, 0x00, 0x00
},
"device-type",
Buffer (0x0F)
{
"Realtek ALC892"
},
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
三、最后
1.笔记本用户防止bios被重置,搜索“RTC”找到如下。
Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (_CRS, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length
)
})
}
只修改这一行
0x02, // Length
是其他值的比如0x04修改为0x02,其他不要动。
2.电脑超频了的什么节能选项在windows下如果都无效,就别在黑苹果下折腾了。关闭所有节能省心用。
3.感谢远景的紫米 ,楼主对照这个帖子挑了点省心的地方在修改。
原帖
“紫米 Lion 完善紀實之三”
http://bbs.pcbeta.com/viewthread-965149-1-1.html
|
|