Jump to content

VANILLA SPEEDSTEP


  • Please log in to reply
308 replies to this topic

#1
Smith@@™

Smith@@™

    InsanelyMac LOL

  • Retired
  • 2,928 posts
  • Gender:Male
  • Location:Somewhere over the rainbow...ITALIA!
  • Interests:Dark matter and dark energy. E basta. HD3000. E basta.
Nuovo metodo, nuova tabella SSDT da inserire in Extra/ACPI, eliminare l'equivalente nell'DSDT, utilizzare il nuovo boot Revolution (vedere forum internazionale) creato da Master Chief, aka the chief :) :

DefinitionBlock ("ssdt.aml", "SSDT", 1, "MC", "POWERM", 0x00000001)
{
	Scope (_SB)
	{
		Name (NCPU, 0x04)
		Name (PST0, 0x4720)
		Name (PST1, 0x071E)
		Name (PST2, 0x461C)
		Name (PST3, 0x0616)
		}
}

Name (NCPU, 0x04): 0x04 e' il numero dei vostri core!! Il codice e' ancora incompleto, aspettando buone nuove da master per il suo bootloader.
Thanks to Master;)

-------

Apro questo nuovo thread, su consiglio di ifabio e scrax per inserire, insieme a voi, le mie e nostre esperienze sullo speedstep natio tramite iniezione nel dsdt. Attualmente sto utilizzando questo codice ottimizzato da Master Chief:

Forma generale:

Scope (_PR)    {        Processor (CPU0, 0x01, 0x00000810, 0x06)        {            Name (_PSS, Package (0x08)            {                Package (0x06) { 4038, 64688, 0x10, 0x10, 0x4922, Zero },                Package (0x06) { 3825, 7770, 0x10, 0x10, 0x920, One },                Package (0x06) { 3613, 61340, 0x10, 0x10, 0x481F, 0x02 },                Package (0x06) { 3400, 6633, 0x10, 0x10, 0x81D, 0x03 },                Package (0x06) { 3188, 58060, 0x10, 0x10, 0x471C, 0x04 },                Package (0x06) { 2975, 5564, 0x10, 0x10, 0x71A, 0x05 },                Package (0x06) { 2763, 54849, 0x10, 0x10, 0x4619, 0x06 },                Package (0x06) { 2550, 4564, 0x10, 0x10, 0x617, 0x07 }            })            Name (_PSD, Package (0x05)            {                0x05,                0x00,                0x00,                0xFC,                0x02            })            Name (_CST, Package (0x04)            {                0x03,  // Number of C-State packages: 3 (C1, C2 and C3).                Package (0x04)                {                    ResourceTemplate ()                    {                        Register (FFixedHW,                             0x01,               // Bit Width                            0x02,               // Bit Offset                            0x0000000000000000, // Address                            0x00,               // Access Size                            )                    },                    One,                     One,                     0x03E8                },                 Package (0x04)                {                    ResourceTemplate ()                    {                        Register (SystemIO,                             0x08,               // Bit Width                            0x00,               // Bit Offset                            0x0000000000000814, // Address                            ,)                    },                    0x02,                    One,                    0x01F4                },                 Package (0x04)                {                    ResourceTemplate ()                    {                        Register (SystemIO,                             0x08,               // Bit Width                            0x00,               // Bit Offset                            0x0000000000000815, // Address                            ,)                    },                    0x03,                    0x55,                    0xFA                }            })        }        Processor (CPU1, 0x02, 0x00000810, 0x06)        {            Alias (\_PR.CPU0._PSS, _PSS)            Alias (\_PR.CPU0._PSD, _PSD)            Alias (\_PR.CPU0._CST, _CST)        }    }Processor (CPU2, 0x03, 0x00000810, 0x06)        {            Alias (^CPU1._PSS, _PSS)            Alias (^CPU1._PSD, _PSD)            Alias (^CPU1._CST, _CST)        }        Processor (CPU3, 0x04, 0x00000810, 0x06)        {            Alias (^CPU1._PSS, _PSS)            Alias (^CPU1._PSD, _PSD)            Alias (^CPU1._CST, _CST)        }    }
Questo in esempio e' per un dual con otto p-state..


Vi e' anche un secondo codice, in discussione da molto tempo sul forum internazionale in un thread che ormai ha fatto storia a s�ƒ©, ottimizzato da FormerlyKnownAs (Non utilizzo quest'ultimo in quanto mi da' kernel panic una volta su tre):

Scope (_PR.CPU0)    {        Method (_PSS, 0, NotSerialized)        {            Return (Package (0x0R)  //ad R dovrete sostituire il # dei vostri pstate            {                Package (0x06)                {                    Zero,                     Zero,                     0x10,                     0x10,                     0xSSSS, //FId/VID dei p-state 0 (HIGHEST P-state)                    Zero     //  p-state 0                },                 Package (0x06)                {                    Zero,                     Zero,                     0x10,                     0x10,                     0xSSSS,  // FID/VID for p-state 1                    One        // p-state 1                },                 Package (0x06)                {                    Zero,                     Zero,                     0x10,                     0x10,                     0xSSSS, // FID/VID                     0x02     //p-state 2                }            })        }        Method (_PSD, 0, NotSerialized)        {            Return (Package (0x05)            {                0x05,                 Zero,                 Zero,                 0xFC,                 0x04            })        }        Method (_CST, 0, NotSerialized)        {            Return (Package (0x02)            {                One,                 Package (0x04)                {                    ResourceTemplate ()                    {                        Register (FFixedHW,                             0x01,               // Bit Width                            0x02,               // Bit Offset                            0x0000000000000000, // Address                            0x01,               // Access Size                            )                    },                     One,                     0x9D,                     0x03E8                }            })        }    }    Scope (_PR.CPU1)    {        Method (_PSS, 0, NotSerialized)        {            Return (^^CPU0._PSS ())        }        Method (_PSD, 0, NotSerialized)        {            Return (^^CPU0._PSD ())        }        Method (_CST, 0, NotSerialized)        {            Return (Package (0x04)            {                0x03,                 Package (0x04)                {                    ResourceTemplate ()                    {                        Register (FFixedHW,                             0x01,               // Bit Width                            0x02,               // Bit Offset                            0x0000000000000000, // Address                            ,)                    },                     One,                     Zero,                     0x03E8                },                 Package (0x04)                {                    ResourceTemplate ()                    {                        Register (FFixedHW,                             0x08,               // Bit Width                            0x00,               // Bit Offset                            0x0000000000000414, // Address                            ,)                    },                     0x02,                     One,                     0x01F4                },                 Package (0x04)                {                    ResourceTemplate ()                    {                        Register (FFixedHW,                             0x08,               // Bit Width                            0x00,               // Bit Offset                            0x0000000000000415, // Address                            ,)                    },                     0x03,                     0x55,                     0xFA                }            })        }    }    Scope (_PR.CPU2)    {        Method (_PSS, 0, NotSerialized)        {            Return (^^CPU0._PSS ())        }        Method (_PSD, 0, NotSerialized)        {            Return (^^CPU0._PSD ())        }        Method (_CST, 0, NotSerialized)        {            Return (^^CPU1._CST ())        }    }    Scope (_PR.CPU3)    {        Method (_PSS, 0, NotSerialized)        {            Return (^^CPU0._PSS ())        }        Method (_PSD, 0, NotSerialized)        {            Return (^^CPU0._PSD ())        }        Method (_CST, 0, NotSerialized)        {            Return (^^CPU1._CST ())        }    }
Questo in esempio e' per un quad con tre p-state..



Vi sono varianti di questi 2 codici che tratterremo se sara' necessario :P

Sostanzialmente i 2 codici hanno la stessa funzione, se riuscirete a iniettarli nel vostro dsdt e a farli funzionare a dovere avrete notevoli benefici: SPEEDSTEP COMPLETAMENTE VANILLA con nessun utilizzo di kext di terze parti, eliminazione di disabler vari: nullcpu su tutti, eliminazione di sleepenabler, openhalt, evoreboot e segg., speedstep gestito nativamente dall' appleintelcpupowermanagement, miglior gestione delle alimentazioni, grazie all'utilizzo di quest'ultimo, fra piastra e cpu, temperature nella norma e con molta probabilita' anche piu' basse rispetto all'utilizzo con voodoopower e suoi discendenti, benefici vari..

Il suo utilizzo prevede che il device lpcb venga caricato correttamente cos�€œ da avere temperature piu' basse e che sia iniettato almeno un macpro3.1 (smbiosplist e' il metodo piu' semplice)

Tecnicamente il secondo va usato se la vostra piastra non ha il supporto per C2/C3 (mio caso), ma nessuno vi vieta di utilizzare quello che vi da' piu' affidamento, io utilizzo il primo e funziona egregiamente.
Altre cose, puntualizzazioni, sottigliezze e il resto (tanto) saranno discussi nel corso del thread, insieme e senza polemiche, perfavore, una sana discussione.
Per calcolare i vostri pstate utilizzate p-state calculator, con voodoomonitor avrete un'idea di come i p-state si "muovono".
E' il primo topic nella sezione italiana a trattare esclusivamente quest'argomento, cerchiamo di non andare off topic (per le altre mod nel dsdt c'e' il topic aperto dall'amico scrax ;) ) e di renderlo colmo di buone nuove..

;)

Ringraziamenti a mm67 e a Master Chief per la creazione del generic Scope (_PR)

Attached File  GenericScopePR.zip   590bytes   0 downloads
Attached File  P_States_Calculator.zip   134.15KB   165 downloads
fassl dsdt patcher

#2
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,530 posts
  • Gender:Male
  • Location:Canary Islands
Ciao a tutti!

Benone! Grazie Smit@@

Primo e prima "prova"

- Voglio affidarmi al primo codice 8 P-State
- Il codice in esame si riferisce ad un dual.
- Il mio Smbios.plist richiama un MacPro4,1


Provo ad adattarlo per un Quad( il mio i7) oppure e' una cosa che e' stata gia' fatta senza successo?
Non serve aggiungere "DropSSDT" nel com.Apple.boot.plist con un bootloader PcEfi 10.x?


Procedo in questo modo:
1) Riparto da 0 Estraggo la tabella dall'ultimo BIOS della mia Scheda (file-BIOS) con MMTOOL
2) Decompilo e correggo gli errori "standard" _T_0, MUTE.. ecc
3) Aggiungo la pach del Device (LPCB), e nulla di piu' al momento...
4) Ricompilo e lo rendo disponibile in Snow Leopard.
5) In Snow ottengo gli 8 valori del p-state con i programmi da te citati.
6) Inserisco/sostituisco i valori con quelli del generic Scope
7) Ricompilo "installo" il DSDT e riavvio.
8) Se funziona aggiungo le vecchie fix.

Esempio aggiunto direttamente dal tuo. ho aggiunto 4 CPU

Scope (_PR){Processor (CPU0, 0x01, 0x00000810, 0x06){Name (_PSS, Package (0x08){Package (0x06) { 4038, 64688, 0x10, 0x10, 0x4922, Zero },Package (0x06) { 3825, 7770, 0x10, 0x10, 0x920, One },Package (0x06) { 3613, 61340, 0x10, 0x10, 0x481F, 0x02 },Package (0x06) { 3400, 6633, 0x10, 0x10, 0x81D, 0x03 },Package (0x06) { 3188, 58060, 0x10, 0x10, 0x471C, 0x04 },Package (0x06) { 2975, 5564, 0x10, 0x10, 0x71A, 0x05 },Package (0x06) { 2763, 54849, 0x10, 0x10, 0x4619, 0x06 },Package (0x06) { 2550, 4564, 0x10, 0x10, 0x617, 0x07 }})Name (_PSD, Package (0x05){0x05,0x00,0x00,0xFC,0x02})Name (_CST, Package (0x04){0x03, // Number of C-State packages: 3 (C1, C2 and C3).Package (0x04){ResourceTemplate (){Register (FFixedHW, 0x01, // Bit Width0x02, // Bit Offset0x0000000000000000, // Address0x00, // Access Size)},One, One, 0x03E8}, Package (0x04){ResourceTemplate (){Register (SystemIO, 0x08, // Bit Width0x00, // Bit Offset0x0000000000000814, // Address,)},0x02,One,0x01F4}, Package (0x04){ResourceTemplate (){Register (SystemIO, 0x08, // Bit Width0x00, // Bit Offset0x0000000000000815, // Address,)},0x03,0x55,0xFA}})}Processor (CPU1, 0x02, 0x00000810, 0x06){Alias (\_PR.CPU0._PSS, _PSS)Alias (\_PR.CPU0._PSD, _PSD)Alias (\_PR.CPU0._CST, _CST)}}Processor (CPU2, 0x03, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU3, 0x04, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU4, 0x05, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU5, 0x06, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU6, 0x07, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU7, 0x08, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}}


Smith@@ e' giusto il primo codice che hai messo???? mi riferisco alla sezione in blu...

le CPU alias
Alias (^CPU1._PSS, _PSS)
Alias (^CPU1._PSD, _PSD)
Alias (^CPU1._CST, _CST)
fanno riferimento a CPU1???? non dovrebbero riferirsi a CPU0???
Alias (^CPU0._PSS, _PSS)
Alias (^CPU0._PSD, _PSD)
Alias (^CPU0._CST, _CST)

Nel codice che ho riportato sopra credo che abbia piu' logica...

#3
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male
Salve. Ma che bel topic che mi trovo oggi... ;)

Allora anch'io son arrivato allo speedsteep tramite ssdt in dsdt grazie al famoso topic di FCA e poi son passato alla versione di MC.
I P-State li ho trovati usando prima PState Changer (per sapere quanti e quali la mia CPU sfrutta) e P-State Calculator per ottenere le stringhe da inserire.
Ecco il mio Scope (_PR) postato da poco anche nel topic sui DSDT fix nominato prima da smith@@

3)      \\<--- Numero P-State
{
Package (0x06) { 1998, 51568, 10, 10, 0x616, 0x616 }, \\<-- P-State calcolati
Package (0x06) { 2331, 63571, 10, 10, 0x71A, 0x71A }, \\<-- con P-State Calculator impostato
Package (0x06) { 2664, 76548, 10, 10, 0x81D, 0x81D } \\<-- con i valori della propria CPU
})

Name (_PSD, Package (0x05)
{
0x05,
Zero,
Zero,
0xFC,
0x04
})

Name (_CST, Package (0x04)
{
0x03,
Package (0x04)
{
ResourceTemplate ()
{
Register (FFixedHW,
0x01, // Bit Width
0x02, // Bit Offset
0x0000000000000000, // Address
,)
},

One,
0x65,
0x03E9
},

Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000814, // Address
,)
},

0x02,
0x03E9,
0x01F4
},

Package (0x04)
{
ResourceTemplate ()
{
Register (SystemIO,
0x08, // Bit Width
0x00, // Bit Offset
0x0000000000000815, // Address
,)
},

0x03,
0x55,
0xFA
}
})
}

Processor (CPU2, 0x02, 0x00000810, 0x06)
{
Alias (^CPU1._PSS, _PSS)
Alias (^CPU1._PSD, _PSD)
Alias (^CPU1._CST, _CST)
}

Processor (CPU3, 0x03, 0x00000810, 0x06)
{
Alias (^CPU1._PSS, _PSS)
Alias (^CPU1._PSD, _PSD)
Alias (^CPU1._CST, _CST)
}

Processor (CPU4, 0x04, 0x00000810, 0x06)
{
Alias (^CPU1._PSS, _PSS)
Alias (^CPU1._PSD, _PSD)
Alias (^CPU1._CST, _CST)
}
} _linenums:0'>Scope (_PR) { Processor (CPU1, 0x01, 0x00000810, 0x06) { Name (_PSS, Package (0x03) \\<--- Numero P-State { Package (0x06) { 1998, 51568, 10, 10, 0x616, 0x616 }, \\<-- P-State calcolati Package (0x06) { 2331, 63571, 10, 10, 0x71A, 0x71A }, \\<-- con P-State Calculator impostato Package (0x06) { 2664, 76548, 10, 10, 0x81D, 0x81D } \\<-- con i valori della propria CPU }) Name (_PSD, Package (0x05) { 0x05, Zero, Zero, 0xFC, 0x04 }) Name (_CST, Package (0x04) { 0x03, Package (0x04) { ResourceTemplate () { Register (FFixedHW, 0x01, // Bit Width 0x02, // Bit Offset 0x0000000000000000, // Address ,) }, One, 0x65, 0x03E9 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000814, // Address ,) }, 0x02, 0x03E9, 0x01F4 }, Package (0x04) { ResourceTemplate () { Register (SystemIO, 0x08, // Bit Width 0x00, // Bit Offset 0x0000000000000815, // Address ,) }, 0x03, 0x55, 0xFA } }) } Processor (CPU2, 0x02, 0x00000810, 0x06) { Alias (^CPU1._PSS, _PSS) Alias (^CPU1._PSD, _PSD) Alias (^CPU1._CST, _CST) } Processor (CPU3, 0x03, 0x00000810, 0x06) { Alias (^CPU1._PSS, _PSS) Alias (^CPU1._PSD, _PSD) Alias (^CPU1._CST, _CST) } Processor (CPU4, 0x04, 0x00000810, 0x06) { Alias (^CPU1._PSS, _PSS) Alias (^CPU1._PSD, _PSD) Alias (^CPU1._CST, _CST) } }

Le parti in rosso vanno modificate con i valori ottenuti da P-State Calculator.
Per usare P-State Calculator bisogna controllare che i valori nelle colonne a sx siano quelli della cpu che verrà usata e nella colonna a dx cambiando il moltiplicatore (Core Multiplier) otterremo i vari p-state. ATTENZIONE che ogni cpu usa diversi valori e anche quantità di p-state, quella nell'esempio usa solo i p-state da 6, 7 e 8 cioè da 2GHz a 2,6 Ghz. Per sapere quanti e quali P-State supporta la vostra cpu potete usare P-State Changer installando il relativo .kext (da togliere una volta fatta la modifica al dsdt).
Nota: il numero 3 rosso va modificato con il numero totale dei p-state impostati.

iFabio, il dropssdt non serve selezionarlo, mentre per i7 non mi pare di aver visto problemi nei vari topic che ho letto.

#4
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,530 posts
  • Gender:Male
  • Location:Canary Islands
Ciao a tutti!

:-(

Sul mio sistema VoodooMonitor.kext genera Kernel panic
P-State Calculator funziona (Il difficile e' ricavare valori alternativi)
e P-State Changer carica ma si chiude appena vado sulla finestra pref o info.

Soluzioni tradizionali per calcolare differenti stati?

Fabio

#5
cili0

cili0

    InsanelyMacaholic

  • FAQ Team
  • 3,003 posts
  • Gender:Male
  • Location:Italy
finalmente un topic sull'argomento, putroppo non ho avuto la capacità di seguire lucidamente quello sul forum internazionale, spero di riuscire da qui ad ottenere sto benedetto vanilla speedstep! appena ho tempo ci provo!

ciao!

#6
Smith@@™

Smith@@™

    InsanelyMac LOL

  • Retired
  • 2,928 posts
  • Gender:Male
  • Location:Somewhere over the rainbow...ITALIA!
  • Interests:Dark matter and dark energy. E basta. HD3000. E basta.

Ciao a tutti!

Benone! Grazie Smit@@

Primo e prima "prova"

- Voglio affidarmi al primo codice 8 P-State
- Il codice in esame si riferisce ad un dual.
- Il mio Smbios.plist richiama un MacPro4,1


Provo ad adattarlo per un Quad( il mio i7) oppure e' una cosa che e' stata gia' fatta senza successo?
Non serve aggiungere "DropSSDT" nel com.Apple.boot.plist con un bootloader PcEfi 10.x?


Procedo in questo modo:
1) Riparto da 0 Estraggo la tabella dall'ultimo BIOS della mia Scheda (file-BIOS) con MMTOOL
2) Decompilo e correggo gli errori "standard" _T_0, MUTE.. ecc
3) Aggiungo la pach del Device (LPCB), e nulla di piu' al momento...
4) Ricompilo e lo rendo disponibile in Snow Leopard.
5) In Snow ottengo gli 8 valori del p-state con i programmi da te citati.
6) Inserisco/sostituisco i valori con quelli del generic Scope
7) Ricompilo "installo" il DSDT e riavvio.
8) Se funziona aggiungo le vecchie fix.

Esempio aggiunto direttamente dal tuo. ho aggiunto 4 CPU

Scope (_PR){Processor (CPU0, 0x01, 0x00000810, 0x06){Name (_PSS, Package (0x08){Package (0x06) { 4038, 64688, 0x10, 0x10, 0x4922, Zero },Package (0x06) { 3825, 7770, 0x10, 0x10, 0x920, One },Package (0x06) { 3613, 61340, 0x10, 0x10, 0x481F, 0x02 },Package (0x06) { 3400, 6633, 0x10, 0x10, 0x81D, 0x03 },Package (0x06) { 3188, 58060, 0x10, 0x10, 0x471C, 0x04 },Package (0x06) { 2975, 5564, 0x10, 0x10, 0x71A, 0x05 },Package (0x06) { 2763, 54849, 0x10, 0x10, 0x4619, 0x06 },Package (0x06) { 2550, 4564, 0x10, 0x10, 0x617, 0x07 }})Name (_PSD, Package (0x05){0x05,0x00,0x00,0xFC,0x02})Name (_CST, Package (0x04){0x03, // Number of C-State packages: 3 (C1, C2 and C3).Package (0x04){ResourceTemplate (){Register (FFixedHW, 0x01, // Bit Width0x02, // Bit Offset0x0000000000000000, // Address0x00, // Access Size)},One, One, 0x03E8}, Package (0x04){ResourceTemplate (){Register (SystemIO, 0x08, // Bit Width0x00, // Bit Offset0x0000000000000814, // Address,)},0x02,One,0x01F4}, Package (0x04){ResourceTemplate (){Register (SystemIO, 0x08, // Bit Width0x00, // Bit Offset0x0000000000000815, // Address,)},0x03,0x55,0xFA}})}Processor (CPU1, 0x02, 0x00000810, 0x06){Alias (\_PR.CPU0._PSS, _PSS)Alias (\_PR.CPU0._PSD, _PSD)Alias (\_PR.CPU0._CST, _CST)}}Processor (CPU2, 0x03, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU3, 0x04, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU4, 0x05, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU5, 0x06, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU6, 0x07, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}Processor (CPU7, 0x08, 0x00000810, 0x06){Alias (^CPU0._PSS, _PSS)Alias (^CPU0._PSD, _PSD)Alias (^CPU0._CST, _CST)}}


Smith@@ e' giusto il primo codice che hai messo???? mi riferisco alla sezione in blu...

le CPU alias
Alias (^CPU1._PSS, _PSS)
Alias (^CPU1._PSD, _PSD)
Alias (^CPU1._CST, _CST)
fanno riferimento a CPU1???? non dovrebbero riferirsi a CPU0???
Alias (^CPU0._PSS, _PSS)
Alias (^CPU0._PSD, _PSD)
Alias (^CPU0._CST, _CST)

Nel codice che ho riportato sopra credo che abbia piu' logica...



No fabio, e' giusto, ti spiego, in quell' esempio, ma vale sempre, si parte con cpu0, la cpu1 assume valore in pstate della cpu0, cpu2 e3 faranno "riferimento" a cpu1 che a sua volta fa "riferimento a cpu0! E' un collegamento necessario, devi passare per cpu1 necessariamente.. quello e' un esempio con 4 core, ma il senso e' lo stesso sempre :)

Notte..

#7
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male
iFabio, io basandomi su questo ho provato a calcolarmi con P-State Calculator alcuni valori per la tua CPU. A vedere la foto che hai postato nella tua guida mi pare di capire che stai usando P-SC con i valori di default. Devi adeguarli alla tua CPU.

Dal datasheet io ho messo:
Core Clock (MHz) 2926 (questo all'inizio l'avevo messo a 2930 ma non mi convinceva)
Core Voltage (V) 1,080 (questo è una media sui voltaggi scritti nel datasheet)
Power Dissipation (W) 130 (questo corrisponde al Max TDP della CPU )
Bus Speed (MHz) 133 (Core Clock/Core Multiplier cioè 2926/22 ma c'è anche nelle notes di intel)
Core Multiplier 22 (dal datasheet)
Core Clock (MHz) li mette lui
Core Voltage (V) li mette lui

Es.:
Moltiplicatore a 22:
Package (0x06) { 2926, 147574, 10, 10, 0x1620, 0x1620 }

Moltiplicatore a 20:
Package (0x06) { 2660, 128905, 10, 10, 0x141D, 0x141D }

L'unico dato che non so dove prenderlo, perché io lo vedevo con P-State Changer o VoodooMonitor è quanti p-state supporta la tua CPU. La mia x es ne supporta solo 3.
A sto punto credo che puoi farti un ssdt con anche una 10ina di pstate e poi vedi quali effettivamente vanno e quali altri puoi togliere perché inutilizzati.

#8
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,530 posts
  • Gender:Male
  • Location:Canary Islands

iFabio, io basandomi su questo ho provato a calcolarmi con P-State Calculator alcuni valori per la tua CPU. A vedere la foto che hai postato nella tua guida mi pare di capire che stai usando P-SC con i valori di default. Devi adeguarli alla tua CPU.

Dal datasheet io ho messo:
Core Clock (MHz) 2926 (questo all'inizio l'avevo messo a 2930 ma non mi convinceva)
Core Voltage (V) 1,080 (questo è una media sui voltaggi scritti nel datasheet)
Power Dissipation (W) 130 (questo corrisponde al Max TDP della CPU )
Bus Speed (MHz) 133 (Core Clock/Core Multiplier cioè 2926/22 ma c'è anche nelle notes di intel)
Core Multiplier 22 (dal datasheet)
Core Clock (MHz) li mette lui
Core Voltage (V) li mette lui

Es.:
Moltiplicatore a 22:
Package (0x06) { 2926, 147574, 10, 10, 0x1620, 0x1620 }

Moltiplicatore a 20:
Package (0x06) { 2660, 128905, 10, 10, 0x141D, 0x141D }

L'unico dato che non so dove prenderlo, perché io lo vedevo con P-State Changer o VoodooMonitor è quanti p-state supporta la tua CPU. La mia x es ne supporta solo 3.
A sto punto credo che puoi farti un ssdt con anche una 10ina di pstate e poi vedi quali effettivamente vanno e quali altri puoi togliere perché inutilizzati.



Grazie INFINITE delle dritte!

Ho raccolto alcuni valori dal BIOS magari possono aiutare insieme al datasheet del mio processore i7 940



In effetti i valori che mi hai indicato coincidono (ho tutto a default non ho Overclock)

I moltiplicatori vanno da 12 a 23 (di base il mio usa 22) possono essere utilizzati questi valori? Significano qualcosa? sono i P-State o non centrano nulla? Se cosi' fosse avrei 12 P-State 12 minimo e 23 max(piccolo OC considerando il 22 il base)?

12= 1
13= 2
14= 3
15= 4
16= 5
17= 6
18= 7
19= 8
20= 9
21=10
22=11
23=12

Sono perplesso :(

Fabio

#9
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,530 posts
  • Gender:Male
  • Location:Canary Islands

i7 9xx P-State

SIIII!!!!
Successo!!! Grazie infinite ragazzi!!!!
Ho eliminato tutti gli kext inutilizzati fuori anche NullCPU e OpenHalt!!

Il Sistema che mi ha consigliato scrax funziona ho usato i moltiplicatori che ho visto nel BIOS da 12 a 23(Quest'ultimo sarebbe un piccolo OC).

Ora devo rifinire i voltaggi e il TPM che averli standard non mi sembra sia troppo corretto.
Correggetemi che probabilmente sbaglio...
Ho iniziato a "farmi" una tabella dei valori del mio processore.

Consigliate di variare solo il moltiplicatore per calcolare i pacchetti oppure cambiare tutti i valori in conseguenza di ogni ipotetico p-state?

I consigli sono sempre ben accetti
Fabio

#10
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male
il 23 credo sia la funzione turbo, l'ho vita nominata o sul datasheet o sulla pagine del processore ora non ricordo..

#11
Smith@@™

Smith@@™

    InsanelyMac LOL

  • Retired
  • 2,928 posts
  • Gender:Male
  • Location:Somewhere over the rainbow...ITALIA!
  • Interests:Dark matter and dark energy. E basta. HD3000. E basta.

i7 9xx P-State

SIIII!!!!
Successo!!! Grazie infinite ragazzi!!!!
Ho eliminato tutti gli kext inutilizzati fuori anche NullCPU e OpenHalt!!

Il Sistema che mi ha consigliato scrax funziona ho usato i moltiplicatori che ho visto nel BIOS da 12 a 23(Quest'ultimo sarebbe un piccolo OC).

Ora devo rifinire i voltaggi e il TPM che averli standard non mi sembra sia troppo corretto.
Correggetemi che probabilmente sbaglio...
Ho iniziato a "farmi" una tabella dei valori del mio processore.

Consigliate di variare solo il moltiplicatore per calcolare i pacchetti oppure cambiare tutti i valori in conseguenza di ogni ipotetico p-state?

I consigli sono sempre ben accetti
Fabio


Bravo fabio :P

Li devi tenere standard, se li tieni fuori "specifiche" il codice se ne "frega" nel senso che ti andra' comunque a leggere i valori di frequenze e voltaggi che hai nel bios, se provi a mettere voltaggi sballati o frequenze sballate, succede poco o nulla, quel codice andra' si appoggera' sempre alle frequenze e ai voltaggi impostati nel bios. Ha bisogno dei valori a default, perche' tecnicamente e' da li' che deve partire ;)
Occhio all'overclock, fino a un certo punto avrai poi potresti iniziare a perdere, se spingerai molto, cose come lo spegnimento e/o il riavvio, anche usando valori non a defaul nel codice, e' a mio avviso un "problema" di alimentazione, sempre, durante un oc spinto l'appleintelcpu tende a perdere qualche colpo..
L'importante e' aver raggiunto l'obiettivo. Tieni presente che la vera importanza di questo codice io l'attribuisco al possibilta' di eliminare il disabler piu' importante e non tanto allo ss, in un overclock molto spinto, il codice non riesce a lavorare come dovrebbe e qui in entra in gioco voodoopowermini che ci rida' la possibilta' di riavere spegnimento e/o riavvio, in quanto neanche ritornando ad usare openhalt si risolverebbe, come vedi ci sono tante possibilta', e dipende da come sceglierai di tenere il pc: default, overclock medio, overclock spinto; io ho scelto la seconda, il codice riesce a gestire tutto, non perdo nulla :)

Ciao

#12
RASONE

RASONE

    VT POWER CREW

  • Members
  • PipPipPipPipPipPipPip
  • 997 posts
  • Gender:Male
  • Location:Roma / Porvoo
  • Interests:OLD SCHOOL TECHNO!
GRAZIE A TUTTIIIIIIIIIIIIII!
Sono riuscito finalmente ad avere quasi tutto, audio compreso, l'unica cosa è: come faccio ad avere la certezza che lo s.step funzioni? ho provato con xbench perchè di solito con lo speedstep del voodooPower i valori sono inferiori, ed infatti in apparenza sembra che stia funzionando, ma le temperature sono leggermente più alte di 3 o 4 gradi, è normale? come lo verifico?

#13
Smith@@™

Smith@@™

    InsanelyMac LOL

  • Retired
  • 2,928 posts
  • Gender:Male
  • Location:Somewhere over the rainbow...ITALIA!
  • Interests:Dark matter and dark energy. E basta. HD3000. E basta.

GRAZIE A TUTTIIIIIIIIIIIIII!
Sono riuscito finalmente ad avere quasi tutto, audio compreso, l'unica cosa è: come faccio ad avere la certezza che lo s.step funzioni? ho provato con xbench perchè di solito con lo speedstep del voodooPower i valori sono inferiori, ed infatti in apparenza sembra che stia funzionando, ma le temperature sono leggermente più alte di 3 o 4 gradi, è normale? come lo verifico?


Le temperature non dovrebbero essere piu' alte, anzi, sei sicuro che lo ss stia funzionando? Controlla con voodoomonitor se i pstate si "muovono" e se soprattutto i voltaggi seguono i pstate, se sono fermi al valore piu' alto significa che qualcosa non va come dovrebbe :(

ciao

#14
RASONE

RASONE

    VT POWER CREW

  • Members
  • PipPipPipPipPipPipPip
  • 997 posts
  • Gender:Male
  • Location:Roma / Porvoo
  • Interests:OLD SCHOOL TECHNO!

Le temperature non dovrebbero essere piu' alte, anzi, sei sicuro che lo ss stia funzionando? Controlla con voodoomonitor se i pstate si "muovono" e se soprattutto i voltaggi seguono i pstate, se sono fermi al valore piu' alto significa che qualcosa non va come dovrebbe :(

ciao


allora funziona tutto, saranno le temperature più alte a causa dei termosifoni, ma se devo usare voodoomonitor, installando il suo kext, non abilito lo speedstep? comunque sia le temperature sono invariate, vedo solo che i primi 2 core usano un voltaggio maggiore del terzo e quarto, 1.340 V contro 1.132 V, scusate tutte le domande, ma volendo regolarizzare il voltaggio, quale parte devo modificare?

#15
Smith@@™

Smith@@™

    InsanelyMac LOL

  • Retired
  • 2,928 posts
  • Gender:Male
  • Location:Somewhere over the rainbow...ITALIA!
  • Interests:Dark matter and dark energy. E basta. HD3000. E basta.

allora funziona tutto, saranno le temperature più alte a causa dei termosifoni, ma se devo usare voodoomonitor, installando il suo kext, non abilito lo speedstep? comunque sia le temperature sono invariate, vedo solo che i primi 2 core usano un voltaggio maggiore del terzo e quarto, 1.340 V contro 1.132 V, scusate tutte le domande, ma volendo regolarizzare il voltaggio, quale parte devo modificare?



voodoomonitor non c'entra nulla con voodoopower, riguardo cio' che mi hai scritto credo che non funzioni a dovere, i core, nel pstate in cui si trovano in quel dato istante, devono utilizzare lo stesso voltaggio, sempre! :rolleyes:

Ciao

#16
scrax

scrax

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,704 posts
  • Gender:Male
Io per vedere se i p-state funzionano sto usando MSR TOOLS

#17
Smith@@™

Smith@@™

    InsanelyMac LOL

  • Retired
  • 2,928 posts
  • Gender:Male
  • Location:Somewhere over the rainbow...ITALIA!
  • Interests:Dark matter and dark energy. E basta. HD3000. E basta.

Io per vedere se i p-state funzionano sto usando MSR TOOLS


L'ho appena provato, pensavo cambiasse qualcosa, ma anche con questa versione non visualizzo nulla, schermata grigia,, boh :blink:

#18
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,530 posts
  • Gender:Male
  • Location:Canary Islands
Ciao a tutti!

Rieccomi:

Dunque ho eliminato il moltiplicatore 23(il Turbo) come giustamente menzionato da scrax

Ho ricalcolato il pacchetti con P-State Calculator con i valori di default

e in particolare il CPU Vcore che e' a 1.200 ,anche se onestamente non ho trovato da nessuna parte che questo sia il valore di default, sono andato matto per vari siti di overclock per trovare valori che potessero parzialmente confermare questa teoria... ma alla fine il risultato c'e'!

Nel codice che ho ricavato non voglio farne un uso spinto, infatti ho tenuto il moltiplicatore max a 22 che e' quello di base per l'i7 940.
Questi sono i pacchetti con voltaggi di base a 1.200
--------------------------------------------------------
22 = Package (0x06) { 2926, 132816, 10, 10, 0x1620, 0x1620 }
21 = Package (0x06) { 2793, 124297, 10, 10, 0x151F, 0x151F }
20 = Package (0x06) { 2660, 116015, 10, 10, 0x141D, 0x141D }
19 = Package (0x06) { 2527, 107968, 10, 10, 0x131C, 0x131C }
18 = Package (0x06) { 2394, 100159, 10, 10, 0x121A, 0x121A }
17 = Package (0x06) { 2261, 92585, 10, 10, 0x1119, 0x1119 }
16 = Package (0x06) { 2128, 85327, 10, 10, 0x1017, 0x1017 }
15 = Package (0x06) { 1995, 78221, 10, 10, 0xF16, 0xF16 }
14 = Package (0x06) { 1862, 71352, 10, 10, 0xE14, 0xE14 }
13 = Package (0x06) { 1729, 64719, 10, 10, 0xD13, 0xD13 }
12 = Package (0x06) { 1596, 58322, 10, 10, 0xC11, 0xC11 }
--------------------------------------------------------------


Ricapitolando ora ho 11 P-State in prova da 12x a 22x.

Le utility da voi citate non funzionano su questa piastra Voodoomonitor mi va in panic e i-mark anche

Mi baso "SOLO" su P-State changer ma anche qui qualcosa non mi quadra...


Non dovrei avere dei valori in mV(Tra il clock MHZ e il FID)???
Altra cosa ho provato a fare uno score con geekbench e nn ho notato nessuna differenza sostanziale..rimango su valori di 9000(score).

Fabio

#19
RASONE

RASONE

    VT POWER CREW

  • Members
  • PipPipPipPipPipPipPip
  • 997 posts
  • Gender:Male
  • Location:Roma / Porvoo
  • Interests:OLD SCHOOL TECHNO!
finalmente sto capendo il DSDT in generale, ma lo speedstep mi sta mandando al manicomio, neanche inserendo i valori dei voltaggi cambia la situazione, praticamente lo speedstep mi funziona solo per i primi 2 core, gli altri due rimangono fissi a 1602MHz, ho provato un'altro metodo ma mi da un errore, una graffa, e non riesco a capire perchè è un errore, a me sembra tutto corretto, stanotte voglio riprovare, speriamo bene!

se avete idea del perchè funziona solo su due core, fatemi sapere, sicuramente nella mia niubbagine dimentico qualcosa!

#20
Smith@@™

Smith@@™

    InsanelyMac LOL

  • Retired
  • 2,928 posts
  • Gender:Male
  • Location:Somewhere over the rainbow...ITALIA!
  • Interests:Dark matter and dark energy. E basta. HD3000. E basta.

finalmente sto capendo il DSDT in generale, ma lo speedstep mi sta mandando al manicomio, neanche inserendo i valori dei voltaggi cambia la situazione, praticamente lo speedstep mi funziona solo per i primi 2 core, gli altri due rimangono fissi a 1602MHz, ho provato un'altro metodo ma mi da un errore, una graffa, e non riesco a capire perchè è un errore, a me sembra tutto corretto, stanotte voglio riprovare, speriamo bene!

se avete idea del perchè funziona solo su due core, fatemi sapere, sicuramente nella mia niubbagine dimentico qualcosa!



Ma nel codice hai inserito nell'ultima parte gli alias per gli altri 2 core? Postai il tuo dsdt e il codice che hai utilizzato in un file di testo...





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   Web hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy