Jump to content
Pimentel

Power management for Sandy/Ivy Bridge/Haswell CPUs

543 posts in this topic

Recommended Posts

Advertisement

Hello

 

Thanks Allan...

I think this guide work in Haswell CPU too... i make a hack to my friend, he use haswell and i use this script to get power management and work perfect...

But i don't know yet... if it work in haswell 100%, i make only 1 test... but i think work...

Share this post


Link to post
Share on other sites

hi everybody!

 

i try to implement this hack to improve my hackintosh but i get this kernel panic. "attempt to re register power management interface --aicpm..."

what i can do?

 

DELL N4050

Intel I3 2330-m (SandyB)

6 GB RAM DDR 1066

500 GB HDD

Intel HD3000

Atheros 9285

post-511544-0-82273500-1392986149_thumb.jpg

Share this post


Link to post
Share on other sites

Hello

 

Ok… What steps of this guide you followed???

 

Did you create your SSDT and patch AICPUPM? Are you using NullCPUPM?

 

 

STEPS

- Creating the SSDT
- Patch AppleIntelCPUPowermanagement
- Kernel Patch for Haswell CPU(Kernel XCPM)
 
i think in the last step i did wrong, because my CPU it’s a SandyBrigde. how i revert this step?

Share this post


Link to post
Share on other sites

Hello
 

The management XCPM not support CPUs Sandy Bridger

 

Yes… you did a wrong thing…

haven’t how revert it… only way was backup your mach_kernel… so, this mean you need re-install OSX and do everything again…
 

Share this post


Link to post
Share on other sites

Hello

 

Yes… you did a wrong thing…

 

haven’t how revert it… only way was backup your mach_kernel… so, this mean you need re-install OSX and do everything again…

 

 

Thanks for your reply.

 

i'll reinstall OSX and i'll try this hack again. I'll post the results. 

Share this post


Link to post
Share on other sites

I re-install mavericks and i got the same kernel panic

 

"attempt to re register power management interface--AICPM present in xcpm mode?"

 

Only i do this steps

- Creating the SSDT
- Patch AppleIntelCPUPowermanagement

(now i skip the last one)

 

Did you create your SSDT and patch AICPUPM?

yes, with this hack

 

Are you using NullCPUPM?

no, i delete it.

 

maybe is a problem with my SSDT or the org.chamaleon. I attach this files. Please help :(

osx Files.zip

Share this post


Link to post
Share on other sites

Hello

 

Are you using tonymac tools? We don't support tonymac... 

 

This guide created work perfect with Chameleon, but... What bootloader are you using?

 

I use chameleon wizard for install (i have the v.2371 but i tested with the v.2368). i have 2 notices

 

1.- I fix the problem. Only i replace the "AppleIntelCPUPowermanagement Patched" with the original file (from USB installation) and the system works.

 

2.- the script maybe don't work in my case. I use the kext MSRDumper.kext for test if SSDT works (from a revogirl post). When i enable this kext, in the console i only get this

22-02-14 10:41:08,000	kernel[0]	MSRDumper CoreMulti(8) 
22-02-14 10:41:08,000	kernel[0]	MSRDumper PStatesReached: 8 
22-02-14 10:41:09,000	kernel[0]	MSRDumper CoreMulti(8) 
22-02-14 10:41:09,000	kernel[0]	MSRDumper PStatesReached: 8 

i see in youtube when you apply this method, the console show the pstates of the CPU like this 16 22 29 35 38 39

 

I run also the geekbench and i get the same score (2000). 

Share this post


Link to post
Share on other sites

Hello

 

Great Job!

 

P-States stages is controled by SSDT, but they already in SSDT that you created, but they aren't working... you get only 8x(800Mhz)standard to you CPU

 

Model identifier(SMbios)is responsible of enable these P-States... I have a i7 2600 and i made my SSDT using this script, but when i look my states, i only get 2 16x - 34x(Min - Max)...

I used iMac 12,2 but i don't get more than 2... i simple change for a another SMbios, i changed to Macbook Pro 8,1 and i get 8 states(16, 20, 25, 28, 30, 32 34, 35) :D

 

In others words... you need jus t change your SMbios... try a diferente and see with this app: http://sourceforge.net/projects/dpcimanager/

If it work.... what's your hardware?

Share this post


Link to post
Share on other sites

Hello

 

Great Job!

 

P-States stages is controled by SSDT, but they already in SSDT that you created, but they aren't working... you get only 8x(800Mhz)standard to you CPU

 

Model identifier(SMbios)is responsible of enable these P-States... I have a i7 2600 and i made my SSDT using this script, but when i look my states, i only get 2 16x - 34x(Min - Max)...

I used iMac 12,2 but i don't get more than 2... i simple change for a another SMbios, i changed to Macbook Pro 8,1 and i get 8 states(16, 20, 25, 28, 30, 32 34, 35) :D

 

In others words... you need jus t change your SMbios... try a diferente and see with this app: http://sourceforge.net/projects/dpcimanager/

If it work.... what's your hardware?

 

i'm using MACBOOK PRO 8.1 from chameleon wizard and i get the same result. I try with all other macbook pro (8.1, 8.2, 8,3, 9.1, 9.2) and i get the same result. I change the smbios, reboot, run script and reboot again.

 

what i can do?

 

edit: the kexts, ACPI_SMC_PlatformPlugin and AppleLPC are loaded in my system. i must delete it? both?

Share this post


Link to post
Share on other sites

Hello

the kexts, ACPI_SMC_PlatformPlugin and AppleLPC are loaded in my system. i must delete it? both?

 

What's your hardware? I talk about Macbook Pro 8,1, but this work for my hardware, i don't think if this will work to you...

 

Try other SMbios...

Share this post


Link to post
Share on other sites

Hello

What's your hardware? I talk about Macbook Pro 8,1, but this work for my hardware, i don't think if this will work to you...

 

Try other SMbios...

 

i attach the LSPCI file extract from linux (for the hardware)

 

 

i try with this SMBIOS with the same result: macbook pro (8.1, 8.2, 8,3, 9.1, 9.2) :(

lspci.txt

Share this post


Link to post
Share on other sites

Hello

 

Try another SMbios... try Mac Pro 3,1... it worked for me too, but i get only 6 states...

 

Your CPU is Sandy Bridger, but... post a complete specs... like in my signature..

Share this post


Link to post
Share on other sites

Hello

 

Try another SMbios... try Mac Pro 3,1... it worked for me too, but i get only 6 states...

 

Your CPU is Sandy Bridger, but... post a complete specs... like in my signature..

 

I try with all SMbios and i get the same result..... maybe the SSDT it's the problem.

 

My specs:

 

Laptop DELL N4050
CPU: Intel I3 2330-m
RAM: 6 GB RAM DDR 1066
GRAPHICS: INTEL HD3000
HD: 500 GB HDD
WIFI: Atheros 9285
OS: 10.9

Share this post


Link to post
Share on other sites

Hello

 

Or maybe not... you did all necessary steps to create your SSDT?

 

Tryconfigure your Bios: http://olarila.com/forum/viewtopic.php?f=2&t=1804

 

i have the BIOS OK. I check with the guide and i'm ok

 

I try again this hack .... but now i see this warning s when i run the script (first step)

MacBook-Pro-de-Sebastian:~ sebastian$ ./ssdtPRGen.sh

ssdtPRGen.sh v0.9 Copyright (c) 2011-2012 by † RevoGirl
             v6.6 Copyright (c) 2013 by † Jeroen
             v9.1 Copyright (c) 2013-2014 by Pike R. Alpha
----------------------------------------------------------------
System information: Mac OS X 10.9 (13A603)
Brandstring 'Intel(R) Core(TM) i3-2330M CPU @ 2.20GHz'
Processor Declaration(s) Found in DSDT
Generating ssdt_pr.dsl for a MacBookPro8,1 [Mac-94245B3640C91C81]
Sandy Bridge Core i3-2330M processor [0x206A7] setup [0x0902]
With a maximum TDP of 35 Watt, as specified by Intel
Number logical CPU's: 4 (Core Frequency: 2200 MHz)
Number of Turbo States: 0
Number of P-States: 15 (800-2200 MHz)
Adjusting C-States for detected (mobile) processor
Injected C-States for CPU0 (C1,C3,C6,C7)

Warning: 'cpu-type' may be set improperly (0x0902 instead of 0x0602)

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20130117-64 [Jan 19 2013]
Copyright (c) 2000 - 2013 Intel Corporation

ASL Input:     /Users/sebastian/Desktop/ssdt_pr.dsl - 174 lines, 5122 bytes, 33 keywords
AML Output:    /Users/sebastian/Desktop/ssdt_pr.aml - 1147 bytes, 11 named objects, 22 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

Warning: Failed to locate the Clover boot.log
Creating temporarily mount point: /Volumes/EFI
Mounting EFI partition...
mount_hfs: Invalid argument

Unmounting EFI partition...
umount: /Volumes/EFI: not currently mounted
Removing temporarily mount point...

Do you want to copy /Users/sebastian/Desktop/ssdt_pr.aml to /Extra/ssdt_pr.aml? (y/n)?y

i use chameleon for bootloader. 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

Announcements

  • Similar Content

    • By ltooz_audis
      This is the way I patched my DSDT and SSDTs to get perfect sleep/wake and USB ports on my Skylark i7-6600u HD520 HP EliteBook 820 G3.
       
       
      Cheers,
      Louis
    • By MaLd0n
      -Donations with PayPal
      https://tinyurl.com/r2bvzm7
       
      -Donations with Bitcoin
      33HeGCuCSh4tUBqdYkQqKpSDa1E7WeAJQ3
       
      -Donations with PicPay 
      @danielnmaldonado
        Nehalem, SandyBridge, IvyBridge, Haswell, Broadwell   https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/   Skylake, Kabylake and Coffeelake is here https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/   Install MacOS with Olarila Image, Step by Step, Install and Post Install
       
      https://www.olarila.com/topic/5794-guide-install-macos-with-olarila-image-step-by-step-install-and-post-install-windows-or-mac/
          First...   ***Update bios to last available version!***   If you need a full patched DSDT...  -Extract tables with F4 key in Clover boot screen! -Run it and send me files! RunMe.app   Installation   --Create a bootable copy of macOS Sierra / High Sierra / Mojave   https://github.com/chris1111/Create-Install-Media/releases   --Install Clover in USB stick   https://github.com/CloverHackyColor/CloverBootloader/releases   --Replace with my Clover folder https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/   --Install Sierra/High Sierra and boot into system!   Post Installation --Install Clover and replace with my folder   https://www.olarila.com/topic/5676-clover-folder-for-all-chipsets/   --Reboot and activate video!   Bingo!   Now you need a fine tune! DSDT time!   --DSDT   Patches -FIX ERRORS AND WARNINGS -HPET -SATA -DMAC -SLPB -DARWIN -LPC -XHCI -PLUGIN TYPE -XXXX to HDEF -HDEF -RTC -IRQs -SBUS -BUS1 -MCHC -ALS0 -SHUTDOWN -LAN -USBX -PMCR -EC -PNLF -HDMI
       
      --Power Management
      - 1 Generation Intel Processors, use Generate P and C States in config.plist
      - 2 and 3 Generations Intel Processors, Generate SSDT with Piker script and drop CpuPm and Cpu0Ist SSDTs
      ssdtPRGen.command.zip
      Credits-https://github.com/Piker-Alpha/ssdtPRGen.sh
      - 4 Generation+ Intel Processors, use PluginType=1 in DSDT, SSDT or Clover config.plist
       
      for check Power, Frequency, Temperature and Utilization, use it
       
      Install Intel Power Gadget.pkg.zip
       
      --Brightness
      Install .app, select the required permission and reboot. Work in F1 / F2 keys!
      NativeDisplayBrightness.app.zip


      https://github.com/Bensge/NativeDisplayBrightness/releases
      *in some cases .app don't work, check patches in config.plist inside Clover folder Post Install
       
      --Clover
       
      https://sourceforge.net/projects/cloverefiboot/files/Installer/
       
      --AUDIO
       
      Use DSDT + AppleAlc
       
      --install Lan driver by Mieze
        -Atheros   http://www.insanelymac.com/forum/files/file/313-atherose2200ethernet/   -Intel   http://www.insanelymac.com/forum/files/file/396-intelmausiethernet/   -Realtek   http://www.insanelymac.com/forum/files/file/88-realtekrtl8111-binary/   --Links   -FakeSMC   https://bitbucket.org/RehabMan/os-x-fakesmc-kozlek   -Audio   https://github.com/vit9696/AppleALC http://www.insanelymac.com/forum/topic/314406-voodoohda-289/   -USB   https://bitbucket.org/RehabMan/os-x-usb-inject-all/downloads   It's time to Rock   -Credits and thanks to the old and new people in the community who developed patches, kexts and bootloaders!   Apple, Slice, Kabyl, usr-sse2, jadran, Blackosx, dmazar, STLVNUB, pcj, apianti, JrCs, pene, FrodoKenny, skoczy, ycr.ru, Oscar09, xsmile, SoThOr, RehabMan, Download-Fritz, Zenit432, cecekpawon, Intel, Oracle, Chameleon Team, crazybirdy, Mieze, Mirone, Oldnapalm, netkas, Elconiglio, artut-pt, ErmaC, Pavo, Toleda, Master Chief and family, bcc9, The King, PMheart, Sherlocks, Micky1979, vit9696, vandroiy2013, Voodoo Team, Pike R. Alpha, lvs1974, Austere.J, CVad and many, many, many others!   We're all here to have fun and learn from each other!  
    • By Kailash
      I successfully managed to install Hackintosh on my Lenovo Ideapad 520 but now I don't have audio, brightness control feature or battery indicator. My audio driver is an ALC230. I am new to all this. What do I do to solve this? I have attached my EFI files below.
      EFI.zip
    • By chatelp
      Hi all !
       
      I'm migrating from Clover to OpenCore and stuck on an ACPI error at boot:
      ACPI Error [_STA] Namespace lookup failure, AE_ALREADY_EXISTS This comes from trying to load my custom SSDT-EC tables.
       
      From what I gather, the preferred method of dealing with EC0 for Desktops with OC is to add an _STA method to EC0 to change return code to 0, and then to add a new fake EC device. Both done via SSDT-EC.
       
      Problem is, my EC0 defined in the system DSDT already has an _STA method. And it looks like it can't be overridden through SSDT redefinition at boot. Is this excepted ACPI behavior? Is it not possible to override/redefine methods like _STA? If so, what other option do I have?
       
      Here is the original EC0 device in DSDT
      Device (EC0) { Name (_HID, EisaId ("PNP0C09")) // _HID: Hardware ID Name (_UID, One) // _UID: Unique ID Name (_GPE, 0x6E) // _GPE: General Purpose Events Method (_STA, 0, NotSerialized) // _STA: Status { Return (0x0F) } ....  
      Here is my very standard SSTD-EC for Skylake:
       
      /* * AppleUsbPower compatibility table for Skylake+. * * Be warned that power supply values can be different * for different systems. Depending on the configuration * these values must match injected IOKitPersonalities * for com.apple.driver.AppleUSBMergeNub. iPad remains * being the most reliable device for testing USB port * charging support. * * Try NOT to rename EC0, H_EC, etc. to EC. * These devices are incompatible with macOS and may break * at any time. AppleACPIEC kext must NOT load. * See the disable code below. * * Reference USB: https://applelife.ru/posts/550233 * Reference EC: https://applelife.ru/posts/807985 */ DefinitionBlock ("", "SSDT", 2, "ACDT", "SsdtEC", 0x00001000) { External (_SB_.PCI0.LPCB, DeviceObj) /* * Uncomment replacing EC0 with your own value in case your * motherboard has an existing embedded controller of PNP0C09 type. * * While renaming EC0 to EC might potentially work initially, * it connects an incompatible driver (AppleACPIEC) to your hardware. * This can make your system unbootable at any time or hide bugs that * could trigger randomly. */ External (_SB_.PCI0.LPCB.EC0, DeviceObj) Scope (\_SB.PCI0.LPCB.EC0) { Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0) } Else { Return (0x0F) } } } Scope (\_SB) { Device (USBX) { Name (_ADR, Zero) // _ADR: Address Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method { If ((Arg2 == Zero)) { Return (Buffer (One) { 0x03 // . }) } Return (Package (0x08) { "kUSBSleepPowerSupply", 0x13EC, "kUSBSleepPortCurrentLimit", 0x0834, "kUSBWakePowerSupply", 0x13EC, "kUSBWakePortCurrentLimit", 0x0834 }) } } Scope (\_SB.PCI0.LPCB) { Device (EC) { Name (_HID, "ACID0001") // _HID: Hardware ID Method (_STA, 0, NotSerialized) // _STA: Status { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } } }  
      I saw this other similar post but can't find a working solution in it: https://www.insanelymac.com/forum/topic/341585-hpet/?_fromLogin=1
       
       
    • By MacKonsti
      Hello everyone, I hope you are well and safe. Long time Hackintosh user, didn't post new topics really as most solutions are here, just need some good digging around.
       
      However, there has been no talk about renaming "bare" PCI devices shown in IORegistryExplorer such as e.g. pci8086,1911@8 or pci8086,9def@14,2 to something more meaningful such as ACPI Devices like (SPI1) or (PGMM) or (SHRM) etc. etc.
       
      I have been experimenting a lot with different SSDT ways of making code and injecting the compiled AML via Clover, in preparation for OpenCore, but I cannot succeed for this one.
       
      Why is this needed? For starters, I have two good reasons.
       
      a) My device pci8086,3ed0@0 is MCHC per lspci and despite Clover being able to inject the parameter AddMCHC, I cannot achieve the same result via SSDT injection instead, meaning OpenCore would not do it either (well, for now).
       
      b) Moreover, I discovered by accident from another config.plist in some Github repository, that my device pci8086,9df9@12 that is listed in lspci as Coffee Lake Thermal Controller [8086:9df9] can be set to being compatible with Apple's accepted and combatible device-id of pci8086,9d21 via Clover injection in Devices -> Properties section or via SSDT, but I cannot make it get a human-friendly ACPI name at all so it get to work and load kext com.apple.driver.AppleIntelPCHPMC.
       
      Believe me, I have a few structures of code... Here is my code (compiles 100%) as an example and below, a blocking issue as well.
       
      /* * Intel ACPI Name Space Architecture for NUC8i7BEH2 device * * NOTES: * Assigned PCI device generic (PGMM) and working (PMCR) to undefined devices in IODeviceTree. * Added new (SBUS) sub-system (BUS0) and (DVL0) devices for improved vanilla detection. * Added new (LPCB) sub-system (EC) device for improved Catalina detection. */ DefinitionBlock ("SSDT-OTHER.aml", "SSDT", 2, "Clover", "OTHER", 0x00000000) { External (_SB_.PCI0, DeviceObj) External (_SB_.PCI0.LPCB, DeviceObj) External (_SB_.PCI0.LPCB.H_EC, DeviceObj) External (_SB_.PCI0.SBUS, DeviceObj) Scope (\_SB.PCI0) { // Device (MCHC) // Intel Corporation Host Bridge/DRAM Registers [8086:3ed0] // { // Name (_ADR, 0x00000000) // } // Device (PGMM) // Intel Corporation Core Processor Gaussian Mixture Model [8086:1911] // { // Name (_ADR, 0x00080000) // } Device (PMCR) // Intel Corporation Coffee Lake Thermal Controller [8086:9df9] { Name (_ADR, 0x00120000) } // Device (SRAM) // Intel Corporation Coffee Lake Shared SRAM [8086:9def] // { // Name (_ADR, 0x00142000) // } // Device (SPI1) // Intel Corporation Coffee Lake Serial Bus SPI Controller [8086:9da4] // { // Name (_ADR, 0x001F5000) // } } Scope (\_SB.PCI0.LPCB) // Intel Corporation Coffee Lake LPC Controller [8086:9d84] { Device (EC) { Name (_HID, "ACID0001") Method (_STA, 0, NotSerialized) { If (_OSI ("Darwin")) { Return (0x0F) } Else { Return (Zero) } } } } // Do not rename EC0, H_EC, etc. to EC as these devices are incompatible with macOS // and may break at any time; AppleACPIEC kext must NOT load. If your motherboard // has an existing Embedded Controller of PNP0C09 type, use the code below to disable. Scope (\_SB.PCI0.LPCB.H_EC) { Method (_STA, 0, NotSerialized) { If (_OSI ("Darwin")) { Return (Zero) } Else { Return (0x0F) } } } Scope (\_SB.PCI0.SBUS) // Intel Corporation Coffee Lake SMBus Controller [8086:9da3] { Device (BUS0) { Name (_ADR, Zero) Name (_CID, "smbus") Device (DVL0) { Name (_ADR, 0x57) Name (_CID, "diagsvault") Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) {0x57}) } Return (Package (0x02) {"address", 0x57}) } } } } } So if I use External (_SB_.PCI0, DeviceObj) reference on top, then a Scope (\_SB.PCI0) under it, I found out after many tests and reboots that device with 0x00120000 address is somehow allowed to be assigned a "name" in IODeviceTree but not any others! If I enable the other ones, nothing gets injected in this SSDT as a result !
       
      00:00.0 Host bridge [0600]: Intel Corporation 8th Gen Core Processor Host Bridge/DRAM Registers [8086:3ed0] (rev 08) 00:08.0 System peripheral [0880]: Intel Corporation Core Processor Gaussian Mixture Model [8086:1911] 00:12.0 Signal processing controller [1180]: Intel Corporation Coffee Lake Thermal Controller [8086:9df9] (rev 30) 00:14.2 RAM memory [0500]: Intel Corporation Coffee Lake Shared SRAM [8086:9def] (rev 30) 00:1f.5 Serial bus controller [0c80]: Intel Corporation Coffee Lake SPI Controller [8086:9da4] (rev 30) I guess this is likely due to the way my Intel NUC8i7BEH's BIOS and ACPI code is written ?
       
      What's amazing is that if we use Clover's AddMCHC option, in MacIASL I see inside the main DSDT a new code portion added in the _SB.PCI0 very very end at the bottom:
       

       
      But if I uncomment the code for adding Device (MCHC) in my SSDT code above, the device will not get injected ! This is nuts.
       
      @MaLd0n I have been following most of your work for many years and know that you have better knowledge of ACPI code than me, can you possibly advise how we can rename these "naked" PCI devices in IORegistry Explorer to something meaningful like Device (XYZ) ? Is this possible via SSDT code injection?
       
      Anyone else you have in mind, that could help? @Hervé peut-être, maybe you?
       
      The idea is that, except device at 0x00120000 address being accepted (by chance!) and renamed as Device (PMCR) that helps enable the native power-management by injecting later in Clover's configuration a <key>compatible</key> ID, all others including MCHC cannot be assigned a name.
       
      Your help is appreciated... I tried ways to define Devices with root " \ " reference as in External (\_SB_.PCI0, DeviceObj) and Scope (\_SB.PCI0) and without this, for the love of me I cannot understand how to do it.
       
      Moreover, having disassembled all AML files obtained at Clover Boot time, there is no reference to a device with addresses Name (_ADR, 0x00000000), Name (_ADR, 0x00080000), Name (_ADR, 0x00120000) or Name (_ADR, 0x001F5000) anywhere...
       
      Could it be that they do not belong to Scope (\_SB.PCI0) at all ? But Hackintool does report them as being under PciRoot(0x0) ! Could it be differently under some other device instead? ACPIPlane in IORegistryExplorer doesn't show anything
       
      IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/MCHC@0 --> PciRoot(0x0)/Pci(0x0,0x0) IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/PMCR@12 --> PciRoot(0x0)/Pci(0x12,0x0) IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci8086,9def@14,2 --> PciRoot(0x0)/Pci(0x14,0x2) IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/pci8086,9da4@1F,5 --> PciRoot(0x0)/Pci(0x1F,0x5)  
      Thanks... hope I can resolve this before spending time migrating to OpenCore...!
       
      Here's a screenshot of the "bare" pci8086,xxxx devices without injection of my code at all, except Clover's AddMCHC option.

×