Contribute
Register

[Guide] HackrNVMeFamily co-existence with IONVMeFamily using class-code spoof

Status
Not open for further replies.
Assuming you don't have any mistakes in your Clover ACPI configuration... you will have path
_SB.PCI0.BR2A.H000.@8.@0
(assuming nothing beyond the part #PCI(0000))

The .@8 and .@0 represent nodes that don't have ACPI identities.. It is the case covered in post #1 behind a PCI bridge...
Should I have my SSDT like this?

Code:
// Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
{
    External(_SB.PCI0.BR2A.H000, DeviceObj)
    // create identities for the bridge @8 and SSD0 @0
    Device(_SB.PCI0.BR2A.H000)
    {
        Name(_ADR, 0x00080000)
        Device(SSD0) { Name(_ADR, 0) }
    }
    // now we can inject the _DSM at the newly created ACPI path
    Method(_SB.PCI0.BR2A.H000.SSD0._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return(Package()
        {
            "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
            "built-in", Buffer() { 0 },
        })
    }
}
//EOF
 
Should I have my SSDT like this?

Code:
// Inject bogus class-code for NVMe SSD to prevent IONVMeFamily.kext from loading
DefinitionBlock("", "SSDT", 2, "hack", "NVMe-Pcc", 0)
{
    External(_SB.PCI0.BR2A.H000, DeviceObj)
    // create identities for the bridge @8 and SSD0 @0
    Device(_SB.PCI0.BR2A.H000)
    {
        Name(_ADR, 0x00080000)
        Device(SSD0) { Name(_ADR, 0) }
    }
    // now we can inject the _DSM at the newly created ACPI path
    Method(_SB.PCI0.BR2A.H000.SSD0._DSM, 4)
    {
        If (!Arg2) { Return (Buffer() { 0x03 } ) }
        Return(Package()
        {
            "class-code", Buffer() { 0xff, 0x08, 0x01, 0x00 },
            "built-in", Buffer() { 0 },
        })
    }
}
//EOF

Yes, assuming the ACPI configuration you see in Windows holds true when you boot through Clover.
(there are Clover options and/or things you could do in ACPI/patched that may change the ACPI paths...)
 
This patch don't worked. See the kernel panic pic.

20170525_150606.jpg
 
My ACPI / patch has added SSDT-NVMe-Pcc.aml
HackrNVMeFamily-10_12_5 also added
My system version 10.12.5 cpu: i5 6300HQ my computer is a notebook
Now still can not find nvme my nvme is pm951 can open my clover help me see?
Thank you
 

Attachments

  • CLOVER.rar
    7.2 MB · Views: 78
  • QQ图片20170524222857.png
    QQ图片20170524222857.png
    2.5 KB · Views: 74
My ACPI / patch has added SSDT-NVMe-Pcc.aml
HackrNVMeFamily-10_12_5 also added
My system version 10.12.5 cpu: i5 6300HQ my computer is a notebook
Now still can not find nvme my nvme is pm951 can open my clover help me see?
Thank you

Your config.plist has SortedOrder. SSDT-NVMe-Pcc.aml is not in it. Therefore Clover will not load SSDT-NVMe-Pcc.aml.
Also the HackrNVMeFamily-10_12_5.kext in Clover/kexts/10.12 is not correct.
 
My HackrNVMeFamily-10_12_5.kext why not? Do i use git command to generate that you can upload a correct one for me?
And how my config.plist should be changed? I really will not change you can help me change the upload to me?
My nvme has not been recognized for a week
collapse
 
Did I upload a picture where I added SSDT-NVMe-Pcc.aml?
And my HackrNVMeFamily-10_12_5.kext in the end why not right? This one can not understand
 

Attachments

  • QQ图片20170526091035.png
    QQ图片20170526091035.png
    57.8 KB · Views: 106
My HackrNVMeFamily-10_12_5.kext why not? Do i use git command to generate that you can upload a correct one for me?

You need to generate a correct kext with patch_nvme.sh.
Read post #1.

And how my config.plist should be changed?

I think you should start from the beginning.
You obviously have things in your EFI/Clover that you don't understand, and a lot of it is nonsense (for example, you have a bunch of SSDTs in ACPI/patched that will never load as they are not named in SortedOrder).

I really will not change you can help me change the upload to me?
My nvme has not been recognized for a week
collapse

Start over and follow the guide:
https://www.tonymacx86.com/threads/guide-booting-the-os-x-installer-on-laptops-with-clover.148093/

Notes:
- the plists from the guide already have the _DSM->XDSM patch, but it is disabled, so don't forget to enable it
- the plists from the guide do not use SortedOrder, so whatever SSDTs you place in ACPI/patched will be loaded (eg. the SSDT-NVMe-Pcc.aml that you will add)
- generate HackrNVMeFamily-10_12_5.kext and place it in EFI/Clover/kexts/Other at the same time you create your USB installer (on a real Mac).
 
Can you help me generate a correct kxte?
And upload it to me
Thank you
I have always made all kinds of mistakes
My version is 10.12.5
 
Status
Not open for further replies.
Back
Top