Jump to content

Vanilla SpeedStep / DSDT Editor e Patcher


MaLd0n
 Share

1 post in this topic

Recommended Posts

Faça o Download do DSDT Editor e Patcher

 

Patchs SpeedStep

 

Você precisa saber o número de P-States do seu CPU e os valores de FID e VID de cada P-State. Para obter estes dados você pode usar o programa PStateChanger

 

PstateChanger

capturadetela20100712s1.png

 

No exemplo acima são 4 Pstates.

O FID 09, 08, 07 e 06 (The frequency ID)

O VID 26, 23, 1F e 1B (The voltage ID)

 

Altere o FID e o VID de acordo com o programa(PStateChanger)

Veja abaixo o que você precisa alterar no Patch

 

Scope (_PR)
   {
       Processor (CPU0, 0x00, 0x00000410, 0x06)
       {
           Method (_PSS, 0, NotSerialized)
           {
               Return (Package (0x0[color="#008000"][b]N[/b][/color]) // N = número de P-States
               {
                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       0x10, 
                       0x10, 
                       0x[color="#FF0000"]FF[/color][color="#0000FF"]VV[/color], // FF = FID, VV = VID
		[color="#008000"]Zero[/color] // primeiro P-State
                   }, 

                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       0x10, 
                       0x10, 
                       0x[color="#FF0000"]FF[/color][color="#0000FF"]VV[/color], // FF = FID, VV = VID
		[color="#008000"]One[/color] // segundo P-State
                   }, 

                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       0x10, 
                       0x10, 
                       0x[color="#FF0000"]FF[/color][color="#0000FF"]VV[/color], // FF = FID, VV = VID
		[color="#008000"]0x02[/color] // terceiro P-State
                   }, 

                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       0x10, 
                       0x10, 
                       0x[color="#FF0000"]FF[/color][color="#0000FF"]VV[/color], // FF = FID, VV = VID
		[color="#008000"]0x03[/color] // quarto P-State
                   }
               })
           }

 

EXEMPLO

 

Scope (_PR)
   {
       Processor (CPU0, 0x00, 0x00000410, 0x06)
       {
           Method (_PSS, 0, NotSerialized)
           {
               Return (Package (0x0[color="#008000"][b]4[/b][/color])
               {
                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       0x10, 
                       0x10, 
                       0x[color="#FF0000"][b]09[/b][/color][color="#0000FF"][b]26[/b][/color], 
                       [color="#008000"]Zero[/color]
                   }, 

                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       0x10, 
                       0x10, 
                       0x[color="#FF0000"][b]08[/b][/color][color="#0000FF"][b]23[/b][/color], 
                       [color="#008000"]One[/color]
                   }, 

                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       0x10, 
                       0x10, 
                       0x[color="#FF0000"][b]07[/b][/color][color="#0000FF"][b]1F[/b][/color], 
                       [color="#008000"]0x02[/color]
                   }, 

                   Package (0x06)
                   {
                       Zero, 
                       Zero, 
                       0x10, 
                       0x10, 
                       0x[color="#FF0000"][b]06[/b][/color][color="#0000FF"][b]1B[/b][/color], 
                       [color="#008000"]0x03[/color]
                   }
               })
           }

 

Use o Patch correto para o seu Processador, nesse exemplo acima é o "4 states, cpu0-3.txt", como mostra o programa PStateChanger na opção PState/pstate.

 

Altere o FID e o VID no arquivo .txt, salve o arquivo e aplique o patch com o DSDT EDITOR.

 

Aplicando o Patch com o DSDT EDITOR

 

*Se você já tem o seu DSDT, dê um Load from file e aplique o Patch. Se você ainda não tem o seu DSDT, siga os procedimentos abaixo.

 

Vá na opçao DSL e Extract from system

dslextract.png

 

dslextract1.png

 

Agora vá na opção PATCH e Load from file

patchload.png

 

Selecione o Patch (.txt)

 

Aplique o Patch

capturadetela20100711s1.png

 

Outra coisa necessária para que o gerenciamento de energia nativo funcione, é que a kext AppleLPC esteja carregada. Se a sua placa mãe tem um dispositivo LPC com ID compatível, a kext será carregada normalmente.

 

Veja a lista com os IDs compatíveis(10.6.4) */System/Library/Extensions/AppleLPC.kext/Contents/Info.plist

capturadetela20100714s0.png

 

Use o System Info

capturadetela20100714s0.png

 

Se a sua placa mãe não tem um ID compatível, use o Patch LPC.txt

 

Para evitar o AppleIntelCPUPowerManagement panic use o patch HPET.txt

 

Agora vá na opção AML e Compile

amlcompile.png

amlcompile1.png

 

Não tendo erros, salve o arquivo. Para salvar vá em AML novamente e Save to file

capturadetela20100711s1.png

em salvar como, digite dsdt.aml e escolha o local que deseja salvar o arquivo

salvardsdt.png

Link to comment
Share on other sites

 Share

×
×
  • Create New...