ACPI
本文档会把 config 的项目分开来,内容繁琐,请仔细阅读相关配置项。配置
config.plist
强制要求在 Windows 环境下使用 Propertree 来编辑,其他任何软件都不建议使用。
ACPI(Advanced Configuration and Power Interface,高级配置和电源接口)是发现和配置计算机硬件的开放标准。这里先把 Root 下面的几条 #WARNING
删除,这几条没有实际意义。
Add
添加的 ACPI 表存放在./OC/ACPI/
目录中。
这部分主要添加不同硬件需要用的 DSDT 以及 SSDT 文件。
CPU硬件 | CPU | EC | AWAC | NVRAM | USB |
Skylake(七代) | SSDT-PLUG | SSDT-EC-USBX | / | / | / |
Kaby Lake(八代) | / | / | / | ||
Coffee Lake(九代) | SSDT-AWAC | SSDT-PMC | / | ||
Comet Lake(十代) | / | SSDT-RHUB |
Delete
从 ACPI 栈中删除选定的表。
All
如果设置为
true
,则所有符合条件的 ACPI 表都会被删除。否则只删除第一个匹配到的。Comment
注释。
Enabled
设置为
true
将删除匹配到的 ACPI 表。即此条目生效。OemTableId
将表的 OEM ID 作为匹配值。
TableLength
设置匹配的大小,填写
0
不设置匹配大小,将匹配到任意大小。TableSignature
设置表的签名作为匹配值。
注
当需要匹配多处时即 All
的值为 true
时,不要设置表的签名 TableSignature
的值。尤其是在不同类型的重命名操作的时候。
Patch
添加或删除的 ACPI 的二进制热补丁。
Base
为重命名补丁指定一个 ACPI 路径,让OC通过取得该路径的偏移量来查找(或替换)重命名补丁。留空时忽略。
只支持正确的绝对路径(例如:
\_SB.PCI0.LPCB.HPET
)。目前支持的类型有:Device
、Field
、Method
。BaseSkip
OC查找和替换之前跳过找到
Base
的数。设置为0
不跳过。Comment
注释
Count
应用此补丁的数量,设置为
0
应用到所有找到的匹配Base
的数量。Enabled
设置为
true
应用此条 ACPI 补丁Find
找到的 Data,如果设置长度必须和
Replace
相等。注
如果留空那么当指定
Base
时,查询到Base
会立即生效。Limit
要查询的最大字节数,如果设置值为
0
那么将会查询整个 ACPI 表Mask
查询比较期间使用的数据(按位掩码)。通过忽略未屏蔽位进行模糊查询(设置为
0
),如果设置,此值的长度必须和Replace
相等。OemTableId
将表的 OEM ID 作为匹配值。
Replace
替换数据。
ReplaceMask
替换数据期间使用的数据(按位掩码)。通过忽略未屏蔽位进行模糊查询(设置为
0
),如果设置,此值的长度必须和Replace
相等。Skip
在应用替换之前要跳过的找到的数量。设置为
0
不跳过任何事件。TableLength
将表的大小匹配为此处所设置的值。
TableSignature
将表的签名匹配为此处所设置的值。
Quirks
此目录下有以下配置项,初始配置与解释如下:
FadtEnableReset: False
- 在 FADT 表中提供寄存器复位标志,用于修复旧硬件的重启和关机。除非不启用就无法关机和重启,否则不建议启用。
NormalizeHeaders: False
- 清理 ACPI 表头字段以解决 macOS ACPI 实现错误导致的引导崩溃。一些主板的 ACPI 表需要打开这个修复 macOS 10.13 系统的启动。
RebaseRegions: True
- 尝试试探性地重新定位 ACPI 内存区域,使用自定义 DSDT 则必须开启。
ResetHwSig: False
- 启用这一选项可以解决固件无法在重新启动过程中保持硬件签名导致的休眠唤醒问题。
ResetLogoStatus: False
- 无法在有 BGRT 表的系统上显示 OEM Windows 标志的硬件需要开启。
SyncTableIds: False
- 解决当用 Opencore 引导 windows 7 及更早的系统时,因缺少 SLIC 表而无法激活 windows 的问题。