什么是DSDT和SSDT?
这些是固件中提供的表格,概述了硬件设备,例如USB控制器,CPU线程,嵌入式控制器,系统时钟等。
DSDT(区分系统描述表)可以看作是包含大多数信息的主体,而较小的信息位则由SSDT(辅助系统描述表)传递
那么,为什么我们要需要这些表呢?
macOS对于DSDT中存在的设备可能会非常挑剔,因此我们需要修纠正它。需要更正以使macOS系统能正常在普通的PC上运行的主要设备:
Embedded controllers(EC)(EC)
现代的英特尔计算机在其DSDT中都暴露了EC,许多AMD系统也暴露了EC。这些控制器与macOS不兼容,因此在运行macOS Catalina时,必须将其从macOS中隐藏起来并替换为虚拟EC。对于笔记本电脑,我们仍然需要这些EC,因此我们将其重命名为macOS期望的EC
Plugin type
这用于在Intel Haswell和更新的CPU 上启用本机CPU电源管理,SSDT将连接到CPU的第一个线程。不适用于AMD
AWAC system clock。
这适用于所有300系列主板,包括Z370主板,具体问题是较新的主板附带启用了AWAC system clock的功能。这是一个问题,因为macOS无法与AWAC system clock进行通信,因此这要求我们要么强制使用旧版Legacy RTC clock, 要么如果无法使用,请为macOS创建一个虚拟的来使用
NVRAM SSDT
True 300系列主板(非Z370)未在ACPI中将FW芯片声明为MMIO,因此XNU会忽略UEFI内存映射所声明的MMIO区域。该SSDT带回了NVRAM支持
Backlight SSDT(背光 SSDT)
用于固定笔记本电脑的背光支持
GPIO SSDT
用于创建存根以允许VoodooI2C连接到笔记本电脑(仅适用于笔记本电脑)
XOSI SSDT
用于将OSI调用重新路由到此SSDT,主要用于诱使我们的硬件考虑其引导Windows,以便我们获得更好的触控板支持。仅适用于笔记本电脑
IRQ SSDT and ACPI patch
主要用于笔记本电脑,需要在DSDT中解决IRQ冲突。SSDTTime exclusive
每个平台需要什么SSDT
请参阅您的config.plist的特定ACPI部分,其中所有所需的SSDT均带有breif解释器。但这是一个非常快速的TL; DR:
笔记本Desktop
Ivy Bridge:
Haswell:
Skylake:
Kabylake:
Coffeelake:
AMD:
台式机High End Desktop
Haswell-E:
Broadwell-E:
Skylake-X:
Laptop
Ivy Bridge:
Haswell:
Broadwell:
Skylake:
Kabylake:
Coffeelake(8th Gen):
Coffeelake(9th Gen):