Jump to content
Pimentel

Gerenciamento de energia para Sandy Bridge/Ivy Bridge/Haswell CPU

272 posts in this topic

Recommended Posts

Ok.

 

Respondendo.

 

1º - Plugin-type esta adicionado no metodo _DSM, não é preciso adicionar nada nas kexts, por que o Plugin-type já está lá, veja:

Screen Shot 2014-02-24 at 2.11.34 PM.png

 

A logica é, se não estiver inserido plugin-type na SSDT, a kext X86PlatformShim, não será carregada.

 

2º - Sim, ele já está adicionado na SSDT, quando o CPU é detectado como Ivy e Haswell o script já gera a SSDT com o plugin-type. E lembrando que 

CPUs Sandy não é preciso o carregamento do plugin-type, pois CPUs Sandy usam ACPI_SMC_PlatformPlugin.

 

Quem usa Ivy/Haswell para ter certeza que o gerenciamento de energia está sendo feito da maneira correta, tem que usar o script, e se quiser verificar abra o IOReg, e verifique isso:

Ivy.png

 

Se estiver assim, está correto, e para quem usa Sandy, tem que estar assim:

Sandy.png

Share this post


Link to post
Share on other sites
Advertisement

Olá

 

Agora entendi. O plegun_type já está presente nas 2 kexts: X86PlatformPlugin, X86PlatformShim, mas é necessário definir o mesmo valor que o plugin_type tem(nas kexts) no método _DSM...

 

Acerca da SSDT gerada pelo script já não tem mais do que se saber, pois tu já explicou tudinho...

 

Quando tiver mais um tempinho, vou adicionar isso ai no guia e adicionar alguns apps para ver acerca dos P-States e dar alguns conselhos sobre P-States e adicionar também uma "gambiarra" para bular um erro ocasionado em certas CPUs ao ativar o DropSSDT

 

Valeu por essa explicação Allan... aguarde o atualização do guia falando acerca do plugin_type e dessas outras coisas que citei.

Share this post


Link to post
Share on other sites

Tranquilo...


 


Só lembrando que a kext X86PlatformPlugin é um plugin da kext IOPlatformPluginFamily, poderá encontrar ela em -System/Library/Extensions/IOPlatformPluginFamily.kext/Contents/PlugIns/X86PlatformPlugin


Share this post


Link to post
Share on other sites

Rapaz estou com umas duvidas.

 

Meu gerenciamento de energia está "bem", como mostra o IOReg estou com o modo Ivy habilitado, mas quando vejo meus states rodando o MSRDumper, vejo que não tenho 

states baixos, como 13,15,16, 17 etc...veja só:

States.png

 

Dai neste guia tem a opção de usar o -xcpm, quando tentei estava com SMBIOS MB Pro 9,2, agora testei com MB Pro 10,1, e usando -xcpm, só que tenho estas mensagens de erro:

Screen Shot 2014-03-01 at 12.15.33 PM.png

 

E agora como faço pra ter os níveis baixos de states?

 

Ou ignoro estas mensagens de erro?

Share this post


Link to post
Share on other sites

Olá

 

Cara eu estava super ocupado esses dias, então;; nem deu pra entrar aqui e fazer o que tem que ser feito... pois bem...
 

Meu gerenciamento de energia está "bem", como mostra o IOReg estou com o modo Ivy habilitado, mas quando vejo meus states rodando o MSRDumper, vejo que não tenho 

states baixos, como 13,15,16, 17 etc...veja só:

 

Isso é normal, nem sempre você terá todos os States com um hack, principalmente  se você fez muitas alterações para fazer o OSX rodar no seu PC, eu por exemplo com o iMac12,1/12,2 não pego mais do que 2 states.... com o MacBook Pro eu pego 8 states(16,20,25,28,30,32,34,35).... esse é o SMbios que eu tive maiores resultados...como pode ver não tenho alguns que eu deveria ter como o 18 e o 22... se eu tivesse esses dois ai eu ficaria muito bem...

 

Meu conselho é ir tentando vários SMbio'ses ate´conseguir o que trabalhar melhor para você...

Ou ignoro estas mensagens de erro?

 

Erro nunca é bom... tenta mudar para uma SMbios que trabalhe de verdade para você.

 

Dica: Tenta MacPro 3,1... Pike R. Alpha diz que esse modelo não funciona com SSDT, mas peguei com ele 6 states... tenta lá.

Share this post


Link to post
Share on other sites

Opa tranquilo.

 

Vejo que usa Desktop, e funciona ai com SMBIOS de MB Pro? Interessante...

 

O que mostrei pra você foi as mensagens da kext MSRDumper, mas vi que a AICPMinfo é bem melhor, mostra realmente os states que são executados.

 

Olha só como consegui: SMC Monitor

Share this post


Link to post
Share on other sites

Ola

Vejo que usa Desktop, e funciona ai com SMBIOS de MB Pro? Interessante...

 

Sim... é o que mais de funciono para mim, não e importo se é ou não de Desktop :P

Olha só como consegui: SMC Monitor

 

No caso da AICPUPMinfo é só rodar esse comando para ver os states...

cat /var/log/system.log | grep "AICPUPMI:"

Share this post


Link to post
Share on other sites

Puxa interessante, bom que usando MB Pro economiza mais energia.

cat /var/log/system.log | grep "AICPUPMI:"

Sim, foi esse codigo que usei neste topico que passei.

Share this post


Link to post
Share on other sites

Olá

Não notei diferença nenhuma em relação a energia... talvez por que eu uso Desktop e não notebook... De qualquer forma tudo está ok :)

 

Em breve a atualização desse guia... acho que na semana que vem... nessa estou muito ocupado :lol:
 

Share this post


Link to post
Share on other sites

É, em Desktops é quase impossivel sentir a diferença de energia, somente nas temperaturas.  :fiery:

 

Agora que tem mais informações, seu guia vai ficando melhor ainda.  :D

Share this post


Link to post
Share on other sites

Amigos! Estive fora por um tempo. E li em um outro site sobre o patch do LPC para o dispositivo (ID). Estou em uma dúvida. Reparem nestas imagens:

 

post-1145065-0-44335000-1396093263_thumb.png      post-1145065-0-67349900-1396093298_thumb.png

 

Reparem na primeira imagem o "Dev-id" e "Dev". Com o patch aplicado no "DSDT" eu tenho o dispositivo-id "3b02" e sem o patch o "1e49" e o meu chipset correto: "B75 express chipset LPC controller,  já o outro me mostra "5 series chipset LPC interface controller" que é o errado.

 

Agora vejam esta imagem capturada no Windows 8.1 me mostrando o meu chipset B75 e o dev-id "1e49":

 

post-1145065-0-56180300-1396093844_thumb.png

 

E esta imagem tirada sem o "patch LPC" no "DSDT" com o IORegistryExplorer:

 

post-1145065-0-72273400-1396093951_thumb.png

 

E este é o "info.plist" da kext "AppleLPC" versão 1.7.0. Ela me mostra que não tem o meu "id" do meu chipset B75:

 

post-1145065-0-41694200-1396094092_thumb.png

 

Como vocês podem ver. O "patch" aplicado para fazer a kext "AppleLPC" carregar está com o dispositivo "ID" errado.

Minha dúvida terei algum problema por causa disso ou não tem nada haver? 

Terei que adicionar o "ID" do meu chipset na kext "AppleLPC"? e Editar o meu "DSDT" para o "ID" correto?

 

Valeu pela ajuda amigos. 

Share this post


Link to post
Share on other sites

Allan, eu fiz uns testes aqui e veja o resultado:

 

Eu peguei o arquivo "info.plist" da kext "AppleLPC" e adicionei o "ID" correto do chipset B75 (1e49) e também adicionando este "ID" no meu "DSDT", E ficou desta forma:

 

DSDT: post-1145065-0-64786400-1396122730_thumb.png         INFO.PLIST da AppleLPC: post-1145065-0-55681500-1396123091_thumb.png

 

Só que o "class" e "subclass" ficaram como "sem classificação"! ficou assim:

 

post-1145065-0-91902500-1396123278_thumb.png

 

O que eu fiz. Apaguei o "patch" "LPC" da minha "DSDT". E este foi o resultado: 

 

DSDT apagada o patch: post-1145065-0-16715300-1396123689_thumb.png, post-1145065-0-71999200-1396123462_thumb.png  e as kext carregadas com o "Class-ID" correto: post-1145065-0-90678400-1396123551_thumb.png

 

Agora mostra corretamente no programa "SystemInfo" o meu chipset, com a kext "AppleLPC" sendo carregada 

sem nenhum problema.

 

Share this post


Link to post
Share on other sites

Dai sim Jorge.

 

Caras como você que vão atras se dão bem, gostei dessa solução que deu.

Guarde esse metodo em uma Nota/Documento, dai quem tiver esse problema, pode contar com você.

 

Parabens.  ;)

Share this post


Link to post
Share on other sites

...

 

Criando a SSDT

Crie sua SSDT baseada no script do Pike R. Alpha

Rode no terminal esses comandos

curl -o ssdtPRGen.sh https://raw.github.com/Piker-Alpha/RevoBoot/clang/i386/libsaio/acpi/Tools/ssdtPRGen.sh
chmod +x ssdtPRGen.sh
./ssdtPRGen.sh

 

Olá Pimentel ...

 

Esbarrei já no segundo comando que diz que o diretório não existe ... é isso mesmo?

 

Outra dúvida é sobre os dados de freqüência que não achei exatamente os dados. Lendo o report do Aida mostra TDP 3.9 w e na descrição do chipset mostra 2.40GHz, 2394 MHz ... são esses os dados certos?

Screen Shot 2014-05-01 at 09.21.45.png

Share this post


Link to post
Share on other sites

Executa um por um.

curl -o ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh
chmod +x ssdtPRGen.sh

depois esse:

./ssdtPRGen.sh

Tenta gerar com esse, e me manda seu SSDT.

Geralmente aparece aquela mensagem pois o repositorio do Piker mudou.

Share this post


Link to post
Share on other sites

Olha. Analizei e está perfeito.

 

Não sei se você leu sobre plugin-type neste tópico, e se analizar o seu, ele não tem pois é SandyBridge, se tivesse ai, dai teria problemas.

Os states low e turbo estãõ todos corretos.

 

Só que esse .dsl é pra analize. Você vai usar o .aml

Share this post


Link to post
Share on other sites

Agora me confundi aqui ...

 

dsdt e ssdt são a mesma coisa com extensões diferentes? ou existe ssdt.aml pra usar na pasta Extra igual o dsdt.aml

 

Me enrolei ... o.O

Share this post


Link to post
Share on other sites

Opa, deixa eu explicar.

 

DSDT.aml, é pra reconhecimento de hardware e ativação do mesmo, leia aqui: [Guia] DSDT - Conhecimentos Gerais

SSDT.aml, é o responsavel pelo gerenciamento de energia, veja, todo o Hardware precisa de energia, dai é onde entra elas, você pode ativar até mesmo USBs, Som e Video por SSDT, é só dar uma olhada nos guias do Toleda. 

 

O mais basico é o SSDT.aml, há usuarios que pra ter o funcionamento completo dos CPUs, usam SSDT, SSDT1, SSDT2. etc...

 

Mas enfim, na pasta Extra, você vai colocar a DSDT.aml e SSDT.aml

Share this post


Link to post
Share on other sites

O arquivo ssdt.aml que é gerado basta somente copiar pra pasta Extra onde esta o dsdt.aml ... é isso?

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 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.

    • By Cimmerian_Iter
      Hello everyone i have a sony vaio svd1321Z9E intel i7-4500U/4400HD and 8G of ram and using opencore 5.6
      I made a battery patch following rehabman tutorials and i think the patch looks good, but when i try to load it with the kext my pc won't boot to the home menu.

      Like i it does the verbose boot then show me a grey glitchy screen with scattered apple logo.

      Normally it should give this screen then immediately turn into a black apple loading screen (still glitchy) and then return back to normal once it boot into the desktop menu of mac os. (my gpu problem that i never managed to fix but doesn't bother me)

      I would like to know how i could debug and solve this problem. Any help is appreciated.
      Here are my DSDT, config and my battery patch

       
      config.plist
      DSDT.dsl
      SSDT-BATT-3.aml
×