PCEVA,PC绝对领域,探寻真正的电脑知识
打印 上一主题 下一主题
开启左侧

微星z68gd65主板升级dsdt修改日志

[复制链接]
跳转到指定楼层
1#
ggzaiye 发表于 2012-8-28 11:52 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
点击数:4330|回复数:1
本帖最后由 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
2#
ggzaiye  楼主| 发表于 2012-8-28 11:53 | 只看该作者
这是一楼差的附件图

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部