最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

威廉第三的MAC系列教程(一)——使用ACPIPatcher制作DSDT补丁

IT圈 admin 30浏览 0评论

2024年4月24日发(作者:洛谨)

威廉第三的MAC系列教程(一)——使用ACPIPatcher制

作DSDT补丁

威廉第三的MAC系列教程(一)——使用ACPI Patcher制作

DSDT补丁

很早就开始接触Hacintosh了,也经常出没在各个hacintosh论

坛,因此也积累了不少知识,但是很多东西都是英文的,却没有人引

进到国内,导致很多人都不了解Hacintosh社区最新的进展,或者知

其然不知其所以然,因此我在这里抛砖引玉,把自己知道的一些知识

写出来和大家分享,也是想引出更多高手来。

第一篇我想给大家介绍如何使用ACPI Pa tcher制作DS DT补丁。

很多人都知道使用DSDT补丁可以开双核,但DS DT的功能不仅

仅如此,除了开双核,还可以可以修复A CPI缺陷(不需要

,原版cpupowermanagement正常使用),RTC,

HPET缺陷(原版kext正常工作),显卡(代替efistring),声卡(只

是代替了HDAEna ),网卡(包括TimeMachine问题),

此外还可以解决其他很多奇奇怪怪的问题,因此建议尽可能使用DS

DT补丁。

但是DSDT到底是什么东西,怎么这么神奇呢?这个要从ACPI说

起了,ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,

绝大部分OS 需要从BIOS得到的信息都可以从ACPI得到,并且现在

的趋势是未来的任何新的特性相关的信息都只能从ACPI得到。

ACPI的信息包括:

配置信息:这些信息从legacy PNP设备的配置,到多处理器,到

NUMA,比如现在的MultipleCore的信息就只能从A CPI得到。

Linux启动很多代码就是处理这些配置信息,比如A PIC,I OAPIC设

置等。

ACPI相关设备,主要是笔记本电脑相关的设备,包括电源按钮,

电池,外接电源,风扇,热键等。

底层硬件,比如PCI中断路由,chipset(主要是南桥PCI-to-

LPCbridge)操作等。

电源管理,A CPI定义的电源管理包括CPU的电源管理(调频率

P-state,idleC-state,throtting T-sta te),设备电源管理(D-state),

系统电源管理(Suspend-to-Ram,Suspend-to-Disk, power off)等。

设备热插拔,ACPI用一种统一的方式来描述设备的热插拔,这样

的设备从单一的PCI设备,到笔记本电脑的DockingS tation,到整个

PCI hierarchy,CPU,Memory,甚至整个NUMA节点。

可以说要理解现代PC平台必须了解ACPI。A CPI主要是由很多

表(T able)组成,而DS DT(Differentiated Sy stem De scription T

able)是其中一个最主要的ACPI表之一,它的定义如下

DSDT is an acr onym for Differenti atedSystem De scription T

able. Thistable contains the Differenti ated Definition Block,

which supplies theinforma tion a nd configurati on information

about the base system.

简单说就是DSDT包含了所有和基本系统(base system)不同的

设备的信息,ba sesy stem每台机器都是一样的,这个是在acpispec

里指定的,但是每台机器都是不相同的,所以不相同的设备大都是由

DSDT表来描述。它包含了很多AML代码。大多数BIOS是针对

window s开发的,而windows 自己也不完全遵循a cpi规范,所以

因为BIOS的bug,这些代码本身可能有错,导致其他的系统,如

linux,mac os出错。

我们可以手动修复这些bug使之兼容MA C系统。DSDT在bios

里是以编译后的aml文件存在,需要把它解出来,反编译成aml代码

形式(dsl 文件,文本文件),代码修改完毕再重新编译,替换掉bios

里原来的dsdt表。不过PC-EFI,Chameleon的出现,使得我们不再

需要冒险刷bios,只要把制作好的DS 文件放在根目录或者

/Extra文件夹里,启动的时候就会自动使用这个DS ,从而达

到修复ACPI系统bug的作用。

但是DSDT补丁怎么制作,却很少有人能详细的介绍,mac上的

软件基本上只能制作解决双核,acpi问题的,要想解决更多

2024年4月24日发(作者:洛谨)

威廉第三的MAC系列教程(一)——使用ACPIPatcher制

作DSDT补丁

威廉第三的MAC系列教程(一)——使用ACPI Patcher制作

DSDT补丁

很早就开始接触Hacintosh了,也经常出没在各个hacintosh论

坛,因此也积累了不少知识,但是很多东西都是英文的,却没有人引

进到国内,导致很多人都不了解Hacintosh社区最新的进展,或者知

其然不知其所以然,因此我在这里抛砖引玉,把自己知道的一些知识

写出来和大家分享,也是想引出更多高手来。

第一篇我想给大家介绍如何使用ACPI Pa tcher制作DS DT补丁。

很多人都知道使用DSDT补丁可以开双核,但DS DT的功能不仅

仅如此,除了开双核,还可以可以修复A CPI缺陷(不需要

,原版cpupowermanagement正常使用),RTC,

HPET缺陷(原版kext正常工作),显卡(代替efistring),声卡(只

是代替了HDAEna ),网卡(包括TimeMachine问题),

此外还可以解决其他很多奇奇怪怪的问题,因此建议尽可能使用DS

DT补丁。

但是DSDT到底是什么东西,怎么这么神奇呢?这个要从ACPI说

起了,ACPI是Intel(i386,x86_64,IA64)平台的标准固件规范,

绝大部分OS 需要从BIOS得到的信息都可以从ACPI得到,并且现在

的趋势是未来的任何新的特性相关的信息都只能从ACPI得到。

ACPI的信息包括:

配置信息:这些信息从legacy PNP设备的配置,到多处理器,到

NUMA,比如现在的MultipleCore的信息就只能从A CPI得到。

Linux启动很多代码就是处理这些配置信息,比如A PIC,I OAPIC设

置等。

ACPI相关设备,主要是笔记本电脑相关的设备,包括电源按钮,

电池,外接电源,风扇,热键等。

底层硬件,比如PCI中断路由,chipset(主要是南桥PCI-to-

LPCbridge)操作等。

电源管理,A CPI定义的电源管理包括CPU的电源管理(调频率

P-state,idleC-state,throtting T-sta te),设备电源管理(D-state),

系统电源管理(Suspend-to-Ram,Suspend-to-Disk, power off)等。

设备热插拔,ACPI用一种统一的方式来描述设备的热插拔,这样

的设备从单一的PCI设备,到笔记本电脑的DockingS tation,到整个

PCI hierarchy,CPU,Memory,甚至整个NUMA节点。

可以说要理解现代PC平台必须了解ACPI。A CPI主要是由很多

表(T able)组成,而DS DT(Differentiated Sy stem De scription T

able)是其中一个最主要的ACPI表之一,它的定义如下

DSDT is an acr onym for Differenti atedSystem De scription T

able. Thistable contains the Differenti ated Definition Block,

which supplies theinforma tion a nd configurati on information

about the base system.

简单说就是DSDT包含了所有和基本系统(base system)不同的

设备的信息,ba sesy stem每台机器都是一样的,这个是在acpispec

里指定的,但是每台机器都是不相同的,所以不相同的设备大都是由

DSDT表来描述。它包含了很多AML代码。大多数BIOS是针对

window s开发的,而windows 自己也不完全遵循a cpi规范,所以

因为BIOS的bug,这些代码本身可能有错,导致其他的系统,如

linux,mac os出错。

我们可以手动修复这些bug使之兼容MA C系统。DSDT在bios

里是以编译后的aml文件存在,需要把它解出来,反编译成aml代码

形式(dsl 文件,文本文件),代码修改完毕再重新编译,替换掉bios

里原来的dsdt表。不过PC-EFI,Chameleon的出现,使得我们不再

需要冒险刷bios,只要把制作好的DS 文件放在根目录或者

/Extra文件夹里,启动的时候就会自动使用这个DS ,从而达

到修复ACPI系统bug的作用。

但是DSDT补丁怎么制作,却很少有人能详细的介绍,mac上的

软件基本上只能制作解决双核,acpi问题的,要想解决更多

与本文相关的文章

发布评论

评论列表 (0)

  1. 暂无评论