DSDT是主板BIOS中ACPI的一个表。什么是ACPI呢,它是BIOS的一个高级功能模块。
黑苹果由于硬件兼容性问题,多使用修改DSDT的方法来解决。例如显卡,声卡驱动。
那什么是DSDT呢,我们先需要了解一下它。
下面咱稍微详细的从最大的开始说:
一、首先,BIOS(略)
二、ACPI
ACPI是Hewlett-Packard, Intel, Microsoft, Phoenix, 和Toshiba共同制定的一个开放的行业规范。是The Advanced Configuration and Power Interface的缩写,也就是“电源管理模式和配置管理的接口规范”。从名字可以看出主要是“电源管理”和“配置管理”。更多详细描述可以访问Intel technology下载PDF描述文档。
它主要涵盖的功能包括:
System power management(系统电源管理)
Device power management(设备电源管理)
Processor power management(处理器电源管理)
Device and processor performance management(设备及处理器性能管理)
Configuration / Plug and Play(配置/即插即用)
System Events(系统事件)
Battery management(电池管理)
Thermal management(温度管理)
Embedded Controller(嵌入式控制器)
SMBus Controller(SMBus控制器)
在计算机应用平台,ACPI越来越重要。ACPI由很多表组成,包括:RSDP,SDTH,RSDT,FADT,FACS,DSDT,SSDT,MADT,SBST,XSDT,ECDT,SLIT,SRAT。(略写了,不用太详细介绍)其中DSDT就是它的一个重要的描述表。
三、DSDT
它是The Differentiated System Description Table的简写。字面上就可以知道它是一个描述系统不同信息的表。
包含了所有除基本系统以外所有不同设备的信息,也就是每台计算机设备的基本系统是相同的,而不相同的设备用DSDT来描述。
DSDT表代码为ACPI Machine Language (AML)。
Mac OS X不完整支持ACPI规范,仅支持它的子集DSDT。
用户通过修改DSDT可以得到更好的硬件支持。最简单的理解就是DSDT是描述硬件的。mac的驱动是被动驱动,需要让系统知道存在这个硬件且知道硬件位置。
修改DSDT的主要目的就是让mac系统识别存在这个硬件并告诉mac系统你的硬件位置,以便让mac系统内置的驱动来驱动硬件工作。
四、修改DSDT的基本过程
提取bios的AML文件,反编译为dsl text 文件,修改完毕后,编译到Aml--〉替换BIOS中的DSDT。
技术的进步让我们可以由Chameleon来加载编译好的DSDT.aml文件在修复ACPI缺陷,使主板更好支持苹果系统。