Jump to content
309 posts in this topic

Recommended Posts

Salve, dopo varie prove e dopo aver quasi perso le speranze sono riuscito a sistemare il boot di SnowLeopard con ChameleonRC4+PCIEFI10.5 utilizzando il DSDT e modificandolo in base alle mie esigenze...

 

Il problema era che dopo aver fatto tutti gli hack possibili e dopo avere rimosso i kext inutili da /extra/Extensions, continuavo ad avere problemi perchè il sistema continuava a caricare i kext che avevo eliminato. Questi venivano caricati dalla partizione EFI che mi era proprio sfuggita...

 

I kext adesso presenti in /Extra/Extensions sono solo 2: Fakesmc.kext e PlatformUUID.kext

Mentre in /System/Library/Extensions c'ho aggiunto solo VoodooHDA.kext per l'audio.

 

Ora il problema che mi rimane da sistemare è il seguente e spero mi possiate aiutare perchè non sono molto pratico del DSDT visto che mi sono avvicinato da pochissimo e pur avendo letto le varie guide per lo speedstep non c'ho ancora messo mano per non fare danni, quindi speravo in un vostro aiuto...:

 

Sleep non funzionante ( se clicco su STOP lo schermo si spegne ma il PC rimane acceso)

Spegnimento non funzionante (come sopra)

Temperature rilevate da HardwareMonitor sballate di 10°C circa( nel bios dice 28 mentre HardwareMonitor dice 38 )

P-State vari....

 

la mia configurazione sta in firma, però vi comunico le impostazioni del bios + importanti:

CPU Overcloccata -> FSB=450MHz, Molty=8,5x, PCIE=101MHz, DDR2=1081MHz, per un totale di 3,84GHz

CPU SpreadSpectrum e PCI SpreadSpectrum: DISABILITATI

MAXCPU ID - CPU TM: DISABILITATI

C1E - Vanderpool - ExecuteDisableBit: ABILITATI

 

Allego il DSDT

 

Grazie.

dsdt.zip

Allego il DSDT

 

Grazie.

 

allora in teoria adesso ti viene caricato l' LPC e la gestione temperature è vanilla, lo dovresti vedere nel kernel.log in /Applicazioni/Utility/Console.app

ci dev'essere la linea

AppleIntelCPUPowerManagementClient: ready

 

se fin qui ci siamo con MSR Tools (mi sembra lo trovi nei post di questa discussione) vedi un po la situazione dello speedstep che in teoria non è funzionante ancora.

 

Per sapere quanti valori inserire nel dsdt per i P-State devi installare PStateChanger e il suo voodooPstate.kext

 

Riavviando avvi PStatechanger e vedi quanti P-State ti da. Dopodiché va cancellato il .kext e la cache per eliminarlo.

 

PStateCalculator trovi i valori da mettere nel DSDT

 

Usa questa mod che sembra dare meno problemi:

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)
	}
}

 

Questa parte è quella da modificare coni valori di PStatecalculator

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 }
		})

 

Fa attenzione che la parte sinistra di PStateCalculator devi compilarla con i valori della tua CPU per avere i calcoli giusti mentre a destra cambi il moltiplicatore per ogni p-state, puoi risalire alle info che non sai sul sito intel o nel bios.

 

 

 

-------------------

 

Per tutti:

Volevo segnalarvi questo topic, molto interessante che porta sulla strada per "Revolution" :angry:

Volevo segnalarvi questo topic, molto interessante che porta sulla strada per "Revolution" ;)

 

L'approccio e' molto buono.

 

Premessa: con frequenza di processore e ram a default, senza nessuna disabilitazione in bios di lan e quant'altro, anzi con 2 lan integrate piu' una airport, il mio verbose, ora, a sistema completamente sporco e con vmware installato, termina in 12 secondi esatti dal suo avvio (cronometrati). Gli ultimi 4 secondi sono totalmente presi da vmware (penso che lo togliero' e passero' a parallel);

 

Sull' Appleintelcpu etcetc ci passa e prosegue all'istante, cosi' pure sul waiting for dsmod; e' un dolce continuo (a parte la macchina virtuale).

 

Dalle prove fatte da me nei giorni precedenti su bios e affini, caricando lo stesso dsdt che si ha in extra direttamente nel bios, NON si ha nessun vantaggio. Lo si avrebbe penso iniettando un dsdt praticamente "vuoto".

 

Piacevole la parte in cui si rimuove dal codice del boot hpet e suoi affini.

Patchato in tal modo il boot di asere (provato su questo, in quanto molti fix li ritengo necessari).

Rimosso dsdt da extra, i 2 irq li iniettai direttamente nel dsdt del bios, e il boot patchato in questo modo in effetti funziona (senza dsdt da Extra, o meglio se lo lascio con il device hpet commentato, mi da' kernel panic e quanto e' ovvio, non trova hpet visto che carica questa seconda tabella, se elimino dsdt da Extra, non ho kernel panic in quanto carica l'hpet con i 2 irq da bios;) )

Nessun sostanziale miglioramento. Nessun rallentamento nel verbose cosi' come in precedenza.

 

Ripeto che ho bisogno del supporto ai sistemi windows, e chi ha letto le prove fatte da me ieri (se non ricordo male), capisce di cosa sto parlando.

 

Revolution, io penso, sara' un ottimo boot SOLO con dsdt "vuoto" iniettato direttamente nel bios con i pro e i contro che gia' ben conosco/conoscete.

E poco senso ha per chi ha gia' un verbose lineare e altamente scorrevole. Per la mia configurazione posso vedere solo "contro" ad utilizzarlo, in quanto, tralasciando il codice che direttamente iniettiamo in bios, avrei (spero) comunque un verbose veloce, ma ciao ciao a windows e compagnia cantata e ciao ciao anche a tutti i fix dei nuovi boot.

 

Ho provato e iniettato diverse e forse troppe tabelle dsdt in bios, con le piu' disparate modifiche e mai ho visto dei sostanziali miglioramenti. Il boot il pc lo fa sempre, non e' quello il problema, ma e' capire se davvero ne vale la pena.

Ammesso che non si utilizza windows sulla macchina in questione: l'iniezione, dello stesso dsdt che utilizzo in extra, direttamente nel bios NON porta nessun vantaggio di velocita',SE non quello di non dover mai piu' caricare un dsdt esterno, ma ne ho gia' scritto nell'altro topic e non voglio ripetermi.

Ammessa la prima e ammesso anche che utilizzi un dsdt "leggero" e lo inietti nel bios, allora revolution, con il resto nella seconda tabella, avrebbe anche senso, ma per cosa, per "qualche" secondo in piu' al boot? E' gia' veloce imho. A scapito sempre di un futuro possibile supporto a un sistema windows? E le migliorie apportate dai nuovi boot?

 

Io, davvero, contrariamente dagli inizi del progetto, non riesco a vederne oggettivamente grossi vantaggi. E iniettare ora qualsiasi cosa nel bios e' diventata una baggianata, si potrebbe giocare all'infinito. MA DAVVERO I VANTAGGI DI REVOLUTION QUALI SONO, TANGIBILI, PER CHI HA GIA' UN VELOCE VERBOSE?

 

Ciao

 

Ps scrax, quel pannello di rekursor e' una vera bomba, fortuna che c'e' l'iniezione dei dischi, se no sarei nella m@@@a :D

 

Pss scrax secondo te quando esce l'rc5 di cham? e che novita' apporteranno? Oggettivamente ritengo l'ultimo boot di asere un MUST, semplicemente superlativo...

:)

Pss scrax secondo te quando esce l'rc5 di cham? e che novita' apporteranno? Oggettivamente ritengo l'ultimo boot di asere un MUST, semplicemente superlativo...

;)

Per il discorso revolution finora ho 4-5 giri in meno rispetto a prima ma non costanti fra gli avvii.

Io credo che il tuo boot veloce sia dovuto al raid principalmente, quindi altre migliorie saranno poco evidenti. Probabilmente con degli avvii lenti fare certe modifiche diventa più sostanziale...

 

L' RC5 l' ho provata e va, è basata sulle modifche di Asere ma con alcune aggiunte più di rdine di codice e snellimento dello stesso. Se il boot di Asere ti gasa la RC5 ne è un miglioramento, non so se integreranno anche le ultime aggiunte di Pradeesh che ha intergato le schede grafiche intel nel Graphic enabler, a quanto ho capito stan facendo gli ultimi test prima di rilasciarla.

 

Se hai installato i developert tool è un secondo compilarla:

svn co http://forge.voodooprojects.org/svn/chameleon

ti scarica i sorgenti in /Utenti/smith@@/chameleon/

poi

cd /Users/smith@@/chameleon/trunk; make clean; make > log.txt

ti mette la cartella i386 compilata in /Utenti/smith@@/chameleon/trunk/sym

 

ovviamente con il nome utente che usi :)

Ora lo provo e ti lascio un feedback;)

 

Edit: riavvio...

 

changelog:

 

- Kept SystemID as the only option to change manually the system-id

2 For theses reasons, SystemId from bootConfig and SMUUID from smbiosConfig aer now DEPRECATED.

3

4 - Integrated JrCs fadt patch (kept for RC5 the existing DSDT.aml retry algo that disapeared in his patch, should be more discussed for RC6)

5 - Added JrCs modified convention name change to coding_standards

6 - Now malloc (ex. MALLOC in Asere patch) is renamed malloc(size) and is an alias

7 to safe_malloc(size, file, line) with _FILE_ and _LINE_ prerocessor definitions

8 - Added a new 'Rename Partition Feature', now permitting to rename partition

9 like 'System reserved' to a more meaningful name

10 - Added SystemID option permitting to change the System UUID to a fixed value.

11 - Added the PciRoot autodetection feature imported from pcefi10.5

12 - Added automatic "system-id" injection from dmi bios, also compatible

13 with SystemID boot option and former SMUUID from smbios,plist

14 - Added "system-type' automatic injection (1=Desktop) plus override possibility

15 with the new system-type option in bootConfig

16 - Added SMserial and SMproductname new options for smbios.plist

17 - Merged with asere patch, while keeping my fake_efi.c changes, and adding a new

18 stringForKey() API, also changed the DT__XXXX() set of functions

19 to handle const char * values instead of char*.

Disastro. Viene letto il pci root a 1 come default? Reimpostandolo a 0 nel com.apple, funziona, ma nessuna sostanziale miglioria. Tecnicamente viene visto ancora come rc4..

 

A te risulta qualcosa riguardo il pci root?

Disastro. Viene letto il pci root a 1 come default? Reimpostandolo a 0 nel com.apple, funziona, ma nessuna sostanziale miglioria. Tecnicamente viene visto ancora come rc4..

 

A te risulta qualcosa riguardo il pci root?

Niente migliorie sostanziali, quelle di Asere in pratica, ma almeno così si può andare avanti con il suo lavoro...

Io mi sa che cel'avevo già impostato a 0 anche se non servirebbe con la RC4, mi pare di averlo messo con Lizard per provare a mai più tolto.

Io credo che il tuo boot veloce sia dovuto al raid principalmente, quindi altre migliorie saranno poco evidenti.

 

Si' e no. In quanto sull'altro Snow, su singolo disco, ho praticamente lo stesso verbose. Conta che e' pur sempre un raid via software;)

 

Niente migliorie sostanziali, quelle di Asere in pratica, ma almeno cos“ si può andare avanti con il suo lavoro...

Io mi sa che cel'avevo già impostato a 0 anche se non servirebbe con la RC4, mi pare di averlo messo con Lizard per provare a mai più tolto.

 

 

Riedit: ora dal terzo riavvio non va neanche col pciroot a 0 impostato nel com. "Perdo" comletamente tutto. Non viene caricato nulla. Arrivato sulla scrivania si ha la sensazione non solo di avere il pciroot sbagliato :)

 

Inizia bene l'rc5... Secondo te cosa puo' essere?

 

Niente migliorie sostanziali, quelle di Asere in pratica, ma almeno cos“ si può andare avanti con il suo lavoro...

 

D'accordissimo

Riedit: ora dal terzo riavvio non va neanche col pciroot a 0 impostato nel com. "Perdo" comletamente tutto. Non viene caricato nulla. Arrivato sulla scrivania si ha la sensazione non solo di avere il pciroot sbagliato :D

 

Inizia bene l'rc5... Secondo te cosa puo' essere?

 

Non saprei proprio... speriamo bene...

allora in teoria adesso ti viene caricato l' LPC e la gestione temperature è vanilla, lo dovresti vedere nel kernel.log in /Applicazioni/Utility/Console.app

ci dev'essere la linea

AppleIntelCPUPowerManagementClient: ready

 

se fin qui ci siamo con MSR Tools (mi sembra lo trovi nei post di questa discussione) vedi un po la situazione dello speedstep che in teoria non è funzionante ancora.

 

Fa attenzione che la parte sinistra di PStateCalculator devi compilarla con i valori della tua CPU per avere i calcoli giusti mentre a destra cambi il moltiplicatore per ogni p-state, puoi risalire alle info che non sai sul sito intel o nel bios.

 

Ho controllato nel file kernel.log e oltre alla stringa da te citata ho trovato anche queste:

ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed

FakeSMC: key not found BEMB, length - 1

ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed

ACPI_SMC_PlatformPlugin::registerLPCDriver - WARNING - LPC device initialization failed: C-state power management not initialized

 

che significano?

 

MSR Tools non mi funziona, sarà che il sistema operativo gira a 64bit? si avvia il programma, mi chiede la password ma non visualizza nulla, tutto grigio...

 

Allego le schermate di PStateChanger e di VoodooMonitor

post-31099-1264702958_thumb.jpg

post-31099-1264702963_thumb.jpg

post-31099-1264702971_thumb.jpg

post-31099-1264702976_thumb.jpg

post-31099-1264702986_thumb.jpg

Non saprei proprio... speriamo bene...

 

 

Il problema era la path del dsdt nel com.apple, nell'ultima prerc5 e' stato fixato. Sono ancora abbastanza lontani dalla "bonta'" del boot di asere, ma se quest'ultimo rilasciasse il codice sarebbe meglio per l'intera comunita';)

che significano?

Che non va lo speedstep, ma adesso lo sitemiamo...

MSR Tools non mi funziona, sarà che il sistema operativo gira a 64bit? si avvia il programma, mi chiede la password ma non visualizza nulla, tutto grigio...

può darsi, prova a 32, comunque i valori per la tua CPU son questi (hai 6 P-state):

Name (_PSS, Package (0x06)
		{
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4826, Zero },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x803, One },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4720, 0x02 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x71D, 0x03 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x461A, 0x04 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x617, 0x05 }
		})

Dopo aver modificato il codice con questi valori, disinstalla PStateChanger e al riavvio non dovresti più avere gli erori relativi ai c-state e lo speedstep funzionante.

 

Il problema era la path del dsdt nel com.apple, nell'ultima prerc5 e' stato fixato. Sono ancora abbastanza lontani dalla "bonta'" del boot di asere, ma se quest'ultimo rilasciasse il codice sarebbe meglio per l'intera comunita':)

 

eh sì, ho visto, speriamo bene.. :)

Che non va lo speedstep, ma adesso lo sitemiamo...

 

può darsi, prova a 32, comunque i valori per la tua CPU son questi (hai 6 P-state):

Name (_PSS, Package (0x06)
		{
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4826, Zero },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x803, One },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4720, 0x02 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x71D, 0x03 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x461A, 0x04 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x617, 0x05 }
		})

Dopo aver modificato il codice con questi valori, disinstalla PStateChanger e al riavvio non dovresti più avere gli erori relativi ai c-state e lo speedstep funzionante.

 

Quindi questi valori gli hai elaborati in base all'overclock che ho??? io ho provato con pstatecalculator ma nn riesco ad ottenerli uguali...

 

Cmq se dici che quelli che mi hai dato sn calcolati per la cpu da default a overclock mi fido e li installo...a proposito, quale parte devo sostituire nel dsdt generale?

Quindi questi valori gli hai elaborati in base all'overclock che ho??? io ho provato con pstatecalculator ma nn riesco ad ottenerli uguali...

 

Cmq se dici che quelli che mi hai dato sn calcolati per la cpu da default a overclock mi fido e li installo...a proposito, quale parte devo sostituire nel dsdt generale?

 

Sono gli stessi che ti dava PStatechanger e credo cmprendano OC dato cha van da 2700MHz a 3825MHz <_<

 

Io sto impazzendo con questo speedstep, voodoomonitor mi da 12 pstate, pstate changer me ne da 7, non ho idea di chi mi debba fidare, oltretutto anche le frequenze sono (anche se di poco) differenti.

 

Probabilmente la tua CPU ne supporta 12 se con voodoomonitor ti funziona però voodoomonitor non mostra i valori FID e VID che sono quelli che ci servono e ci mostra i valori che ci interessano il campo "control" mentre PState calculator non fa i calcoli con frazioni al moltiplicatore quindi non possiamo calcolarci i valori per p-state con moltiplicatore a 7,5 ad es.

C'è da dire che se la tua CPU supporta tot p-state non sei obbligato a metterli tutti, puoi anche accontentarti di averne meno.

 

Comunque eccoti i valori che t'interessano ottenuti copiando il campo control al posto del pen'ultimo valore del package:

Name (_PSS, Package (0x06)
		{
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4925, Zero },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x924, One },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4823, 0x02 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x822, 0x03 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4721, 0x04 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x720, 0x05 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x461F, 0x06 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x61E, 0x07 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x8A1D, 0x08 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x881B, 0x09 },
			Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x8619, 0x0A }
		})

 

...a proposito, quale parte devo sostituire nel dsdt generale?

 

Tutto gli Scope (_PR) che hai all'inizio ne hai 4.

 

La parte rossa nell'esempio qui sotto (considera che ho cancellato un po di codice dove dice BLA... BLA...):

    Store (Buffer (One)
           {
               0x00
           }, Arg4)
       Return (Zero)
   }

   [color="#FF0000"]Scope (_PR)
   {
       Processor (CPU1, 0x01, 0x00000810, 0x06)
       {
           BLA... BLA...
       }
   }

   Scope (_PR)
   {
       Processor (CPU2, 0x02, 0x00000810, 0x06)
       {
           BLA... BLA...
       }
   }

   Scope (_PR)
   {
       Processor (CPU3, 0x03, 0x00000810, 0x06)
       {
           BLA... BLA....
       }
   }

   Scope (_PR)
   {
       Processor (CPU4, 0x04, 0x00000810, 0x06)
       {
           BLA... BLA...
       }
   }[/color]

   Name (DP80, 0x80)
   Name (DP9

Grazie, ma ho 2 domande

 

1. al posto di { Zero, Zero, 0x0A, 0x0A devo inserire i valori o vanno bene così?

 

2. vorrei sapere come si modificano i dati di pstate calculator

In CPU characteristic

Core Clock (MHz): ci va il clock che restituisce VoodooMonitor nella colonna Frequency?

Core Voltage (V): ci va il voltaggio che restituisce VoodooMonitor nella colonna Voltage?

Power Dissipation (W): qui cosa ci va? il valore che ricavo dal sito della intel alla voce Max TDP e cioè 35 (nel mio caso)?

 

In P-State parameters

Bus Speed (Mhz): ci va il bus che ricavo da VoodooMonitor nel tab Information? (nel mio caso 266)

Core Multiplier: ci va il valore che ricavo da VoodooMonitor nella colonna Multiplier?

Core Clock (MHz): non ne ho idea

Core Voltage (mV): non ne ho idea

Grazie, ma ho 2 domande

 

1. al posto di { Zero, Zero, 0x0A, 0x0A devo inserire i valori o vanno bene così?

 

2. vorrei sapere come si modificano i dati di pstate calculator

In CPU characteristic

Core Clock (MHz): ci va il clock che restituisce VoodooMonitor nella colonna Frequency?

Core Voltage (V): ci va il voltaggio che restituisce VoodooMonitor nella colonna Voltage?

): qui cosa ci va? il valore che ricavo dal sito della intel e cioè 35 (nel mio caso)?

 

In P-State parameters

: ci va il bus che ricavo da VoodooMonitor nel tab Information? (nel mio caso 266)

Core Multiplier: ci va il valore che ricavo da VoodooMonitor nella colonna Multiplier?

Core Clock (MHz): non ne ho idea

Core Voltage (mV): non ne ho idea

 

1. La stringa che ti dà P-State è quella standard, ma Osx non ha bisogno di tutti quei dati a noi basta dargli i valori di FID e VID (frequenza e voltaggio di ogni stato) poi il resto selo calcola da solo quindi usando Zero,Zero ecc. hai un dsdt un po' più veloce perchè non inietta valori inutili...

 

2.

Core clock(MHz): 2537

dalla pagina Intel del tuo processore: Processor Base Frequency 2.53 GHz da cui 2530MHz ma da Voodoomonitor vedo che in realtà è a 2537 siccome il dstasheet è arrotondato ai GHz teniamo quella di voodoo...

Core Voltage (V): 1.106

da Intel: VID Voltage Range 1.050V-1.162V qui io ho messo una media tra il valor max e minimo

Power Dissipation (W): 35

da intel: Max TDP 35 W

 

Bus Speed (Mhz): 266

da voodoomonitor: Bus clock: 266 MHz

 

Fin qui sono i valori generici per la tua CPU ora:

 

Core Multiplier: è il valore del moltiplicatore, ed'è quello che cambiamo per ogni P-state. Puoi partire farne solo 6 per la tua CPU non avendo la possibilità di calcolate moltiplicatori frazionari come 7,5 ad es.

Parti da 3 poi 4 poi 5 ecc fino a 9

 

I due campi sucessivi servono solo per farti vedere come cambieranno quei valori usando quel moltiplicatore. Ogni volta che lo cambi la stringa che ti risulta è quella di quel P-State

 

ad es per il moltiplicatore 3:

post-464373-1264783211_thumb.png

 

Per il 4:

post-464373-1264783211_thumb.png

post-464373-1264783259_thumb.png

Ho sostituito i 2 Scope con questo codice ma quando compilo mi restituisce 3 errori

Scope (_PR)
   {
       Processor (CPU1, 0x01, 0x00000810, 0x06)
       {
           Name (_PSS, Package (0x06)
           {
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4925, Zero },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x924, One },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4823, 0x02 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x822, 0x03 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4721, 0x04 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x720, 0x05 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x461F, 0x06 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x61E, 0x07 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x8A1D, 0x08 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x881B, 0x09 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x8619, 0x0A }
           })

           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._CST, _CST)
       }

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

       Processor (CPU4, 0x04, 0x00000810, 0x06)
       {
           Alias (^CPU1._PSS, _PSS)
           Alias (^CPU1._CST, _CST)
       }
   }

   Method (WDTS, 1, NotSerialized)
   {
       If (LEqual (Arg0, 0x03))
       {
           TRAP (0x46)
       }

       If (LEqual (Arg0, 0x04))
       {
           If (DTSE)
           {
               TRAP (0x47)
           }

           Notify (\_TZ.THRM, 0x80)
       }
   }

 

Mi restituisce questi errori

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright © 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

/Users/xxander/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl	29:	 Method (WDTS, 1, NotSerialized)
Error	4096 -					 syntax error, unexpected PARSEOP_METHOD ^ 

/Users/xxander/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl	43:			 Notify (\_TZ.THRM, 0x80)
Error	4064 -					 Object does not exist ^  (\_TZ.THRM)

/Users/xxander/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl	45:	 })
Error	4096 -					syntax error, unexpected '}', expecting $end ^ 

ASL Input:  /Users/xxander/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 13941 lines, 403973 bytes, 11 keywords
Compilation complete. 3 Errors, 0 Warnings, 0 Remarks, 0 Optimizations

 

Allego pure il file dsdt.dsl

dsdt.zip

Scope (_PR)
   {
       Processor (CPU1, 0x01, 0x00000810, 0x06)
       {
           Name (_PSS, Package (0x06)
           {
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4925, Zero },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x924, One },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4823, 0x02 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x822, 0x03 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x4721, 0x04 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x720, 0x05 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x461F, 0x06 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x61E, 0x07 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x8A1D, 0x08 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x881B, 0x09 },
               Package (0x06) { Zero, Zero, 0x0A, 0x0A, 0x8619, 0x0A }
           })

           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._CST, _CST)
       }

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

       Processor (CPU4, 0x04, 0x00000810, 0x06)
       {
           Alias (^CPU1._PSS, _PSS)
           Alias (^CPU1._CST, _CST)
       }
   }

   [color="#FF0000"]Method (WDTS, 1, NotSerialized)
   {
       If (LEqual (Arg0, 0x03))
       {
           TRAP (0x46)
       }

       If (LEqual (Arg0, 0x04))
       {
           If (DTSE)
           {
               TRAP (0x47)
           }

           Notify (\_TZ.THRM, 0x80)
       }
   }[/color]

cancella la parte rossa è in più.

   [color="#FF0000"]Method (WDTS, 1, NotSerialized)
   {
       If (LEqual (Arg0, 0x03))
       {
           TRAP (0x46)
       }

       If (LEqual (Arg0, 0x04))
       {
           If (DTSE)
           {
               TRAP (0x47)
           }

           Notify (\_TZ.THRM, 0x80)
       }
   }[/color]

cancella la parte rossa è in più.

Effettivamente quella parte già c'era nel DSDT, però anche non mettendola mi da gli stessi errori, se tolgo anche quella che già c'è, ne restituisce ancora di più :)

ho sostituito tutti li scope con quello unico ma la compilazione non va.

questo è quello che esce:

 

Error	4063 - Invalid characters found in file /Users/NeXtorSystem/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl


Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

Non-ASCII character [0xCA] found in line 54, file offset 0x1159
Non-ASCII character [0xCA] found in line 54, file offset 0x115A
Non-ASCII character [0xCA] found in line 54, file offset 0x115B
3 non-ASCII characters found in input source text, could be a binary file

 

in allegato il dsdt.dsl con lo Scope nuovo

dsdt.zip

ho sostituito tutti li scope con quello unico ma la compilazione non va.

questo è quello che esce:

 

Error	4063 - Invalid characters found in file /Users/NeXtorSystem/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl


Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

Non-ASCII character [0xCA] found in line 54, file offset 0x1159
Non-ASCII character [0xCA] found in line 54, file offset 0x115A
Non-ASCII character [0xCA] found in line 54, file offset 0x115B
3 non-ASCII characters found in input source text, could be a binary file

 

in allegato il dsdt.dsl con lo Scope nuovo

 

Compilato ed installato.

Domattina per la prova...

ho sostituito tutti li scope con quello unico ma la compilazione non va.

cancella:

ÊÊÊ

 

 

Effettivamente quella parte già c'era nel DSDT, però anche non mettendola mi da gli stessi errori, se tolgo anche quella che già c'è, ne restituisce ancora di più :thumbsup_anim:

Sistemato:

dsdt.dsl.zip ;)

cancella:

ÊÊÊ

 

Non me li faceva vedere il programma quei 3 caratteri, cmq poi come ho detto ieri sera tardi sn riuscito a compilare, ora ho acceso il pc ed è partito perfettamente attivando tutto.

 

Mi rimane da provare lo sleep per vedere se funziona.

 

EDIT: Sleep (Stop) non funzionante. Il monitor si spegne ma il pc rimane acceso.

×
×
  • Create New...