SSDT-DMAC.aml是否需要imac20,2机型
最近,在给EFI做补丁,把一些没有设备给补上去,看到两个补丁,但不知是否有用
一个是SSDT-DMAC.aml,,另一个是SSDT-DMAR.aml
医生说了没病别乱吃药 # 添加缺失的部件
## 描述
添加缺失的部件只是一种完善方案,非必要!
### 使用说明
**DSDT中:**
- 搜索 `PNP0200`,如果缺失,可添加 ***SSDT-DMAC***。
- 搜索 `MCHC`,如果缺失,可添加 ***SSDT-MCHC***。
- 搜索 `PNP0C01`,如果缺失,可添加 ***SSDT-MEM2***。
- 搜索 `0x00160000`,如果缺失,可添加 ***SSDT-IMEI***。
- 6 代以上机器,搜索 `0x001F0002`,如果缺失,可添加 ***SSDT-PPMC***。
- 6 代以上机器,搜索 `PMCR` 、 `APP9876`,如果缺失,可添加 ***SSDT-PMCR***。
说明:@请叫我官人 提供方法,目前已成为 OpenCore 官方的 SSDT 示例。
> Z390 芯片组 PMC (D31:F2) 只能通过 MMIO 启动。由于 ACPI 规范中没有 PMC 设备,苹果推出了自己的命名 `APP9876`、从 AppleIntelPCHPMC 驱动中访问这个设备。而在其它操作系统中,一般会使用 `HID: PNP0C02`、`UID: PCHRESV` 访问这个设备。
> 包括 APTIO V 在内的平台,在初始化 PMC 设备之前不能读写 NVRAM(在 SMM 模式中被冻结)。
> 虽然不知道为什么会这样,但是值得注意的是 PMC 和 SPI 位于不同的内存区域,PCHRESV 同时映射了这两个区域,但是苹果的 AppleIntelPCHPMC 只会映射 PMC 所在的区域。
> PMC 设备与 LPC 总线之间毫无关系,这个 SSDT 纯粹是为了加快 PMC 的初始化而把该设备添加到 LPC 总线下。如果将其添加到 PCI0 总线中、PMC 只会在 PCI 配置结束后启动,对于需要读取 NVRAM 的操作来说就已经太晚了。
- 搜索 `PNP0C0C`,如果缺失,可添加 ***SSDT-PWRB***。
- 搜索 `PNP0C0E`,如果缺失,可添加 ***SSDT-SLPB***,《PNP0C0E睡眠修正方法》需要这个部件。
### 注意
使用以上部分补丁时,注意 `LPCB` 名称应和原始ACPI名称一致。 DMAR则与VT有关。如果主板BIOS中设置开启CPU的VT全部功能,则有可能需要将主板原有DMAR删除,加入修改后的DMAR,否则可能导致网卡、声卡等出现问题。当然如果没问题,就不需要drop掉它,也不需要修改的DMAR。
开启VT后的macOS系统,会在IoReg里面发现Apple VTD。 我只给自己打了个DMAR的SSDT,用来修复VTD虚拟化的,然后跑了跑虚拟机, .这俩干嘛用的? 本帖最后由 lwx1901 于 2022-12-19 23:18 编辑
DMAC是设备名,DMAR是ACPI组件名,不是一回事。白果机中有这个设备DMAC,SSDT-DMAC.aml才是SSDT。DMAR不是SSDT,独立于DSDT
SSDT-DMAC将DMA控制器公开给系统,直接访问缓存地址控制器。
不懂这些是干什么的
页:
[1]