关键词不能为空

当前您在: 主页 > 英语 >

ACPI Patcher 制作方法

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-13 12:03
tags:

-

2021年2月13日发(作者:解救)



很早就开始接触


Hacintosh


了,


也经常出没在各个


hacintosh


论坛,


因此也积累


了不少知识,

< p>
但是很多东西都是英文的,


却没有人引进到国内,


导致很多人都不


了解


Hacintosh


社区最新的进展,


或者知其然不知其所以然,


因此我在这里抛 砖


引玉,把自己知道的一些知识写出来和大家分享,也是想引出更多高手来。

< p>



第一篇我想给大家介绍如何使用


ACPI Patcher


制作


DSDT


补丁。




很多人都知道使用


DSDT


补丁可以开双核,



DSDT


的功能不仅仅如此,


除了开双


核,

< br>还可以可以修复


ACPI


缺陷


( 不需要




原版


cpupowermanagement


正常使用),


RTC< /p>



HPET


缺陷


(


原版


kext


正常工作


)


,显卡(代替


efistring


),


声卡(只是代替了



),网 卡(包括


TimeMachine


问题),此外


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


DSDT

< p>
补丁。




但是


DSDT


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

< br>ACPI


说起了,


ACPI


是< /p>


Intel



i386

< br>,


x86_64



IA64


)平台的标准固件规范,绝大部分


OS


需要 从


BIOS


得到的信息都可以从


ACP I


得到,并且现在的趋势是未来的任何新的特性相关的


信息都只 能从


ACPI


得到。




ACPI


的信息包括:



配置信息


,这些信息从


legacyPNP


设备的配置,到多处理器,到


NUMA


,比如现


在的


MultipleCore


的信息 就只能从


ACPI


得到。


Linux< /p>


启动很多代码就是处理这


些配置信息,比如


APIC



IOAPIC


设置等。< /p>



ACPI


相关设备

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


源,风扇,热键等。



底层硬件


,比如

PCI


中断路由,


chipset


(主要是南桥


PCI-to- LPCbridge)


操作


等。



电源管理



ACPI


定义的电源管理包括


CPU


的电源管理(调频率


P-state



idleC- state



throtting T-state

< p>
),设备电源管理


(D-state)


,系统电源 管理



Suspend-to-Ram,Suspend- to-Disk, power off


)等。



设备热插拔



ACPI


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



PCI


设备,到笔记本电脑的


DockingStation


,到整个


PCI hierarchy



CPU



Memory


,甚至整个


NUMA


节点。




可以说要理解现代


PC


平台必须了解


ACPI



A CPI


主要是由很多表



Table< /p>



组成


,



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.




简单说就是包含了所有和基本系统



basesystem



不同的设备的 信息,


basesystem


每台机器都是一样的,这个是在< /p>


acpispec


里指定的,但是每台机器都是不相同

< p>
的,所以不相同的设备大都是由


DSDT


表来描述 。它包含了很多


AML


代码。大多





BIOS


是针对


windows


开发的,



windows


自己也不完全遵循


acpi


规范,


所以


因为


BIOS



bug


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


linux


mac


os


出错。




我们可以手动修复这些


bug


使之兼容


MAC


系统。


DSDT



bios


里是以编译后的


aml


文件存在,需要把它解出来,反编译成

< br>aml


代码形式(


dsl


文件, 文本文件),


代码修改完毕再重新编译,替换掉


bios


里原来的


dsdt


表。不过

< br>PC-EFI



Chameleon

的出现,使得我们不再需要冒险刷


bios


,只要把制作好 的



文件放在根目录或者


/Extra< /p>


文件夹里,


启动的时候就会自动使用这个




从而达到修复


ACPI


系统


bug


的作用。




但是


DSDT


补丁怎么制作,却很少有人能详细的介绍,


mac


上的软件基 本上只能


制作解决双核,


acpi


问题 的



,要想解决更多的问题,就必须回到


windows


,使用


insanelymac


论坛里的一款软件


ACPIPatcher


,这个软件 相对比


较复杂,今天我们就来了解一下这个软件的用法。







软件界面如上图,左上可以指定


bios


和 制作补丁,右上是具体选择补丁选项的


地方,左下是输出信息,右下可以看到进度。



先来看左上部分各个标签的具体作用。




BIOSPatch



选择一个


bios


制作




选择


bios


文 件和指定输出



目录之后,选中



,然后按下


Patch


Bios


按钮即可,输出目录


不可以是


bios


目录,否则会出错




DS DTPatch


:对一个已有的



进行< /p>


acpi


修复,选择


,指定输出


目录,按下


PatchAML

< br>即可




ImportDSDT


:用已有的




bios


打补丁,选择输入


dsl


文件 和


bios



按下

PatchBios


即可




ExportDSDT


:从


bios


里解出



文件,选择


b ios


文件和输出目录,按下




Exact


即可




D/CDSDT


< br>DSL


编译成


AML


文件,或者


AML


文件反编译成


DSL

< p>
文件,取决于选中


Compile


还是

< p>
Decomplie


,选中


Compile


的时候如果同时选中


Patchbefore


compile


,可以在把


DSL


编 译成


AML


文件的时候打上


ACPI< /p>


补丁。




看完 了左上的标签我们来看最重要的部分,右上


bugfix


的详细 信息,




General





这里有三个最重要的修复,


HPET Patch



RTCPatch



AliasesPatch



前两个可以< /p>


解决一些时钟方面的问题,很多机器里如果有


就会四国,或者不能正常使用,需要



,如果你选了前两项, 从此可以扔掉



,因为


< br>可以正常工作了,


第三个选项也许更加重


要,

< p>
AliasesPatch


直接对应是否能开双核,对

asus



msi


的主板来说,这 个选


项是非常重要的,技嘉没有这个问题,选不选都无所谓。







点击


Fixes…可以看到一个新窗口







这里都是一些针对编译时出现


error


或 者


warning



fix

< p>


作者的意见是当出现


这些


error


或者


warning


的时 候可以选择,


我的意见时全部选择,


防止出现

< br>error


或者


warning


,如果还有问题,就需要去网上搜索解决方案,自己动手修改代码


然后再编译了。




Network







这里相 对比较复杂,你需要知道硬件位置,这个可以用


ioRegistryExplorer



看,


Lan0


应该是百兆网卡而


GIGE


是千兆网卡,

FixGP9


指增加一个


GPIO9


的控制


项,


UseTime Machine Fix


修复


Time Machine


找不到内置网卡的问题,下面是


针对技嘉


P43 P45 Realtek 8111c


千兆网卡的设置图,它的硬件位置在


PEX 5






Graphics





这里合理设置后完全可以代替


efi-string

< p>


natit



nvin ject



nvdarwin



nvkush


等,


首先在

model


那里选择显卡型号和显存大小,


下面绿色的选项 针对


N


卡,



色的针对


A


卡,


N

卡需要设置


nvcap


值,


A


卡需要设置


Framebuffer



DevID



Hardwarelocat ion


需要用


ioRegistryExplorer


看下,


PEGP



Us e DSDT GFX



要选中。




这里以硬件地址


PCI

< p>
0


为例,


分别给出


nVi dia8800


GT


512MB



ATI


HD3870


512MB


显卡的示例。




nVidia 8800 GT512MB






ATI HD3870 512MB


-


-


-


-


-


-


-


-



本文更新与2021-02-13 12:03,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/650051.html

ACPI Patcher 制作方法的相关文章