加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

DSDT使用及常见错误修改

(2017-06-29 20:25:30)
标签:

it

sdk

java

分类: 网络编程
DSDT使用及常见错误修改
 2017-06-29
1, dsdt的获取
     a, acpica的acpiextract命令
     b, Clover的F4功能键 *保存原始DSDT到/EFI/ACPI/origin
     c, linux下的cat /proc/....
     d, DPCIManager的Extract DSDT
     e, Clover Config的Export.
      因为取的内容是一样的,因此虽然获取方式不同,但最终得到dsdt是没有任何区别的。

2, 对dsdt文件进行编译。
      可以采用iasl命令,也可以采用Macisal程序。
      Macisal可以添加更多的补丁源,根据需要对dsdt进行patch,可以直接打开aml文件进行修改,编译,同时进行语法检查。推荐使用。

    iasl :这是编译命令 使用: iasl 文件名 比如 iasl DSDT.dsl,就是编译DSDT.dsl文件。
        2.1 参数1: -e ,这里的e是external的首字母,意思是在操作时要包括外部的一些信息,比如把SSDT的信息,加入到DSDT的反编译过程里,对于DSDT,SSDT就是外部信息。
        2.2 参数2: -d ,这里的d是disassemble的首字母,字面意思是拆卸,可以说是反编译。

      3、iasl –e SSDT*.aml –d DSDT.aml
          iasl -da *.aml 实践证明比iasl -d *.aml -e *.aml来的更高效。。后者常常不起作用
          iasl -e *.aml -d *.aml 会把所有的aml都dissemble一遍 非常方便

20140926版本及以前版本: iasl -da *.aml
20141107 版开始: iasl -da -dl *.aml

      这句命令的操作:使用SSDT.aml里的相关信息,协助反编译DSDT.aml。SSDT后面的星号表示的是任意字符,比如,你的文件夹里有SSDT1.aml、SSDT2.aml、SSDT3.aml、SSDT4.aml ……。很多的SSDT,这样写,程序就会自动找这个文件夹下的所有SSDT,而不需要把所有SSDT的文件名写到命令里。
      执行这句命令后,一般,就会在这个文件夹下生成一个dsl文件,它的错误大大减少了,甚至已经没有错误了。以后要修改DSDT,就可以用这个文件修改了,修改好就可以编译成aml使用了。(不建议用软件打开aml文件,编译好后,可以直接测试有没有效果了。)

          3.1 这句命令还可以反过来用,即
      iasl -e DSDT.aml -d SSDT*.aml (已经有比这个命令,效果更好的命令了。具体请看贴子的最后。)
      与前一句命令相比,操作反了过来,这句命令是使用DSDT.aml里的相关信息,协助反编译SSDT.aml,这样生成的SSDT.dsl,也能减少很多错误,甚至已经都没有错误了。

 iasl *.dsl
即可由 dsl源文件,生成 aml目标文件。
3, 对dsl的编译修改
     对aml反编译后形成的dsl文件,为ASCII文件。可以随时采用文本编辑的方式进行修改。


个人不是特别习惯dsdt,有点复杂。如果可能,还是采用clover的配置模式进行处理,更便捷,也容易理解。

分别使用「DSDT Auto-Patcher」及「DSDTFixer」抽取了两个 DSDT.aml,其中以「DSDTFixer」抽取时,
我还把「Inser Hacks in DSDT」所有选项打勾,
两个程序所生成的 DSDT.aml都没有任何错误或警告讯息

将得到的两个 DSDT.aml ,都利用 iDSDT 导入显卡 rom 文件,生成新的两个含有显卡代码的 DSDT.aml

七、安装变色龙到系统盘,分别测试两个不同的 DSDT.aml(分别放入 Extra 文件夹),
重开机皆可驱动显示卡(特效都有开,分辨率可調整


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有