网站大量收购闲置独家精品文档,联系QQ:2885784924

威廉第三的MAC系列教程[一]——使用ACPIPatcher制作DSDT补丁.docx

威廉第三的MAC系列教程[一]——使用ACPIPatcher制作DSDT补丁.docx

  1. 1、本文档共16页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
威廉第三的MAC系列教程(一) ——使用ACPI Patcher制作DSDT补丁很早就开始接触Hacintosh了,也经常出没在各个hacintosh论坛,因此也积累了不少知识,但是很多东西都是英文的,却没有人引进到国内,导致很多人都不了解Hacintosh社区最新的进展,或者知其然不知其所以然,因此我在这里抛砖引玉,把自己知道的一些知识写出来和大家分享,也是想引出更多高手来。?第一篇我想给大家介绍如何使用ACPI Patcher制作DSDT补丁。?很多人都知道使用DSDT补丁可以开双核,但DSDT的功能不仅仅如此,除了开双核,还可以可以修复ACPI缺陷(不需要Disabler.kext,原版cpupowermanagement正常使用),RTC,HPET缺陷(原版kext正常工作),显卡(代替efistring),声卡(只是代替了HDAEnabler.kext),网卡(包括TimeMachine问题),此外还可以解决其他很多奇奇怪怪的问题,因此建议尽可能使用DSDT补丁。?但是DSDT到底是什么东西,怎么这么神奇呢?这个要从ACPI说起了,ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,绝大部分OS需要从BIOS得到的信息都可以从ACPI得到,并且现在的趋势是未来的任何新的特性相关的信息都只能从ACPI得到。??ACPI的信息包括:?配置信息:这些信息从legacyPNP设备的配置,到多处理器,到NUMA,比如现在的MultipleCore的信息就只能从ACPI得到。Linux启动很多代码就是处理这些配置信息,比如APIC,IOAPIC设置等。?ACPI相关设备,主要是笔记本电脑相关的设备,包括电源按钮,电池,外接电源,风扇,热键等。?底层硬件,比如PCI中断路由,chipset(主要是南桥PCI-to-LPCbridge)操作等。?电源管理,ACPI定义的电源管理包括CPU的电源管理(调频率P-state,idleC-state,throtting T-state),设备电源管理(D-state),系统电源管理(Suspend-to-Ram,Suspend-to-Disk, power off)等。?设备热插拔,ACPI用一种统一的方式来描述设备的热插拔,这样的设备从单一的PCI设备,到笔记本电脑的DockingStation,到整个PCI hierarchy,CPU,Memory,甚至整个NUMA节点。?可以说要理解现代PC平台必须了解ACPI。ACPI主要是由很多表(Table)组成,而DSDT(Differentiated System Description Table)是其中一个最主要的ACPI表之一,它的定义如下 ?DSDT is an acronym for DifferentiatedSystem Description Table. Thistable contains the Differentiated Definition Block, which supplies theinformation and configuration information about the base system.?简单说就是DSDT包含了所有和基本系统(basesystem)不同的设备的信息,basesystem每台机器都是一样的,这个是在acpispec里指定的,但是每台机器都是不相同的,所以不相同的设备大都是由DSDT表来描述。它包含了很多AML代码。大多数BIOS是针对windows开发的,而windows自己也不完全遵循acpi规范,所以因为BIOS的bug,这些代码本身可能有错,导致其他的系统,如linux,mac os出错。?我们可以手动修复这些bug使之兼容MAC系统。DSDT在bios里是以编译后的aml文件存在,需要把它解出来,反编译成aml代码形式(dsl文件,文本文件),代码修改完毕再重新编译,替换掉bios里原来的dsdt表。不过PC-EFI,Chameleon的出现,使得我们不再需要冒险刷bios,只要把制作好的DSDT.aml文件放在根目录或者/Extra文件夹里,启动的时候就会自动使用这个DSDT.aml,从而达到修复ACPI系统bug的作用。?但是DSDT补丁怎么制作,却很少有人能详细的介绍,mac上的软件基本上只能制作解决双核,acpi问题的dsdt.aml,要想解决更多的问题,就必须回到windows,使用insanelymac论坛里的一款软件ACPIPatcher,这个软件相对比较复杂,今天我们就来了解一下ACPIPatcher这个软件的用法。?软件界面如上图,左上可以指定bios和制作补丁,右上是具体选择补丁选项的地方,左下是输出信息,右下可以看

文档评论(0)

jdy261842 + 关注
实名认证
内容提供者

分享好文档!

1亿VIP精品文档

相关文档