Jump to content

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


Pimentel
 Share

272 posts in this topic

Recommended Posts

 

Você sabe como achar o device LPC e aplicar o patch no local correto?

 

Usa esse aqui:

Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method                {
                    Store (Package (0x0C)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                 0x02, 0x3B, 0x00, 0x00
                            }, 
                            "compatible", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 
                            "IOName", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 
                            "name", 
                            Buffer (0x0D)
                            {
                                "pci8086,3b02"
                            }, 
                            "subsystem-id", 
                            Buffer (0x04)
                            {
                                 0x01, 0x50, 0x00, 0x00
                            }, 
                            "subsystem-vendor-id", 
                            Buffer (0x04)
                            {
                                 0x58, 0x14, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Eu vi um post em algum lugar explicando como achar o device LPC. Darei uma olhada aqui e testarei o patch. :)

Link to comment
Share on other sites

olá

 

claro que não podes aplicar nenhum patch em 1 dsdt com erros de inicio .. 1º eliminas os erros e depois aplicas os patch..

 

isso é + que evidente..

 

bom hack

Link to comment
Share on other sites

Amigo se o seu ID de seu Chipset for o "pci8086,8c5c" (C220 Series Chipset H81 Express LPC Controller).

 

Tenta esta kext de injeção: AppleLPCInjector.kext.zip

 

Se tiver feito o patch da LPC no DSDT. Retire o patch e coloque esta kext na pasta do Clover, na EFI/Clover/Kext/10.10.

 

Agora se não carregar a kext "AppleLPC". Seu ID do chipset é outro ou não consta na kext de injeção. Veja pelo aplicativo "DPCIManager" ou pelo o IOREG Como o Allan lhe diz.

 

Falou.

  • Like 3
Link to comment
Share on other sites

Amigo se o seu ID de seu Chipset for o "pci8086,8c5c" (C220 Series Chipset H81 Express LPC Controller).

 

Tenta esta kext de injeção: attachicon.gifAppleLPCInjector.kext.zip

 

Se tiver feito o patch da LPC no DSDT. Retire o patch e coloque esta kext na pasta do Clover, na EFI/Clover/Kext/10.10.

 

Agora se não carregar a kext "AppleLPC". Seu ID do chipset é outro ou não consta na kext de injeção. Veja pelo aplicativo "DPCIManager" ou pelo o IOREG Como o Allan lhe diz.

 

Falou.

Pô, brigadão mesmo! Minha ID é exatamente essa que você falou, e agora a LPC está sendo carregada. :D

 

Agora a X86PlatformPlugin é que continua sem ser carregada. A LCP e a  ACPI_SMC_PlatformPlugin estão carregando normalmente. Sim, o turbo boost também teima em não funcionar corretamente. Só vai até os 3.50GHz, ao invés de ir até os 3.90GHz. 

 

 

 

EDIT: fui analisar uma coisa aqui no Darwindump e verifiquei que o turbo boost foi até x37. Já é alguma coisa. 

 

EDIT2: fui dar uma olhada no _DSM no SSDT, e está assim:

 

 

Method (_DSM, 4, NotSerialized)
        {
            Store ("Method CPU0._DSM Called", Debug)
 
            If (LEqual (Arg2, Zero))
            {
                Return (Buffer (One)
                {
                    0x03
                })
            }
 
            Return (Package (0x02)
            {
                "plugin-type",
                One
            })
        }
    }
 
    Scope (\_PR_.CPU1)
    {
  • Like 1
Link to comment
Share on other sites

E está usando a Generic + boot arguments?

 

Com relação as informações no SSDT, esse é o patch para carregar o X86PlatformPlugin.

 

Use os plugins indicados no Forum para verificar os States.

Link to comment
Share on other sites

E está usando a Generic + boot arguments?

 

Com relação as informações no SSDT, esse é o patch para carregar o X86PlatformPlugin.

 

Use os plugins indicados no Forum para verificar os States.

Sim. Estou usando a generic + boot arguments. 

 

Sobre o patch, é exatamente por isso que coloquei o SSDT, mas não carrega nem ferrando a X86PlatformPlugin

 

O que não tô entendendo é: se eu dô boot pelo pendrive de instalação do sistema (que já tem o clover incluso), a bendita X86 carrega. Se eu faço dando boot pelo clover instalado no HD, ela não carrega.

 

Tá estranho pra caramba. Darei uma olhadinha nos plugins que você falou. :D

Link to comment
Share on other sites

Usa as configurações do seu Pen em seu HD.

 

Desde config.plist e as kexts usadas.

Voltei. 

 

Eu descobri que o X86PlatformPlugin só carrega se eu habilitar o P-States e C-States no clover. A LPC está sendo carregada com a kext injetada que o Jorge me passou. A ACPI_SMC_PlatformPlugin não foi carregada.

 

Não estou usando DSDT modificado ou DSDT. Não tem problema em a ACPI_SMC não está sendo carregada para Haswell não, né?

Link to comment
Share on other sites

Se no seu IOReg estiver assim:

jVc.png

 

Perfeito!

 

Com relação ACPI_SMC_PlatformPlugin ao não é mais necessário para quem usa o gerenciamento de energia via XNU, que é o seu caso.

Link to comment
Share on other sites

Se no seu IOReg estiver assim:

jVc.png

 

Perfeito!

 

Com relação ACPI_SMC_PlatformPlugin ao não é mais necessário para quem usa o gerenciamento de energia via XNU, que é o seu caso.

Sim. Está desse jeitinho aí. :D

 

Sobre a ACPI_SMC, foi a kext disabler que estava na pasta do clover. Eu exclui ela e a ACPI voltou a ser carregada. 

 

Sobre os c-states e p-states, na primeira página você diz pra não usar eles no chamaleon. Tem problema em usar no clover? 

Link to comment
Share on other sites

Sobre os c-states e p-states, na primeira página você diz pra não usar eles no chamaleon. Tem problema em usar no clover? 

 

 

Só os testes vão dizer se deve ou não usar.

 

O IOReg é a prova principal, então está ok.

Agora temos de ver como estão seus States, e continue a usar o -xcpm e KernelPM.

 

Faça os testes: How to check your states – Using AICPMInfo, MSRDumper or AppleIntelInfo

 

No seu caso use a AppleIntelInfo.

Link to comment
Share on other sites

Só os testes vão dizer se deve ou não usar.

 

O IOReg é a prova principal, então está ok.

Agora temos de ver como estão seus States, e continue a usar o -xcpm e KernelPM.

 

Faça os testes: How to check your states – Using AICPMInfo, MSRDumper or AppleIntelInfo

 

No seu caso use a AppleIntelInfo.

Não tô conseguindo nem a pau usar essa kext.

 

 

/Users/junior/Desktop/AppleIntelInfo.kext failed to load - (libkern/kext) authentication failure (file ownership/permissions); check the system/kernel logs for errors or try kextutil(8).

 

Já refiz os passos do tutorial várias vezes, mas sempre dá esse erro.

Link to comment
Share on other sites

Deveria dar certo hem!  -_-

 

Tenta essa: attachicon.gifAppleIntelInfo.kext.zip

Aqui vai o log:

 

 

May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: v1.0 Copyright © 2012-2014 Pike R. Alpha. All rights reserved
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logMSRs............................: 1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logIGPU............................: 0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logIntelRegs.......................: 1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logCStates.........................: 1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: logIPGStyle........................: 1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: InitialTSC.........................: 0x114ab4910da9
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MWAIT C-States.....................: 270624
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CORE_THREAD_COUNT......(0x35)  : 0x40008
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PLATFORM_INFO..........(0xCE)  : 0x80838F7012300
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PMG_CST_CONFIG_CONTROL.(0xE2)  : 0x1E000404
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PMG_IO_CAPTURE_BASE....(0xE4)  : 0x21814
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_MPERF.................(0xE7)  : 0x2F12BD88C2D
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_APERF.................(0xE8)  : 0x2F5A2C73D1F
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_FLEX_RATIO.............(0x194) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_IA32_PERF_STATUS.......(0x198) : 0x228E00002500
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_IA32_PERF_CONTROL......(0x199) : 0x2700
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_CLOCK_MODULATION......(0x19A) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_THERM_STATUS..........(0x19C) : 0x88340800
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_MISC_ENABLES..........(0x1A0) : 0x850089
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_MISC_PWR_MGMT..........(0x1AA) : 0x1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_TURBO_RATIO_LIMIT......(0x1AD) : 0x25262727
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_ENERGY_PERF_BIAS......(0x1B0) : 0x1
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_POWER_CTL..............(0x1FC) : 0x4005F
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_RAPL_POWER_UNIT........(0x606) : 0xA0E03
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_POWER_LIMIT........(0x610) : 0x8348000082A0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_ENERGY_STATUS......(0x611) : 0x236BA929
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_POWER_INFO.........(0x614) : 0x280
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PP0_CURRENT_CONFIG.....(0x601) : 0x2F8
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PP0_POWER_LIMIT........(0x638) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PP0_ENERGY_STATUS......(0x639) : 0xE775155
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PP0_POLICY.............(0x63a) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CONFIG_TDP_NOMINAL.....(0x648) : 0x23
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL1......(0x649) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CONFIG_TDP_LEVEL2......(0x64a) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_CONFIG_TDP_CONTROL.....(0x64b) : 0x80000000
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_TURBO_ACTIVATION_RATIO.(0x64c) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKGC3_IRTL.............(0x60a) : 0x8842
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKGC6_IRTL.............(0x60b) : 0x8873
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKGC7_IRTL.............(0x60c) : 0x8891
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_C2_RESIDENCY.......(0x60d) : 0xA23133CF36C
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_C3_RESIDENCY.......(0x3f8) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_C6_RESIDENCY.......(0x3f9) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: MSR_PKG_C7_RESIDENCY.......(0x3fa) : 0x0
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: IA32_TSC_DEADLINE..........(0x6E0) : 0x114AB4CFB0F9
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: CPU Low Frequency Mode.............: 800 MHz
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: CPU Maximum non-Turbo Frequency....: 3500 MHz
May 12 18:46:16 Juniors-iMac kernel[0]: AICPUPMI: CPU Maximum Turbo Frequency........: 3900 MHz
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ (8) 35 37 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 6 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 5 7 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 4 5 7 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 4 5 6 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 4 5 7 ]
May 12 18:46:18 Juniors-iMac kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 3 4 5 7 ]
May 12 18:46:19 Juniors-iMac kernel[0]: AICPUPMI: CPU C6-Cores [ 0 1 2 3 4 5 6 7 ]
May 12 18:46:19 Juniors-iMac kernel[0]: AICPUPMI: CPU C7-Cores [ 0 1 2 3 4 5 6 7 ]
May 12 18:46:20 Juniors-iMac kernel[0]: AICPUPMI: CPU C3-Cores [ 0 1 2 3 4 5 6 7 ]
May 12 18:46:21 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ (8) 34 35 37 ]
May 12 18:46:21 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ 8 33 34 35 37 (39) ]
May 12 18:46:23 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ 8 33 34 (35) 36 37 39 ]
May 12 18:46:23 Juniors-iMac kernel[0]: AICPUPMI: CPU P-States [ 8 33 34 35 36 37 (38) 39 ]
Link to comment
Share on other sites

Bem, de acordo com as informações da Intel você tem o clock padrão e máximo.

 

Apenas os baixos que não tem muitos, mas essa linha é assim mesmo.

 

Qual SMBios está usando?

Link to comment
Share on other sites

Bem, de acordo com as informações da Intel você tem o clock padrão e máximo.

 

Apenas os baixos que não tem muitos, mas essa linha é assim mesmo.

 

Qual SMBios está usando?

iMac 15,1. Agora o bendito plugin x86 parou de carregar. Tô fuçando aqui pra ver se ele volta a funcionar. rsrsr

Link to comment
Share on other sites

Vai tentando com outros SMBios.

 

MacPro 3,1 é bem usado em Intel Xeon.

Tentei com outros, mas nada. Inclusive já copei o clover do pendrive pro HD, já atualizei e o plugin não carrega. LOL

 

Vou deixar assim mesmo, já que pelo aplicativo de monitoramente da Intel, os clocks estão variando.

Link to comment
Share on other sites

O ruim é que seu gerenciamento de energia está errado agora.

 

Vamos fazer o seguinte, usa esse comando em conjunto com o script para gerar um SSDT com -xcpm incluso:

./ssdtPRGen.sh -w 3 -x 1

Dai mantenha o -xcpm no config.plist, mas delete a seção ACPI.

  • Like 2
Link to comment
Share on other sites

O ruim é que seu gerenciamento de energia está errado agora.

 

Vamos fazer o seguinte, usa esse comando em conjunto com o script para gerar um SSDT com -xcpm incluso:

./ssdtPRGen.sh -w 3 -x 1

Dai mantenha o -xcpm no config.plist, mas delete a seção ACPI.

 

O problema de usar SSDT, é que o hack está congelando com alguns minutos de uso. Depois que eu removo o SSDT, para de acontecer isso. Oo

 

Mas vou testar com esses comandos que você passou. Já já posto o resultado. ;)

 

EDIT: deletar a seção ACPI aonde? 

 

EDIT2: agora carregou a bendita x86! \o/ 

 

Agora ficarei de olho pra ver se não acontece os congelamentos aleatórios. Brigadão mais uma vez! =D

Link to comment
Share on other sites

 Share

×
×
  • Create New...