All I had to do for my desktop was add an ACPI identity that matches the location of the PCI device. Nothing else was needed.
As can be seen from ioreg (and DSDT), your SSD is connected at _SB.PCI0.PEG1:
- the PEG1@1,1 (in IOService) corresponds to Device (PEG1) and _ADR=0x00010001
- all PCI devices are usually under PCI0 (as confirmed in DSDT)
- PCI0 is usually in scope _SB (as confirmed in DSDT, and IOACPIPlane of ioreg)
This should be all you need:
Code:
//SSDT-NVMe.dsl
// add an ACPI identity for built-in NVMe SSD at _SB.PCI0.PEG1.SSD0
DefinitionBlock("", "SSDT", 2, "hack", "nvme", 0)
{
External(_SB.PCI0.PEG1, DeviceObj)
Scope(_SB.PCI0.PEG1)
{
Device(SSD0)
{
Name(_ADR, Zero)
}
}
}
//EOF
Copy it to a new document in MaciASL, then save as SSDT-NVMe.aml (format ACPI Machine Language Binary).
Then copy to EFI/CloverACPI/patched (on your EFI partition).
If you're using config.plist/ACPI/SortedOrder, make sure it refers to this file (otherwise it won't load).