Jump to content

[info] DSDT A PEZZI


scrax
 Share

176 posts in this topic

Recommended Posts

ci sto.. più che altro visto è considerato che non si può fare un sistema di topic articolato, lascerei a te la creazione del nuovo topic in modo tale da avere dei link che terrai aggiornato (finchè vorrai/potrai) e così nel topic stesso avere man mano post univoci che sono uno per uno le cose da sapere. sul primo post appunto un indice che punta ei post del tuo stesso topic. una specie di topic ricorsivo su se stesso. così anzichè dover leggere tutte le n pagine, si legge sempre e solo la prima e poi si linka sulla bisogna.

 

con una sezione non sui contenuti ma come dici te sul modo di operare (comandi, sintassi etc..)

 

 

 

ah .. visto e considerato che non è possibile e non ha senso iniziare a lavorare singolarmente su singole motherboard (anche perchè c'è già un sito che lo fa) forse ha più senso lavorare come dice smith su questo per il lungo dibattere e rimpinguare invece di informazioni l'altro!

 

però occorre che qualcuno, da fuori, ci aiuti a capire l'annoso dilemma. snow cosa fa col dsdt?

Link to comment
Share on other sites

Ciao a tutti.

Sono alle prese con la sintetizzazone del mio DSDT (stripping)

 

e per la precisione nella parte del _CST

Alcune info

/*

* C0 is the active state in which everything is running at full capacity.

* C1 has the core clock turned off, as well as a slightly reduced core voltage.

* However the motherboard power lines are kept alive and the data cache is kept intact.

* This means that the performance isn't compromised and the wake-up time is extremely fast

* - the C1E state is what currently features on all Core 2 CPUs.

* C3 has the same core voltage drop as the C1 state,

* but now turns off the PLLs and flushes the L1 and L2 cache, switching it off and losing the data.

* The consequence of turning more off is a longer wake-up time,

* but Intel's chart shows not a huge drop in idle power, unlike C0 to C1.

* C6 the final power down state, is an almost complete shutdown of the CPU.

* There is a significant drop in core voltage and everything is now switched off except the L3 cache.

* The obvious downside to this state is that the resume time will be greater,

* but the power saving is huge.

*/

Gli i7 hanno 4 C-State C0, C1, C3 e C6

alcuni "richiami"

		Name (CFGD, 0x00200472)
	  Name (NCPU, 0x08)
	  Name (NPCP, One)
	  Name (PDC0, 0x80000000)
	  Name (TBL0, Zero)
	  Name (CTB0, Zero)
	  Name (TTB0, Zero)
	  Name (PSTE, Zero)
	  Name (TSTE, Zero)

 

E qui sotto il codice che vorrei sintetizzare:

[size=1]            Method (_CST, 0, NotSerialized)
           {
               If (LAnd (LGreater (NCPU, One), LNot (And (PDC0, 0x10))))
               {
                   Return (Package (0x02)
                   {
                       One, 
                       Package (0x04)
                       {
                           ResourceTemplate ()
                           {
                               Register (FFixedHW, 
                                   0x00,               // Bit Width
                                   0x00,               // Bit Offset
                                   0x0000000000000000, // Address
                                   ,)
                           }, 

                           One, 
                           0x9D, 
                           0x03E8
                       }
                   })
               }

               If (LAnd (And (CFGD, 0x00200000), And (PDC0, 0x0200)))
               {
                   If (And (CFGD, 0x80))
                   {
                       Return (Package (0x05)
                       {
                           0x04, 
                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000000, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               One, 
                               One, 
                               0x03E8
                           }, 

                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000010, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               0x02, 
                               0x11, 
                               0x01F4
                           }, 

                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000020, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               0x03, 
                               0x11, 
                               0x015E
                           }, 

                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000030, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               0x03, 
                               0x11, 
                               0xC8
                           }
                       })
                   }

                   If (LAnd (LNot (And (CFGD, 0x80)), And (CFGD, 0x40
                       )))
                   {
                       Return (Package (0x04)
                       {
                           0x03, 
                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000000, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               One, 
                               One, 
                               0x03E8
                           }, 

                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000010, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               0x02, 
                               0x11, 
                               0x01F4
                           }, 

                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000020, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               0x03, 
                               0x11, 
                               0x015E
                           }
                       })
                   }

                   If (And (CFGD, 0x20))
                   {
                       Return (Package (0x03)
                       {
                           0x02, 
                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000000, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               One, 
                               One, 
                               0x03E8
                           }, 

                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x01,               // Bit Width
                                       0x02,               // Bit Offset
                                       0x0000000000000010, // Address
                                       0x01,               // Access Size
                                       )
                               }, 

                               0x02, 
                               0x11, 
                               0x01F4
                           }
                       })
                   }

                   Return (Package (0x02)
                   {
                       One, 
                       Package (0x04)
                       {
                           ResourceTemplate ()
                           {
                               Register (FFixedHW, 
                                   0x01,               // Bit Width
                                   0x02,               // Bit Offset
                                   0x0000000000000000, // Address
                                   0x01,               // Access Size
                                   )
                           }, 

                           One, 
                           One, 
                           0x03E8
                       }
                   })
               }

               If (And (CFGD, 0x00200000))
               {
                   If (And (CFGD, 0x80))
                   {
                       Return (Package (0x05)
                       {
                           0x04, 
                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x00,               // Bit Width
                                       0x00,               // Bit Offset
                                       0x0000000000000000, // Address
                                       ,)
                               }, 

                               One, 
                               0x20, 
                               0x03E8
                           }, 

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

                               0x02, 
                               0x60, 
                               0x01F4
                           }, 

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

                               0x03, 
                               0x80, 
                               0x015E
                           }, 

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

                               0x03, 
                               0xA0, 
                               0xC8
                           }
                       })
                   }

                   If (LAnd (LNot (And (CFGD, 0x80)), And (CFGD, 0x40
                       )))
                   {
                       Return (Package (0x04)
                       {
                           0x03, 
                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x00,               // Bit Width
                                       0x00,               // Bit Offset
                                       0x0000000000000000, // Address
                                       ,)
                               }, 

                               One, 
                               0x20, 
                               0x03E8
                           }, 

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

                               0x02, 
                               0x60, 
                               0x01F4
                           }, 

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

                               0x03, 
                               0x80, 
                               0x015E
                           }
                       })
                   }

                   If (And (CFGD, 0x20))
                   {
                       Return (Package (0x03)
                       {
                           0x02, 
                           Package (0x04)
                           {
                               ResourceTemplate ()
                               {
                                   Register (FFixedHW, 
                                       0x00,               // Bit Width
                                       0x00,               // Bit Offset
                                       0x0000000000000000, // Address
                                       ,)
                               }, 

                               One, 
                               0x20, 
                               0x03E8
                           }, 

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

                               0x02, 
                               0x60, 
                               0x01F4
                           }
                       })
                   }

                   Return (Package (0x02)
                   {
                       One, 
                       Package (0x04)
                       {
                           ResourceTemplate ()
                           {
                               Register (FFixedHW, 
                                   0x00,               // Bit Width
                                   0x00,               // Bit Offset
                                   0x0000000000000000, // Address
                                   ,)
                           }, 

                           One, 
                           One, 
                           0x03E8
                       }
                   })
               }

               Return (Package (0x02)
               {
                   One, 
                   Package (0x04)
                   {
                       ResourceTemplate ()
                       {
                           Register (FFixedHW, 
                               0x00,               // Bit Width
                               0x00,               // Bit Offset
                               0x0000000000000000, // Address
                               ,)
                       }, 

                       One, 
                       One, 
                       0x03E8
                   }
               })
           }[/size]

 

C'e' da diventare matti a sintetizzare anche solo questa parte... ovvero trasformarla in Name (CST, Package...

sono arrivato fino a qui. (ovvero poco e nulla)...

	   Name (CST, Package (0x04)
	  {
		  0x04,  // Number of C-State packages: 4 (C0, C1, C3 and C6).
		  Package (0x04)

 

Allego l'attuale DSDT che uso per il mio i7-940 c'e' molto che proviene dalle ricerche fatte da MC.

Ancora non ho implementato il Device EC e non ho ancora implementato la mod per lo stop

 

 

Guardando su questo trend ho notato che sulle Gigabyte usano 6 C-State???

In teoria non dovrebbero esserci differenze nella architettura... :)

Processor (\_PR.CPU0, 0x00, 0x00000410, 0x06)
{
Name (_CST, Package (0x07)
{
0x06,
Package (0x04)
{
ResourceTemplate ()

Fabio

Link to comment
Share on other sites

A vedere dal dsdt che stai usando e confrontando con quelli di MC secondo me ti basta uno di questi due, ti allego la parte dello scope ridotta (solo nel # linee non nel codice)

1

Name (CST, Package (0x04){0x03, 
               Package (0x04){ResourceTemplate (){Register (FFixedHW,0x00,0x00,0x0000000000000000,,)}, One,0x20,0x03E8},
        	Package (0x04){ResourceTemplate (){Register (SystemIO,0x08,0x00,0x0000000000000814,,)},0x02,0x60,0x01F4},
        	Package (0x04){ResourceTemplate (){Register (SystemIO,0x08,0x00,0x0000000000000815,,)},0x03,0x80,0x015E}
       })

2

Name (CST, Package (0x04){0x03, 
           Package (0x04){ResourceTemplate (){Register (FFixedHW,0x00,0x00,0x0000000000000000,,)}, One,0x20,0x03E8},
           Package (0x04){ResourceTemplate (){Register (SystemIO,0x08,0x00,0x0000000000000814,,)},0x02,0x60,0x01F4},
           Package (0x04){ResourceTemplate (){Register (SystemIO,0x08,0x00,0x0000000000000815,,)},0x03,0x80,0x015E},
           Package (0x04){ResourceTemplate (){Register (SystemIO,0x08,0x00,0x0000000000000816,,)},0x03,0xA0,0xC8}
     })

 

_CST_ridotto.zip

Link to comment
Share on other sites

Secondo me non hai tutti i torti però al tempo stesso questo post è ancora molto abbozzato e come guida è troppo sintetica a mio parere. Quindi per ora proverei a sfruttare questo topic come raccoglitore di idee e suggerimenti e contributi per realizzare la guida finale che intendi tu.

 

Per esempio il top che potremmo avere è un dsdt tutto commentato riga per riga dove si spiega a cosa serve quel pezzo di codice. Son d'accordo che la cosa è molto ardua ma il mio modo di pensare è "un Top2Bottom sul palazzo delle nazioni unite" (leggi puntare al massimo per avere almeno un minimo).

 

Bella storia...quoto al 100%!! ;)

 

Raga...mi accettate se faccio la parte di me stesso...cioè il Niubbo di buona volontà che cerca di dare delle indicazioni su cose che magari voi ritenete (giustamente) scontate?

 

Comincio subito: a mio parere si potrebbe partire con un pò di vocabolario seguito da un minimo di sintassi... attenzione però, NON intendo cose analitiche,ma solo di offrire gli strumenti che permettano agli interessati di cercare,approfondire e capire ciò che vogliono rivolgendosi direttamente alla Rete.

 

Grazie e scusate l'intromissione... ;)

Link to comment
Share on other sites

Giorgione...ho capito perche non tisi spegne la p5kpl-vm con il dsdt patchato!

va in conflitto con l'ottimizzazione HPET e RTC!

 

Se estrai il tuo e rimuovi solo i warnings, lo accetta e si spegne.......tanto per saperlo...senno tieni pure i warnings, tanto credo sia uguale, se tutto funziona bene;)

 

A me ho ha fatto da quando ho messo su un dualcore...col quad andava bene, con l'hpet e rtc patchati.

 

(se le mobo bootano senza bios moddati o necessita di dsdt.aml....è gia sintomo secondo me, che la tabella è piuttosto compatibile con OSX)

 

EDIT: confermo...senza le ottimizazioni per HPET e RTC funziona bene.....dopo metto il dsdt patchato sul mio Thread;)

Link to comment
Share on other sites

Quindi per partire con un dsdt modificato dovrei estrarre quello dal bios della mobo?

 

se tu estrai quello che hai nel tuo bios moddato per macosx, e lo metti nella cartella extra....puoi rimettere tranquillamente un bios scaricato dal sito asus;)

Link to comment
Share on other sites

Aggiunta al primo topic qualche informazione in più sul DSDT presa da debianizzati.org

Aggiungo anche questa parte interessante come esempio tenete conto che le modifiche fatte sono per Linux ma la maniera di affrontare i problemi è la stessa per ogni sistema operativo:

 

==Un esempio: la mia DSDT

Nel mio sistema (PC desktop, scheda madre Chaintech) ho da qualche tempo un problema con l'inizializzazione delle porte USB, tale che circa nel 40% dei casi (ma mai due volte di seguito) il PC si blocca durante il boot, e devo riavviare forzatamente.

Per cercare di risolvere la cosa ho analizzato la mia tabella DSDT. L'ho estratta, e quando ho provato a ricompilarla ho avuto il seguente output:

$ iasl -tc dsdt.dsl

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20060113 [Jan 22 2006]
Copyright (C) 2000 - 2006 Intel Corporation
Supports ACPI Specification Revision 3.0a

dsdt.dsl   290:	 Method (\_WAK, 1, NotSerialized)
Warning  2078 -				 ^ Reserved method must return a value (_WAK)

dsdt.dsl   318:			 Store (Local0, Local0)
Error	1048 -						 ^ Method local variable is not initialized (Local0)

dsdt.dsl   323:			 Store (Local0, Local0)
Error	1048 -						 ^ Method local variable is not initialized (Local0)

dsdt.dsl  2368:			 Store (Local0, Local0)
Error	1048 -						 ^ Method local variable is not initialized (Local0)

ASL Input:  dsdt.dsl - 4804 lines, 160190 bytes, 1781 keywords
Compilation complete. 3 Errors, 1 Warnings, 0 Remarks, 465 Optimizations

in sostanza, c'è un errore ripetuto identico tre volte (Error 1048), oltre ad un warning. Andiamo a vedere le sezioni incriminate. La prima è:

Scope (\_SI)
{
Method (_MSG, 1, NotSerialized)
{
	Store (Local0, Local0)
}
Method (_SST, 1, NotSerialized)
{
	Store (Local0, Local0)
}
}

Come si vede viene utilizzata due volte la variabile Local0, ma non viene mai dichiarata.

Vediamo di capire almeno un minimo il significato di questo pezzo di codice. La funzione Store è una funzione di assegnazione verso destra: alla variabile a destra viene assegnato il valore (o il valore della variabile) che si trova a sinistra.

In questo caso, però, è evidente che questa assegnazione è del tutto inutile, perché viene assegnato alla variabile Local0 il valore che ha già, quindi per correggere l'errore non faccio altro che cancellare l'istruzione commentandola:

Scope (\_SI)
{
Method (_MSG, 1, NotSerialized)
{
//		Store (Local0, Local0)
}
Method (_SST, 1, NotSerialized)
{
//		Store (Local0, Local0)
}
}

Come si vede i commenti sono marcati come in C.

Facendo questa correzione anche nelle altre posizioni segnalate vengono eliminati tutti gli errori, quindi passiamo al warning. Il codice è questo:

Method (\_WAK, 1, NotSerialized)
{
Store (0xFF, DBG1)
SALD (0x00)
SFAN (0xFF)
Notify (\_SB.PCI0.PX40.UAR1, 0x00)
If (OSFL)
{
	Notify (\_SB.PWRB, 0x02)
}
Else
{
	If (LEqual (RTCW, 0x00))
	{
		Notify (\_SB.PWRB, 0x02)
	}
}
Notify (\_SB.PCI0.USB0, 0x00)
Notify (\_SB.PCI0.USB1, 0x00)
Notify (\_SB.PCI0.USB2, 0x00)
Notify (\_SB.PCI0.USB3, 0x00)
}

Le ultime righe mi danno la prova che l'errore ha a che fare con le porte USB, come avevo già notato.

Cercando in rete scopro che il metodo \_WAK, che è una funzione utilizzata al risveglio da uno stato di risparmio energetico (o di spegnimento), deve restituire un valore, che indichi se l'operazione di risveglio è riuscita o meno.

Una possibile diagnosi del mio problema, a questo punto, è che in certi casi durante il boot viene richiamato questo metodo, e il sistema si blocca in attesa di un risultato, che però non viene mai restituito. (N.d.A.: la diagnosi è evidentemente sbagliata, perché il problema persiste ;))

Io non ho idea di come reperire, nel codice, l'informazione sull'esito dell'inizializzazione delle porte USB, quindi non mi è possibile correggere il codice in modo che assolva alla funzione per cui è stato scritto, ma posso usare un workaround, e fare in modo che restituisca comunque un esito positivo.

Per fare questo si trova (in rete), senza entrare nei dettagli, che è sufficiente aggiungere alla fine del metodo, subito prima dell'ultima parentesi graffa, la riga

Return(Package(0x02){0x00, 0x00})

Dopo le correzioni il codice viene ricompilato senza errori né warning ^_^

Ora però mi viene una curiosità, e mi metto a cercare nel codice la scritta "Microsoft". Questo è quello che ne viene fuori:

Method (\_SB.PCI0._INI, 0, NotSerialized)
{
If (STRC (\_OS, "Microsoft Windows"))
{
	Store (0x56, SMIP)
}
Else
{
	If (STRC (\_OS, "Microsoft Windows NT"))
{
	Store (0x58, SMIP)
	Store (0x00, OSFX)
	Store (0x00, OSFL)
}
Else
{
Store (0x57, SMIP)
Store (0x02, OSFX)
Store (0x02, OSFL)
}
}

Anche senza conoscere il linguaggio, il codice è facilmente interpretabile: "se il Sistema Operativo si chiama 'Microsoft Windows' assegna il valore (esadecimale) 0x56 alla variabile SMIP, se invece si chiama 'Microsoft Windows NT' assegna 0x58 alla variabile SMIP e zero alle variabili OSFX e OSFL; se il S.O. è diverso da quelli elencati assegna alle tre variabili, rispettivamente, 0x57, 0x02 e 0x02".

Per qualche motivo a me ignoto chi ha impostato questa DSDT ha fatto in modo di cambiare le funzionalità del sottosistema ACPI a seconda del S.O. che si usa. Poiché questo non mi rende particolarmente felice, ho modificato il codice in questo modo, eliminando di fatto il controllo:

Method (\_SB.PCI0._INI, 0, NotSerialized)
{
//	If (STRC (\_OS, "Microsoft Windows"))
//	{
//		Store (0x56, SMIP)
//	}
//	Else
//	{
//		If (STRC (\_OS, "Microsoft Windows NT"))
//	{
	Store (0x58, SMIP)
	Store (0x00, OSFX)
	Store (0x00, OSFL)
//	}
//	Else
//	{
//	Store (0x57, SMIP)
//	Store (0x02, OSFX)
//	Store (0x02, OSFL)
//	}
}

Ora il mio sistema funziona un pochino meglio :-)

Aggiornamento: ricontrollando il codice ho notato che le tre variabili SMIP, OSFX e OSFL vengono inizializzate altrove, e quindi, in sostanza, il presente codice è inutile (se non dannoso ;-)), quindi l'ho semplicemente eliminato.

 

Vorrei far notare che le correzioni che sono state fatte non sono delle vere correzioni, ma dei workaround: non ci si assicura che il codice faccia quel che deve fare, ma solo che non ci siano errori formali.

Purtroppo la correzione vera di questi errori è al di là delle nostre possibilità, perché richiede, oltre alla conoscenza del linguaggio di programmazione, una conoscenza approfondita di come si comporta il nostro hardware, e nella grande maggioranza dei casi queste informazioni sono tenute segrete.

Link to comment
Share on other sites

Purtroppo la correzione vera di questi errori è al di là delle nostre possibilità, perché richiede, oltre alla conoscenza del linguaggio di programmazione, una conoscenza approfondita di come si comporta il nostro hardware, e nella grande maggioranza dei casi queste informazioni sono tenute segrete.

 

Grazie Scrax,è sempre interessante leggerti.

 

Non mi è chiara questa conclusione...correggendo gli errori formali (quelli segnalati da IASL) qualcosa facciamo,oppure è una goccia in un mare di problematiche?

 

A questo proposito colgo l'occasione per chiederti se mi puoi dare un'occhiata qui Mio dsdt (l'ho rimesso zippato) per dirmi qual'è la sezione relativa alla RTL on Board, e se si può fare qualcosa per metterla farla funzionare sotto iDeneb 1.6.

Inoltre non ho trovato riscontri per gli errori 2047 e 2048.

 

Grazie ancora. :rolleyes:

 

Fabio

Link to comment
Share on other sites

Grazie Scrax,è sempre interessante leggerti.

 

Non mi è chiara questa conclusione...correggendo gli errori formali (quelli segnalati da IASL) qualcosa facciamo,oppure è una goccia in un mare di problematiche?

 

Fabio

Gi errori vanno risolti altrimenti non si può compilare, ma i warnings, i remarks e le ottimizzazioni sono trascurabili. Ora gli do un'occhio ma bisogna vedere con lscpi dov'è connessa. Puoi usare EvOsxTools per vedere i risultati di lspci.

 

Ad una prima occhiata non ti capita che ti resetta il bios ad ogni riavvio con quel dsdt?

Link to comment
Share on other sites

Ad una prima occhiata non ti capita che ti resetta il bios ad ogni riavvio con quel dsdt?

 

Grazie intanto. No il bios non mi si resetta,l'unica anomalia,ma non so se dipenda dall'orario del Bios,è che quando utilizzo iDeneb,al ritorno su XP (ho dual boot) l'ora lì è sbagliata cioè mi dà GMT.

 

Attualmente ho solo questi errori tramite IASL da Win

	C:\IASL>iasl -tc dsdt2.dsl



  Intel ACPI Component Architecture

  ASL Optimizing Compiler version 20090422 [Apr 22 2009]

  Copyright (C) 2000 - 2009 Intel Corporation

  Supports ACPI Specification Revision 3.0a



  dsdt2.dsl  2001:						 Method (_GTM, 0, NotSerialized)

  Warning  1080 - Reserved method must return a value ^  (_GTM)



  dsdt2.dsl  2045:						 Method (_GTM, 0, NotSerialized)

  Warning  1080 - Reserved method must return a value ^  (_GTM)



  dsdt2.dsl  2544:				 Method (STM, 0, Serialized)

  Warning  1087 -							^ Not all control paths return a valu

  e (STM_)



  dsdt2.dsl  4590:				 Field (DFSR, DWordAcc, NoLock, Preserve)

  Error	4027 -							^ Access width is greater than region

size



  dsdt2.dsl  4592:					DFSN,   8

  Error	4028 -						^ Access width of Field Unit extends beyo

  nd region limit



  dsdt2.dsl  4863:				 Method (RVLT, 1, NotSerialized)

  Warning  1087 -							 ^ Not all control paths return a val

  ue (RVLT)



  dsdt2.dsl  4987:				 Method (RTMP, 1, NotSerialized)

  Warning  1087 -							 ^ Not all control paths return a val

  ue (RTMP)



  dsdt2.dsl  5154:				 Method (OCOP, 1, NotSerialized)

  Warning  1087 -							 ^ Not all control paths return a val

  ue (OCOP)



  ASL Input:  dsdt2.dsl - 8566 lines, 264512 bytes, 3232 keywords

  Compilation complete. 2 Errors, 6 Warnings, 0 Remarks, 1262 Optimizations

 

 

 

 

Grazie ancora.

 

 

 

 

Fabio

Link to comment
Share on other sites

Grazie intanto. No il bios non mi si resetta,l'unica anomalia,ma non so se dipenda dall'orario del Bios,è che quando utilizzo iDeneb,al ritorno su XP (ho dual boot) l'ora lì è sbagliata cioè mi dà GMT.

 

E' una differente maniera di leggere l'orario dal bios tra win e unix che ti da quel problema, capita anche in windows, devi usare un'altra località per l'orario in modo da compensare la differenza tra un os e l'altro sfruttando il fuso differente.

 

Per compilarlo devi modificare questa parte:

              [size=1] [color="#FF0000"]OperationRegion (DFSR, SystemMemory, 0x000F7A22, 0x01)
               Field (DFSR, DWordAcc, NoLock, Preserve)
              {
                  DFSN,   8
              }[/color]
               Method (_PRT, 0, NotSerialized)
               {
                   Store ([color="#0000FF"]DFSN[/color], Local1)
                   If (LNotEqual (Local1, 0xFF))
                   {
                       Store (Zero, Local0)
                       Store (One, Local4)
                       While (Local4)
                       {[/size]

così, poi vedi se ti da problemi:

[size=1]
              [color="#FF0000"]/*OperationRegion (DFSR, SystemMemory, 0x000F7A22, 0x01)
               Field (DFSR, DWordAcc, NoLock, Preserve)
              {
                  DFSN,   8
              }*/[/color]
               Method (_PRT, 0, NotSerialized)
               {
                   Store ([color="#0000FF"]8[/color], Local1)
                   If (LNotEqual (Local1, 0xFF))
                   {
                       [/size]

Parti in rosso son state tolte commentandole ( /* comento */ ) quelle in blu solo sostituite col valore che abbiam tolto prima.

Link to comment
Share on other sites

Parti in rosso son state tolte commentandole ( /* comento */ ) quelle in blu solo sostituite col valore che abbiam tolto prima.

 

Grandissimo Scrax!!!! ;)

 

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

ASL Input:  /Users/fabio/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 8524 lines, 264646 bytes, 3224 keywords
AML Output: /Users/fabio/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/./dsdt.aml - 27895 bytes, 1117 named objects, 2107 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 1260 Optimizations

 

Domani lo inserisco nella Extra dell'altro Computer!!

 

Grazie ancora. :P

 

Fabio

 

P.S.

Questo non mette a posto la RTL vero?

 

 

copy.png

Link to comment
Share on other sites

Allora....intanto vorrei ringraziarvi per questo post sul DSDT perchè ho davvero penato in giro per la rete per trovare spiegazioni come quelle che fornite qui.

Siete davvero preziosissimi.

 

Purtroppo mi rendo conto che senza nozioni di programmazione di un certo livello, gente come me è condannata a tenersi un DSDT con 7 errori e più (la maggior parte dovuti a variabili richiamate ma mai definite oppure a cicli IF/ELSE con sintassi errata)....e pertanto a non poter installare SL (nel mio caso su un portatile HP DV 6 2044el).

 

Non vi ammorbo con i dettagli specifi perchè non mi sembrerebbe giusto (avete già da aggiustare i vostri).

 

Però vorrei porre a voi - che ne sapete di più degli altri - un paio di domande più generali:

1) visto che ogni DSDT è valido per una combinazione mobo+cpu mi pare improbabile che si possa arrivare al punto di sintetizzare dei DSDT validi per ogni tipo di mobo....oppure c'è speranza?

 

2) seguendo la logica del punto 1) i portatili sono conciati anche peggio...in quanto per ogni brand e serie si hanno spesso mobo di revisioni differenti all'interno della stessa serie....giusto?

 

3) a questo punto vi chiedo: secondo voi ci sono speranze di poter standardizzare il DSDT file per più computer aventi la stessa architettura (ad es. stesso chipset) oppure resterà sempre un esercizio ad-hoc?

 

Grazie e scusate l'intromissione.

Link to comment
Share on other sites

Però vorrei porre a voi - che ne sapete di più degli altri - un paio di domande più generali:

1) visto che ogni DSDT è valido per una combinazione mobo+cpu mi pare improbabile che si possa arrivare al punto di sintetizzare dei DSDT validi per ogni tipo di mobo....oppure c'è speranza?

 

2) seguendo la logica del punto 1) i portatili sono conciati anche peggio...in quanto per ogni brand e serie si hanno spesso mobo di revisioni differenti all'interno della stessa serie....giusto?

 

3) a questo punto vi chiedo: secondo voi ci sono speranze di poter standardizzare il DSDT file per più computer aventi la stessa architettura (ad es. stesso chipset) oppure resterà sempre un esercizio ad-hoc?

 

Grazie e scusate l'intromissione.

 

1) Attualmente si sfrutta la tabella DSDT per sostituire anche quella del SSDT ch'è la parte che riguarda il processore, ma ci son dei metodi percaricarle separe ed arrivare quindi ad un dsdt più generico. Nonostante ciò una dsdt unica non credo sia possibile averla. Giravan voci che si potrebbero fare dei programmi chone DSDTpatcher che lo modificano in automatico

 

2) Mi sa di si

 

3) Ci sono delle speranze appunto di avere in futuro un programmino che crea un bootloader ad hoc per la nostra configurazione con il dsdt minimo generico e le patch specifiche per quel chipset, ma non penso che sia una cosa a breve termine, se mai ci sarà.

Link to comment
Share on other sites

Grazie per la risposta: almeno so cosa aspettarmi e cosa no.

 

Ultima domanda e poi giuro non vi rompo più: avendo un DSDT sporco....ci sono metodi per installare SL ad-hoc SENZA usare il DSDT patching?

 

Grazie ancora per la vostra disponibilità e pazienza.

Link to comment
Share on other sites

Ultima domanda e poi giuro non vi rompo più: avendo un DSDT sporco....ci sono metodi per installare SL ad-hoc SENZA usare il DSDT patching?

 

Dipende, molte delle modifiche al dsdt sono alternative ad altri metodi, per alcune cose invece rimane l'unica soluzione.

Link to comment
Share on other sites

Grandissimo Scrax!!!! ;)

 

Domani lo inserisco nella Extra dell'altro Computer!!

 

Detto fatto! ;)

Sono rimasto perplesso dal risultato: il computer non fà il Boot (casomai ti posto scherrmata verbose).

 

Scrax,voglio premettere che siamo sempre nel campo didattico perciò NON voglio caricarti di nessuna responsabilità, nè tantomeno metterti alla prova,ma solo effettuare qualche prova sul campo per saperne un pò di più. ;)

 

Parliamo sempre della seconda configurazione in firma,quella con iDeneb,in pratica ho creato la cartella Extra apposta e dentro ci ho messo solo il DSDT.aml che ti allego (dsdtmod) e la macchina non parte, mentre con il suo attuale (dsdtorig) allegato anch'esso,non ho alcun tipo di problema ed il boot risulta anche veloce. :(

 

Vedi tu sei hai un attimo per darci un'occhiata,mentre appena posso ti posto Ispci.txt che mi interessa di più.

 

Grazie :)

 

Fabio

 

P.S. per la cronaca ho cancellato Cartella Extra + file da Xp, mediante MacDrive (avrei potuto fare in altra maniera?)

dsdtmod.rar

dsdtorig.rar

Link to comment
Share on other sites

P.S. per la cronaca ho cancellato Cartella Extra + file da Xp, mediante MacDrive (avrei potuto fare in altra maniera?)

 

Per iniziare e vedere se carica i dsdt correttamente modicifa il com.apple.Boot.plist aggiungendo l'opzione Wait=Yes , questo fa bloccare Chameleon al momento in cui dovrebbe caricare il kernel così riesci a vedere i messaggi di avvio del booter

Link to comment
Share on other sites

  • 2 weeks later...

[RISOLTO] :)

 

Ciao a tutti.

Sono ancora alle prese con la riduzione del DSDT

Questa volta mi sono arenato in un punto per me abbastanza problematico.

Sono le Routing Tables ("chiamate" cosi' nelle specifiche ACPI e da MC nel suo DSDT).

Nella versione Originale del mio DSDT (praticamente in tutti i DSDT) e piu' precisamente dentro uno Scope (_SB)

ho

[size=1]
   Scope (_SB)
   {
       Name (PR00, Package (0x42)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0002FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0002FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0002FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0002FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0004FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0004FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0004FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0004FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0005FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0005FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0005FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0005FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0006FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0006FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0006FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0006FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0008FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0008FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0008FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0008FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0009FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0009FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0009FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0009FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x000AFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x000AFFFF, One, LNKB, Zero },
           Package (0x04) { 0x000AFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x000AFFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x000DFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0016FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0016FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0016FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0016FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x001FFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x001DFFFF, Zero, LNKH, Zero },
           Package (0x04) { 0x001DFFFF, One, LNKD, Zero },
           Package (0x04) { 0x001DFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x001DFFFF, 0x03, LNKA, Zero },
           Package (0x04) { 0x001AFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x001AFFFF, One, LNKF, Zero },
           Package (0x04) { 0x001AFFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x001AFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x001BFFFF, Zero, LNKG, Zero },
           Package (0x04) { 0x001CFFFF, Zero, LNKB, Zero },
           Package (0x04) { 0x001CFFFF, One, LNKA, Zero },
           Package (0x04) { 0x001CFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x001CFFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0001FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0001FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0001FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0001FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0003FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0003FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0003FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0003FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0007FFFF, Zero, LNKA, Zero },
           Package (0x04) { 0x0007FFFF, One, LNKB, Zero },
           Package (0x04) { 0x0007FFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0x0007FFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0019FFFF, Zero, LNKE, Zero },
           Package (0x04) { 0x001FFFFF, Zero, LNKC, Zero },
           Package (0x04) { 0x001FFFFF, One, LNKE, Zero }
       })

       Name (AR00, Package (0x41)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x2F },
           Package (0x04) { 0xFFFF, One, Zero, 0x2E },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x2E },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x2D },
           Package (0x04) { 0x0002FFFF, Zero, Zero, 0x1D },
           Package (0x04) { 0x0002FFFF, One, Zero, 0x29 },
           Package (0x04) { 0x0002FFFF, 0x02, Zero, 0x28 },
           Package (0x04) { 0x0002FFFF, 0x03, Zero, 0x2A },
           Package (0x04) { 0x0004FFFF, Zero, Zero, 0x19 },
           Package (0x04) { 0x0004FFFF, One, Zero, 0x23 },
           Package (0x04) { 0x0004FFFF, 0x02, Zero, 0x24 },
           Package (0x04) { 0x0004FFFF, 0x03, Zero, 0x22 },
           Package (0x04) { 0x0005FFFF, Zero, Zero, 0x1A },
           Package (0x04) { 0x0005FFFF, One, Zero, 0x19 },
           Package (0x04) { 0x0005FFFF, 0x02, Zero, 0x1B },
           Package (0x04) { 0x0005FFFF, 0x03, Zero, 0x1D },
           Package (0x04) { 0x0006FFFF, Zero, Zero, 0x1B },
           Package (0x04) { 0x0006FFFF, One, Zero, 0x26 },
           Package (0x04) { 0x0006FFFF, 0x02, Zero, 0x25 },
           Package (0x04) { 0x0006FFFF, 0x03, Zero, 0x27 },
           Package (0x04) { 0x0008FFFF, Zero, Zero, 0x1F },
           Package (0x04) { 0x0008FFFF, One, Zero, 0x27 },
           Package (0x04) { 0x0008FFFF, 0x02, Zero, 0x26 },
           Package (0x04) { 0x0008FFFF, 0x03, Zero, 0x25 },
           Package (0x04) { 0x0009FFFF, Zero, Zero, 0x20 },
           Package (0x04) { 0x0009FFFF, One, Zero, 0x2A },
           Package (0x04) { 0x0009FFFF, 0x02, Zero, 0x2F },
           Package (0x04) { 0x0009FFFF, 0x03, Zero, 0x29 },
           Package (0x04) { 0x000AFFFF, Zero, Zero, 0x21 },
           Package (0x04) { 0x000AFFFF, One, Zero, 0x1F },
           Package (0x04) { 0x000AFFFF, 0x02, Zero, 0x2E },
           Package (0x04) { 0x000AFFFF, 0x03, Zero, 0x2D },
           Package (0x04) { 0x0016FFFF, Zero, Zero, 0x2B },
           Package (0x04) { 0x0016FFFF, One, Zero, 0x2C },
           Package (0x04) { 0x0016FFFF, 0x02, Zero, 0x2D },
           Package (0x04) { 0x0016FFFF, 0x03, Zero, 0x2E },
           Package (0x04) { 0x001FFFFF, 0x02, Zero, 0x12 },
           Package (0x04) { 0x001DFFFF, Zero, Zero, 0x17 },
           Package (0x04) { 0x001DFFFF, One, Zero, 0x13 },
           Package (0x04) { 0x001DFFFF, 0x02, Zero, 0x12 },
           Package (0x04) { 0x001DFFFF, 0x03, Zero, 0x10 },
           Package (0x04) { 0x001AFFFF, Zero, Zero, 0x10 },
           Package (0x04) { 0x001AFFFF, One, Zero, 0x15 },
           Package (0x04) { 0x001AFFFF, 0x03, Zero, 0x13 },
           Package (0x04) { 0x001AFFFF, 0x02, Zero, 0x12 },
           Package (0x04) { 0x001BFFFF, Zero, Zero, 0x16 },
           Package (0x04) { 0x001CFFFF, Zero, Zero, 0x11 },
           Package (0x04) { 0x001CFFFF, One, Zero, 0x10 },
           Package (0x04) { 0x001CFFFF, 0x02, Zero, 0x12 },
           Package (0x04) { 0x001CFFFF, 0x03, Zero, 0x13 },
           Package (0x04) { 0x0001FFFF, Zero, Zero, 0x1C },
           Package (0x04) { 0x0001FFFF, One, Zero, 0x28 },
           Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x29 },
           Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x2F },
           Package (0x04) { 0x0003FFFF, Zero, Zero, 0x18 },
           Package (0x04) { 0x0003FFFF, One, Zero, 0x22 },
           Package (0x04) { 0x0003FFFF, 0x02, Zero, 0x23 },
           Package (0x04) { 0x0003FFFF, 0x03, Zero, 0x24 },
           Package (0x04) { 0x0007FFFF, Zero, Zero, 0x1E },
           Package (0x04) { 0x0007FFFF, One, Zero, 0x25 },
           Package (0x04) { 0x0007FFFF, 0x02, Zero, 0x27 },
           Package (0x04) { 0x0007FFFF, 0x03, Zero, 0x26 },
           Package (0x04) { 0x0019FFFF, Zero, Zero, 0x14 },
           Package (0x04) { 0x001FFFFF, Zero, Zero, 0x12 },
           Package (0x04) { 0x001FFFFF, One, Zero, 0x14 }
       })

       Name (PR11, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR11, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x1C },
           Package (0x04) { 0xFFFF, One, Zero, 0x28 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x29 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x2F }
       })

       Name (PR12, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR12, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x1D },
           Package (0x04) { 0xFFFF, One, Zero, 0x29 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x28 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x2A }
       })

       Name (PR13, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR13, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x18 },
           Package (0x04) { 0xFFFF, One, Zero, 0x22 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x23 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x24 }
       })

       Name (PR14, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR14, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x19 },
           Package (0x04) { 0xFFFF, One, Zero, 0x23 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x24 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x22 }
       })

       Name (PR15, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR15, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x1A },
           Package (0x04) { 0xFFFF, One, Zero, 0x19 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x1B },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x1D }
       })

       Name (PR16, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR16, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x1B },
           Package (0x04) { 0xFFFF, One, Zero, 0x26 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x25 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x27 }
       })

       Name (PR17, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR17, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x1E },
           Package (0x04) { 0xFFFF, One, Zero, 0x25 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x27 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x26 }
       })

       Name (PR18, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR18, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x1F },
           Package (0x04) { 0xFFFF, One, Zero, 0x27 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x26 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x25 }
       })

       Name (PR19, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR19, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x20 },
           Package (0x04) { 0xFFFF, One, Zero, 0x2A },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x2F },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x29 }
       })

       Name (PR1A, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR1A, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x21 },
           Package (0x04) { 0xFFFF, One, Zero, 0x1F },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x2E },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x2D }
       })

       Name (PR04, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR04, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x10 },
           Package (0x04) { 0xFFFF, One, Zero, 0x11 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 }
       })

       Name (PR05, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKB, Zero },
           Package (0x04) { 0xFFFF, One, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKD, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKA, Zero }
       })

       Name (AR05, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x11 },
           Package (0x04) { 0xFFFF, One, Zero, 0x12 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 }
       })

       Name (PR06, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKC, Zero },
           Package (0x04) { 0xFFFF, One, LNKD, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKA, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKB, Zero }
       })

       Name (AR06, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x12 },
           Package (0x04) { 0xFFFF, One, Zero, 0x13 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x10 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x11 }
       })

       Name (PR07, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKD, Zero },
           Package (0x04) { 0xFFFF, One, LNKA, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKC, Zero }
       })

       Name (AR07, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x13 },
           Package (0x04) { 0xFFFF, One, Zero, 0x10 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 }
       })

       Name (PR08, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero }
       })

       Name (AR08, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x10 },
           Package (0x04) { 0xFFFF, One, Zero, 0x11 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 }
       })

       Name (PR09, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, LNKB, Zero },
           Package (0x04) { 0xFFFF, One, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKD, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKA, Zero }
       })

       Name (AR09, Package (0x04)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x11 },
           Package (0x04) { 0xFFFF, One, Zero, 0x12 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x13 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x10 }
       })

       Name (PR01, Package (0x09)
       {
           Package (0x04) { 0xFFFF, Zero, LNKA, Zero },
           Package (0x04) { 0xFFFF, One, LNKB, Zero },
           Package (0x04) { 0xFFFF, 0x02, LNKC, Zero },
           Package (0x04) { 0xFFFF, 0x03, LNKD, Zero },
           Package (0x04) { 0x0001FFFF, Zero, LNKB, Zero },
           Package (0x04) { 0x0001FFFF, One, LNKC, Zero },
           Package (0x04) { 0x0001FFFF, 0x02, LNKD, Zero },
           Package (0x04) { 0x0001FFFF, 0x03, LNKA, Zero },
           Package (0x04) { 0x0002FFFF, Zero, LNKC, Zero }
       })

       Name (AR01, Package (0x09)
       {
           Package (0x04) { 0xFFFF, Zero, Zero, 0x10 },
           Package (0x04) { 0xFFFF, One, Zero, 0x11 },
           Package (0x04) { 0xFFFF, 0x02, Zero, 0x12 },
           Package (0x04) { 0xFFFF, 0x03, Zero, 0x13 },
           Package (0x04) { 0x0001FFFF, Zero, Zero, 0x11 },
           Package (0x04) { 0x0001FFFF, One, Zero, 0x12 },
           Package (0x04) { 0x0001FFFF, 0x02, Zero, 0x13 },
           Package (0x04) { 0x0001FFFF, 0x03, Zero, 0x10 },
           Package (0x04) { 0x0002FFFF, Zero, Zero, 0x12 }
       })

       Name (PRSA, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {3,4,6,7,10,11,12,14,15}
       })

       Name (PRSB, ResourceTemplate ()
       {
           IRQ (Level, ActiveLow, Shared, )
               {5}
       })

... Continua bla bla ...
[/size]

 

Sto usando il DSDT strippato di MC e di smith@@ quest'ultimo a moltissime similitudini con la mia mobo.

 

Nei vari device ho sostituito per analogia le pvecchie parti con nuove "copiate" dal DSDT di smit@@

mi sono basato sulla corrispondenza dell' address.. ma alcuni device che per natura della mia mobo sono solo presenti in questa configurazione non so come "semplificarli"

 

Esemio riuscito

[size=1]
           Device (RP04)                    // PCI Express Port 4 renamed from (P0P4)
           {
               Name (_ADR, 0x001C0003)
               Alias (AR13, _PRT)   //<-- Ok      IRA Routing Tables can be found under PCI0.
               Alias (PW94, _PRW) // <-- OK
           }
[/size]

 

Esempio che non so come modificare.

[size=1]
           Device (IOU2)
           {
               Name (_ADR, 0x00010000)
               Name (_PRW, Package (0x02) //<-- OK
               {
                   0x09, 
                   0x04
               })

               Device (PXS0) //<-- dispositivo grafica
               {
                   Name (_ADR, 0xFFFF)
                   Name (_SUN, Zero)
               }

               Method (_PRT, 0, NotSerialized) //<-- COME ?
               {
                   If (PICM)
                   {
                       Return (AR11) //<-- ?
                   }

                   Return (PR11) //<-- ?
               }
           }
[/size]

 

Fabio

Link to comment
Share on other sites

Ciao Fabio, allora, tu stai cercando di fare una cosa un po' diversa anche se con lo stesso principio. Io aggiunsi delle routing alias al mio sulla base di alcune gia' presenti e come hai visto e' semplice. Il PW93 e il 94, se non ricordo male, in quanto i loro contenuti usati piu' volte, ma li' si parla di NAME, quindi alias ad un "name", tu invece stai cercando di utilizzare un alias ad un METHOD che e' diverso.

Non so quanto valga la pena fare cio' che chiedi in quanto so che un metodo ha bisogno per essere richiamato di un numero di righe maggiore di uno rispetto al name.

 

 

 

Devo pensarci un pochino;)

Link to comment
Share on other sites

Ciao Fabio, allora, tu stai cercando di fare una cosa un po' diversa anche se con lo stesso principio. Io aggiunsi delle routing alias al mio sulla base di alcune gia' presenti e come hai visto e' semplice. Il PW93 e il 94, se non ricordo male, in quanto i loro contenuti usati piu' volte, ma li' si parla di NAME, quindi alias ad un "name", tu invece stai cercando di utilizzare un alias ad un METHOD che e' diverso.

Non so quanto valga la pena fare cio' che chiedi in quanto so che un metodo ha bisogno per essere richiamato di un numero di righe maggiore di uno rispetto al name.

 

Devo pensarci un pochino;)

 

Grazie smith@@

Ho risolto affrontando il problema in modo diverso...

I valri delle mie routing AR00.. AR01.. AR02 sono diversi fin dal DSDT "vergine" non aveva senso per me usare le "tue" semplificate", quindi ho ripreso "tutte" le Routing e ho eliminato la parte dove erano presenti i LNKA LNKB... (fino a BNLN) ho comparate le routing uguali e... ;)

ho poi creato 3 metodi (_PRW) abbreviati...

Ad ogni dispositivo gli ho associato la sua Table,,, fatti questi cambi compilato... e 0 errori

provato e.... :) sembra anche un po' piu' reattivo tutto il sistema... ora il mio DSDT compilato pesa 16k

 

Grazie a tutti...

 

Se questo passaggio puo' ineressare a qualcuno vedo di ripostarlo in un linguaggio un po piu' comprensibile..

 

Fabio

Link to comment
Share on other sites

Grazie smith@@

Ho risolto affrontando il problema in modo diverso...

I valri delle mie routing AR00.. AR01.. AR02 sono diversi fin dal DSDT "vergine" non aveva senso per me usare le "tue" semplificate", quindi ho ripreso "tutte" le Routing e ho eliminato la parte dove erano presenti i BLKA BLKB... (fino a BLKN) ho comparate le routing uguali e... :)

ho poi creato 3 metodi (_PRW) abbreviati...

Ad ogni dispositivo gli ho associato la sua Table,,, fatti questi cambi compilato... e 0 errori

provato e.... :) sembra anche un po' piu' reattivo tutto il sistema... ora il mio DSDT compilato pesa 16k

 

Grazie a tutti...

 

Se questo passaggio puo' ineressare a qualcuno vedo di ripostarlo in un linguaggio un po piu' comprensibile..

 

Fabio

 

 

 

Avresti dovuto togliere tutto quell'eccesso dall'inizio vedendo l'altro dsdt. Non fare lo stesso errore mio iniziale, non TOGLIERLE troppe senza provare tutti gli slot pci, e' un consiglio... ogni piastra e' diversa

 

;)

Link to comment
Share on other sites

 Share

×
×
  • Create New...