Pimentel Posted January 25, 2014 Share Posted January 25, 2014 (edited) Olá Pessoal GUIA ATUALIZADO - Foi adicionado patch XCPM para 10.10Antes de tudo é muito bom que tenhamos uma versão atualizada do Chameleon, então por favor pegue essa versão mais atualizada bem aqui no tópico oficial: http://www.insanelymac.com/forum/files/download/59-chameleon-22-svn/Desde 10.7.4 para os CPUs SandyBridger e IvyBridger os P e C States - que são responsáveis pelo bom funcionamento de energia - não são mais fornecidos pelo Chameleon, ou seja, somente ativar GeneratePStates e GenerateCStates não adiatam mais...Uma saída rápida é a utilização da kext NullCPUPowermanagement, mas eu não recomendo a utilização continua dessa kext, pois ela desabilita a kext AppleIntelCPUPowermanagement que é pelo gerenciamento de energia.A solução mais viável e recomendada que lhe proporcionará um gerenciamento de energia bom, é a criação de uma SSDT que irá contem todos os P-States e C-States.Passo-a-PassoCriando a SSDT Crie sua SSDT baseada no script do Pike R. AlphaRode no terminal esses comandos curl -o ~/ssdtPRGen.sh https://raw.githubusercontent.com/Piker-Alpha/ssdtPRGen.sh/master/ssdtPRGen.sh chmod +x ssdtPRGen.sh ./ssdtPRGen.sh Após roda-lo você precisa colocar a Frequência Máxima e o Máximo TDP do seu CPU... veja essas infos sobre seu CPU aqui: http://ark.intel.com/Esse é um exemplo de um i7 2600 que possui 3800Mhz(3,8Ghz) de frequencia maxima e 95 de TDP sudo ./ssdtPRGen.sh 3800 95 Coloque a SSDT na pasta Extra e renomeie ssdt_pr para SSDT Obs: Alguns CPUs já são auto-detectados pelo script, simplesmente o script já detecta a frequência máxima e o TDP, então se simplesmente após rodar o primeiro comando você for avisado para salvar a SSDT na pasta Extra(não pedindo para digitar sua max frequenc. e TDP como o guia manda), não se preocupe com isso, apenas confirme, pois o script já detectou tudo e criou sua SSDT e no momento já está pedindo para salvar o arquivo.Patch na AppleIntelCPUPowermanagement Nas mobos mais antigas é necessário patchear a kext AICPUPM para possibilitar a gravação na Bios, caso contrário você receberá um Kernel Panic por não poder gravar na Bios...Faça o download do patch:AICPUPMpatch Rode no terminal cd ~/Downloads/AICPMPatch Apenas encontre e liste... sudo perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement Depois dê patch no wrmsr para possibilitar a gravação na Bios sudo perl AICPMPatch.pl /System/Library/Extensions/AppleIntelCPUPowerManagement.kext/Contents/MacOS/AppleIntelCPUPowerManagement --patch Após isso é necessário atualizar o cache sudo touch /System/Library/Extensions Kernel Patch para Haswell CPU(Kernel XCPM) Desde a versão 10.8.5 um novo kernel foi implementado no OSX, ele se chamada XNU kernel(Xnu Cpu Power Management(xcpm)) Esse kernel tem o gerenciamento de energia movido para dentro dele, no passado usávamos a kext AppleIntelCPUPowermanagement para o controle do gerenciamento de energia e algumas Bios eram travadas, ou seja, não era permitido gravar informações nela, por isso foi criado o patch para a kext AICPUPM para solucionar esse problema(veja acima como patchear a kext AICPUPM Mas com o gerenciamento movido para dentro do kernel(XNU kernel)a kext AICPUPM não é mais carregada e por isso o mesmo erro que estávamos tendo no passado com a kext AICPUPM(Kernel Panic)estamos tendo agora com o XNU kernel em alguns modelos de CPU haswell(principalmente modelos portáteis, alguns modelos Desktop não precisam de patch) Para solucionar esse problema é necessário aplicar um patch no kernel. Para 10.10 você precisa abrir o terminal e digitar: cd /Volumes/Nome do seu HDD/System/Library/Kernels/ Note que em 10.10 o diretório do kernel foi alterado. Copie esse código perl, isso é para a versão 10.10, coloque linha por linha sudo perl -pi -e 's|\xe2\x00\x00\x00\x02\x00\x00\x00|\x00\x00\x00\x00\x02\x00\x00\x00|g' kernel sudo perl -pi -e 's|\xe2\x00\x00\x00\x4c\x00\x00\x00|\x00\x00\x00\x00\x4c\x00\x00\x00|g' kernel sudo perl -pi -e 's|\xe2\x00\x00\x00\x90\x01\x00\x00|\x00\x00\x00\x00\x90\x01\x00\x00|g' kernel Para 10.9.x e 10.8.5 você precisa rodar esse comando no terminal: cd /Volumes/Nome do seu HDD/ Agora, copie esse código perl se você usa as versão 10.9.x sudo perl -pi -e 's|\x74\x6c(\x48\x83\xc7\x28\x90\x8b\x05..\x5e\x00\x85\x47\xdc)\x74\x54(\x8b\x4f\xd8\x45\x85\xc0\x74\x08\x44\x39\xc1\x44\x89\xc1)\x75\x44(\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x57\xf8\x48\x8b\x47\xe8\x48\x85\xc0\x74\x06\x48\xf7\xd0\x48\x21\xc2\x48\x0b\x57\xf0\x49\x89\xd1\x49\xc1\xe9\x20\x89\xd0\x8b\x4f\xd8\x4c\x89\xca)(\x0f\x30\x8b\x4f\xd8\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x17\x48\x83\xc7\x30\xff\xce)\x75\x99(\x5d\xc3)\x90{7}|\x74\x73${1}\x74\x5b${2}\x75\x4b${3}\x66\x81\xf9\xe2\x00\x74\x02${4}\x75\x92${5}|g' mach_kernel ou esse outro código perl se você usa a versão 10.8.5 sudo perl -pi -e 's|\x74\x69(\x48\x83\xc7\x28\x90\x8b\x05\xfe\xce\x5f\x00\x85\x47\xdc)\x74\x51(\x8b\x4f\xd8\x45\x85\xc0\x74\x05\x44\x39\xc1)\x75\x44(\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x57\xf8\x48\x8b\x47\xe8\x48\x85\xc0\x74\x06\x48\xf7\xd0\x48\x21\xc2\x48\x0b\x57\xf0\x49\x89\xd1\x49\xc1\xe9\x20\x89\xd0\x8b\x4f\xd8\x4c\x89\xca)(\x0f\x30\x8b\x4f\xd8\x0f\x32\x89\xc0\x48\xc1\xe2\x20\x48\x09\xc2\x48\x89\x17\x48\x83\xc7\x30\xff\xce)\x75\x9c(\x5d\xc3)\x90{7}(\x90{3})|\x74\x70${1}\x74\x58${2}\x75\x4b${3}\x66\x81\xf9\xe2\x00\x74\x02${4}\x75\x95${5}${6}|g' mach_kernel Por último atualize o cache sudo touch /System/Library/Extensions Pronto! Kernel patcheado e o XCPM está trabalhando perfeitamente em seu CPU haswell OBS1: XCPM só trabalha nos CPUs Ivy Bridger e Haswell, sendo que, os CPUs Ivy Bridger utilizam por padrão o gerenciamento de energia dado pela kext AICPUPM, para usar o gerenciamento de energia dado pelo kernel XCPM é necessário ativar essa flag(Chameleon)/argumento(Clover): -xcpm Os CPUs Haswell utilizam o gerenciamento XCPM por padrão e não mudam. O gerenciamento XCPM não suporta os CPUs Sandy Bridger, então quem usa SB pode ficar tranquilo acerca disso.OBS2: Mesmo patcheando o kernel XCPM, você irá precisar patchear a kext AICPUPM, caso a sua BIOS seja trancada para gravação.OBS3: Caso você não tenha nenhum problema com KP, não é necessário patchear o kernel, mas, em alguns casos, patchear o kernel ajudou em adicionar alguns states de energia. OBS4: O Clover bootloader já tem o patch embutido, você só precisa editar o config.plist para habilitar o patch <key>KernelAndKextPatches</key> <dict> <key>KernelPm</key> <true/> </dict> Então, se você habilitar isso no Clover não é necessario patchear o kernel, porque o Clover irá fazer isso para você Ajustes finais Para fazer com que o Chameleon reconheça a sua SSDT, habilite DropSSDT no org.chameleon <key>DropSSDT</key> <string>Yes</string> Não instale a NullCPUPM e não habilite P e C States no org.chameleon... Não se esqueçam de futuramente criar uma DSDT para auxiliar no gerenciamento de energia OBS: Para quem está com dificuldades com gerenciamento de energia... dê uma olhada para ver se as kexts: X86PlatformPlugin, ACPI_SMC_PlatformPlugin, AppleLPC estão carregadas, rode kextstat no terminal para ver...Boa sorte para todos que tentarem este guia, eu somente juntei tudo em um único tutorial para facilitar a compreensão sobre gerenciamento de energia em Sandy e Ivy Bridger, mas todos os créditos vão para os respectivos donos das ferramentas maravilhosas que possibilitam o gerenciamento de energia em nossas CPUs Créditos: Pike R. Alpha flAked RevoGirl ReHabMan: http://www.insanelymac.com/forum/topic/302376-guide-patching-the-kernel-for-haswell-cpus-xcpm-early-reboot/ Edited November 7, 2014 by PimentelX86 Foi adicionado patch XCPM para 10.10 18 Link to comment Share on other sites More sharing options...
uzmi Posted January 25, 2014 Share Posted January 25, 2014 1 Link to comment Share on other sites More sharing options...
JorgeMax Posted January 25, 2014 Share Posted January 25, 2014 Amigo. Quem utiliza o CloverEFI, também tem que tirar esses "P-states e C-states" do "Config.plist"? Link to comment Share on other sites More sharing options...
Pimentel Posted January 25, 2014 Author Share Posted January 25, 2014 OláEu não sou utilizador do Clover, mas creio que para CPUs Sandy e Ivy Bridger O Clover já gere automaticamente os P e C States...Creio eu que não é necessário criar SSDT e fazer todo esse processo que eu realizei ai, pois o Chameleon não gera mais isso automaticamente por isso com ele é necessário fazer esse processo...Somente deixe P e C States ativados no config.plist e veja os resultados... creio já ser o suficiente.Uma outra coisa que eu acho muito bom de se fazer é aplicar o patch na AICPUPM, mesmo que você não vá fazer esse processo... você pode injetar esse processo através do config.plist deixando a opçõa AsusAICPUPM ativada... 1 Link to comment Share on other sites More sharing options...
Mirone Posted January 25, 2014 Share Posted January 25, 2014 Olá Eu não sou utilizador do Clover, mas creio que para CPUs Sandy e Ivy Bridger O Clover já gere automaticamente os P e C States... Creio eu que não é necessário criar SSDT e fazer todo esse processo que eu realizei ai, pois o Chameleon não gera mais isso automaticamente por isso com ele é necessário fazer esse processo... Somente deixe P e C States ativados no config.plist e veja os resultados... creio já ser o suficiente. Uma outra coisa que eu acho muito bom de se fazer é aplicar o patch na AICPUPM, mesmo que você não vá fazer esse processo... você pode injetar esse processo através do config.plist deixando a opçõa AsusAICPUPM ativada... Sim, o clover ja gera PeC states para ambos os CPUS sandy e ivy. mas mesmo assim ainda vc pode usar seu SSDT Olhe aqui: http://clover-wiki.zetam.org/Configuration/ACPI#SSDT Link to comment Share on other sites More sharing options...
Pimentel Posted January 25, 2014 Author Share Posted January 25, 2014 OláValeu por confirmar Mirone...Eu estava usando Clover, mas estava tendo muito problemas com P-States(no meu caso somente ativar P e C States não funcionava... tinha que colocar essa SSDT gerada pelo script)no meu hack e precisava de um hack funcional para logo, então voltei para o Chameleon... não esqueço do suporte que vocês me deram acerca do Clover. E ainda vou testar o Clover outra hora. Link to comment Share on other sites More sharing options...
JorgeMax Posted January 25, 2014 Share Posted January 25, 2014 Amigo. Eu removi do "config.plist" do Clover o "P-States e o C-States" e também o "DropOem". Dê uma lida neste link:http://www.olarila.com/forum/viewtopic.php?f=6&t=4247 E este é como ficou agora o SSDT sendo carregado corretamente pelo Clover: Link to comment Share on other sites More sharing options...
Pimentel Posted January 25, 2014 Author Share Posted January 25, 2014 Olá Muito bom JorgeMax, Allan possui alguns tutos bem interessantes sobre Clover... Quando tiver tempo e outro HDD, vou testar o Clover e ver o que acontece ao tentar gerenciamento de energia com ele gerado pelo Script... Link to comment Share on other sites More sharing options...
gustavobgs Posted February 15, 2014 Share Posted February 15, 2014 Gerou dois arquivos ssdt_pr.aml ssdt_.aml renomeia os dois para ssdt? Abraços Link to comment Share on other sites More sharing options...
Allan Posted February 15, 2014 Share Posted February 15, 2014 Gerou dois arquivos ssdt_pr.aml ssdt_.aml renomeia os dois para ssdt? Abraços somente o ssdt_pr.aml 1 Link to comment Share on other sites More sharing options...
Pimentel Posted February 15, 2014 Author Share Posted February 15, 2014 Olá Não esqueça de habilitar DropSSDT=Yes... Em outro post tu ainda está "lutando" para ajustar o OSX+Windows, então... Quando tudo estiver ok, ajuste seu gerenciamento de energia. Link to comment Share on other sites More sharing options...
Allan Posted February 16, 2014 Share Posted February 16, 2014 Ficou muito bom as novas atualizações Pimentel, parabens. Só uma coisa pra ficar esclarecida, eu que uso IvyBridge, mesmo com minha AICPM patcheada, posso usar o -xcpm? 1 Link to comment Share on other sites More sharing options...
Pimentel Posted February 16, 2014 Author Share Posted February 16, 2014 OláObrigado Allan.Claro que pode... isso não interfere em nada, pois quando o gerenciamento de energia for passado para o kernel XNU a kext AICPUPM não será mais carregada, mas mesmo assim, como eu já falei é necessário que ela seja patcheada(caso sua Bios seja trancada), mesmo que não vá usa-la, é necessário patchear....O patch kernel não é necessário em CPUs Ivy somente em Haswell...Boa sorte! Link to comment Share on other sites More sharing options...
Allan Posted February 16, 2014 Share Posted February 16, 2014 Olá Obrigado Allan. Claro que pode... isso não interfere em nada, pois quando o gerenciamento de energia for passado para o kernel XNU a kext AICPUPM não será mais carregada, mas mesmo assim, como eu já falei é necessário que ela seja patcheada(caso sua Bios seja trancada), mesmo que não vá usa-la, é necessário patchear.... O patch kernel não é necessário em CPUs Ivy somente em Haswell... Boa sorte! Perfeito. Acabei de testar aqui, e o sistema não subiu, mas o gerenciamento de energia está perfeito, com todas as kexts carregadas. Obrigado Pimentel. 1 Link to comment Share on other sites More sharing options...
Pimentel Posted February 17, 2014 Author Share Posted February 17, 2014 Olá Como assim o sistema não subiu? Mas ficou tudo ok depois disso? Como fez para subir de novo? Mais uma vez, de nada. Outra coisa somente: Não cite(quote) um texto por inteiro, isso deixa uma poluição visual no fórum... cite apenas o que interessa no momento. Agradeço a compreensão Link to comment Share on other sites More sharing options...
Allan Posted February 17, 2014 Share Posted February 17, 2014 Bem quando inseri o código no config.plist e reiniciei a tela de boot apenas aparece a maça, e volta pra tela do BIOS. E como fiz para subir normalmente, eu fui no menu de opções de boot do Clover, e retirei o -xcpm da seção "Arguments", isso é temporário, pois não retira permanentemente, pois no sistema tive de tirar manualmente depois. E o sistema ficou tudo ok, estava apenas testando. Sobre o "quote" tudo bem, quando citado o texto todo realmente fica poluído. Vlw 1 Link to comment Share on other sites More sharing options...
Pimentel Posted February 17, 2014 Author Share Posted February 17, 2014 Olá Pelo menos o teste foi muito bom... O que eu realmente quero é que esse guia seja útil para os usuários do fórum. Depois você me falar mais acerca daquela sua sugestão... Estou de "ouvidos" bem abertos para entender. Link to comment Share on other sites More sharing options...
JorgeMax Posted February 17, 2014 Share Posted February 17, 2014 Amigos, é necessário mesmo estas kexts serem carregadas: "ACPI_SMC_PlatformPlugin, AppleLPC"? Pois só achei a kext "X86PlatformPlugin" carregada. Vejam: Jorge-Kexts Carregadas.rtf O meu sistema está funcionando, sem nenhum erro relatado até o momento. E em relação ao "patch" na "AppleIntelCPUPowermanagement", eu não apliquei e nem adicionei o "-xcpm" no "config.plist" do Clover. Uso o processador da "assinatura". Criei somente o "SSDT" e adicionei o TDP e a freqüência máxima do mesmo. Minha placa-mãe utiliza BIOS UEFI com o Clover instalado neste modo. Mas não vejo carregada a kext "AppleLPC". Link to comment Share on other sites More sharing options...
Allan Posted February 17, 2014 Share Posted February 17, 2014 Então amigo Jorge, para ter o gerenciamento completo, você tem que ter estas kexts carregadas. Já vi que algumas placas Gigabyte realmente não é preciso aplicar o patch na AICPM, mas para carregar a LPC é preciso que você procure o device na DSDT e aplique o patch nela. No config.plist do Clover, a opção AsusAICPUPM está marcada? Sem falar que para carregar estas kexts, você precisa aplicar alguns patchs na DSDT. Como: *DTGP *New_HPET *IRQs *RTC Estes patchs você encontra aqui: http://olarila.com/forum/patches.php Mas tenha certeza do que vai aplicar, qualquer coisa estamos ai. 2 Link to comment Share on other sites More sharing options...
JorgeMax Posted February 17, 2014 Share Posted February 17, 2014 Amigo, dê uma olhada de novo nos dois arquivos: JorgeMax.zip Eu estou lhe enviando o "DSDT, SSDT e o Config.plist". Eu não sei se todos esses "patchs" que você mencionou estão aplicados no "DSDT". Link to comment Share on other sites More sharing options...
Pimentel Posted February 18, 2014 Author Share Posted February 18, 2014 Olá Na realidade a kext ACPI_SMC_PlatformPlugin não é tão necessária assim, somente em alguns casos onde existe algum erro causado pela falta dela(geralmente é um KP)é que ela precisa ser carregada. Se não está tendo problema nenhum então fica gelo em relação a isso. Mas a X86PlatformPlugin é obrigatoria para Ivy e Haswell A kext AppleLPC precisa ser carregada ou o sleep/wake não irão funcionar bem... A sua mobo é atual e é UEFI, como eu mencionei, algumas mobos atuais não precisam do patch no AICPUPM, pois tem a Bios destravada... se não patcheou, mas não teve KP, então deixa sem patch mesmo... Não confunda as coisas... sua CPU é Ivy então o gerenciamento pelo XCPM kernel é opcional... se está tudo ocorrendo bem com o gerenciamento dado pela AICPUPM então não há necessidades de trocar para o XCPM Eu não sei se todos esses "patchs" que você mencionou estão aplicados no "DSDT". Como não sabe? Você é quem patcheou... não podemos advinha se patcheou ou não... inclua nesse DSDT o patch LPC(para carregar a kext AppleLPC) Aqui um guia sobre DSDT: http://olarila.com/forum/viewtopic.php?f=7&t=646 1 Link to comment Share on other sites More sharing options...
JorgeMax Posted February 18, 2014 Share Posted February 18, 2014 PimentelX86. Eu não patcheei, e sim eu pedi para o Artur patchear e não faz muito tempo. Amigo o patch "LPC" para Ivy Bridge não tem? Qual daqueles patchs eu aplico? Link to comment Share on other sites More sharing options...
Pimentel Posted February 18, 2014 Author Share Posted February 18, 2014 OláEntão faça uma para você... não é tão difícil assim quando os patches já estão feitos e prontos para aplicar... Dúvidas olhe no guia.Tenta adicionar o LPC Sandy Bridger mesmo, vamos ver no que dá... Link to comment Share on other sites More sharing options...
JorgeMax Posted February 18, 2014 Share Posted February 18, 2014 Apliquei amigo, mas não carregou a kext "AppleLPC". Link to comment Share on other sites More sharing options...
Pimentel Posted February 18, 2014 Author Share Posted February 18, 2014 Olá Então o melhor caminho é deixar quieto... eu por exemplo não entendo muito bem sobre DSDT... E quem fazia esses patches na sua maioria essa o Mald0n, ele atualmente simplesmente deixou de fazer, então... fica por nossa conta agora... Procura pelo google se encontra alguma solução... e fato o importante no gerenciamento de energia é ter todos os states trabalhando... se já tem isso, então fica tranquilo... Um Abraço. 1 Link to comment Share on other sites More sharing options...
Recommended Posts