A23SS4NDRO Posted May 28, 2020 Share Posted May 28, 2020 (edited) Ciao a tutti, premetto che la versione di SSDT Basic v 1.0.0 è già perfetta in se e funziona benissimo... Per mettere la ciliegina sulla torta vorrei implementarci queste due modifiche -Ho aggiunto le CPU "_PR.C000" e "_PR.P000" -Ho trovato il modo per togliere i 2 warnings, i 3 remarks, 1 Optimizations. Prima questi erano i warn/remarks che dava (da SSDT Originale preso dalla sezione downloads): Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20190509 Copyright (c) 2000 - 2019 Intel Corporation SSDT-Basic.dsl 45: Method (PMPM, 4, NotSerialized) Remark 2146 - ^ Method Argument is never used (Arg0) SSDT-Basic.dsl 45: Method (PMPM, 4, NotSerialized) Remark 2146 - ^ Method Argument is never used (Arg1) SSDT-Basic.dsl 45: Method (PMPM, 4, NotSerialized) Remark 2146 - ^ Method Argument is never used (Arg3) SSDT-Basic.dsl 243: Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method Warning 3115 - ^ Not all control paths return a value (_DSM) SSDT-Basic.dsl 243: Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method Warning 3107 - ^ Reserved method must return a value (Integer/String/Buffer/Package/Reference required for _DSM) ASL Input: SSDT-Basic.dsl - 14956 bytes 273 keywords 545 source lines AML Output: SSDT-Basic.aml - 2811 bytes 203 opcodes 70 named objects Compilation successful. 0 Errors, 2 Warnings, 3 Remarks, 1 Optimizations Dopo: Intel ACPI Component Architecture ASL+ Optimizing Compiler/Disassembler version 20190509 Copyright (c) 2000 - 2019 Intel Corporation ASL Input: SSDT-Basic.dsl - 14846 bytes 274 keywords 547 source lines AML Output: SSDT-Basic.aml - 2789 bytes 204 opcodes 70 named objects Compilation successful. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations La prima domanda che mi veniva era, forse dico una castroneria, ma perché il metodo PMPM ha bisogno di 4 argomenti se ne serve solo 1 (difatti nei remarks dice proprio che solo uno tra i 4 argomenti assegnati viene usato) L'ho sistemato e sono riuscito a risolvere sia i warn, che i remarks, per quanto riguarda le optimizations quando dal .dsl sostituisco 0x01 con "One" e compilo allora ci sono 0 optimizations, ma quando poi lo ridecompilo dall'appena fatto .aml e quando esce il nuovo .dsl, riaprendolo ritorna come prima, da "One" che avevo messo a "0x01" forse per colpa del decompilatore, quindi quando ricompilo quest'ultimo ritorna l'Optimization per il fatto che prima il decompilatore ha risostituito One a 0x01 nella riga 386, ma non conta molto ecco, alla fine è solo una Optimization... 0x01 è uguale a One alla fine Volevo farvelo vedere per sapere che ne pensate, e se piace, vorrei che ci fosse anche l'approvazione di @Gengik84 cui ovviamente vanno tutti i credits Quindi se è tutto ok, con una specie di "pull request" forse lo integrerei in una v1.0.1, se siete contenti e se avete qualcosa magari da dire che non vi piace, o che ho fatto male, ben venga accetto tutte le critiche che siano costruttive Grazie SSDT-Basic.dsl.zip Edited January 8, 2021 by A23SS4NDRO 1 Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted May 28, 2020 Administrators Share Posted May 28, 2020 Sono del tutto normali e va bene così riguardo alla cpu non abbiamo voluto mettere cose AMD 1 Link to comment Share on other sites More sharing options...
dreamwhite Posted May 28, 2020 Share Posted May 28, 2020 17 minutes ago, Gengik84 said: Sono del tutto normali e va bene così riguardo alla cpu non abbiamo voluto mettere cose AMD Uhm teoricamente non dovrebbero esserci warn o simili, sbaglio? Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted May 28, 2020 Administrators Share Posted May 28, 2020 Adesso, dreamwhite ha scritto: Uhm teoricamente non dovrebbero esserci warn o simili, sbaglio? ho perso il conto di quante volte ho detto che warning sono del tutto irrilevanti Link to comment Share on other sites More sharing options...
Supervisor. foskvs Posted May 28, 2020 Supervisor. Share Posted May 28, 2020 Riguardo alle CPU, sarebbe interessante capire come funziona il power management su AMD. Da quanto ho capito, funziona in modo totalmente diverso rispetto a Intel, venendo gestito direttamente dal bios. In quel caso, non so quanto sia utile caricare X86PlatformPlugin. Link to comment Share on other sites More sharing options...
Moderators netgear Posted May 28, 2020 Moderators Share Posted May 28, 2020 Anche su intel se non lo carichi hai un PM perfetto, ma credo che non caricarlo non sia normale... Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 28, 2020 Author Share Posted May 28, 2020 12 minutes ago, Gengik84 said: ho perso il conto di quante volte ho detto che warning sono del tutto irrilevanti Più che altro mi chiedevo qual era il motivo per cui PMPM aveva necessità di avere 4 Args, tra cui "Arg0, Arg1, Arg2, Arg3" Se poi in realtà ne serve solo 1 (a quanto dice il compilatore) o sbaglio? Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted May 28, 2020 Administrators Share Posted May 28, 2020 Ale va bene così. Se è stato messo un motivo c'è sia per ora che in caso per un domani 😉 Altrimenti io sono "fesso" come sono fessi tutti quelli che scrivono le ACPI OEM? se guardi li a warning e remark... ci si arriva a natale 😂 Poi altro esempio e senza offesa.. riguardo alla tua modifica di un altro mio ssdt... hai messo un external per un method _dsm... questo non serve e non ha veramente senso di fatto non è modificabile Link to comment Share on other sites More sharing options...
Supervisor. foskvs Posted May 28, 2020 Supervisor. Share Posted May 28, 2020 In informatica ci sono vari modi di ottenere gli stessi risultati. Spesso i compilatori sono ridondanti, soprattutto nel caso di aml che è un linguaggio molto “libero”. L’idea alla base è quella di seguire le specifiche acpi nel caso di PMPM, ma ci sono molti altri modi per ottenere lo stesso risultato. Per come @Gengik84 ha strutturato PMPM, ci sono margini per fare aggiunte in futuro. 2 Link to comment Share on other sites More sharing options...
dreamwhite Posted May 28, 2020 Share Posted May 28, 2020 2 hours ago, Gengik84 said: ho perso il conto di quante volte ho detto che warning sono del tutto irrilevanti D'accordo, ma penso che tu sia d'accordo che se segui lo standard ACPICA 6.3, ti stai alle loro regole 😄 Sia chiaro: la funzionalità è sempre la stessa ma in informatica si cerca di utilizzare il minimo indispensabile per ottenere quel risultato e sinceramente non capisco perchè tu abbia aggiunto degli argomenti che di fatto non vengono utilizzati per niente. Sarò felice di avere una tua risposta in merito In ogni caso è bene che queste cose vengano documentate adeguatamente: #shareyourknowledge 1 hour ago, Gengik84 said: Ale va bene così. Se è stato messo un motivo c'è sia per ora che in caso per un domani 😉 Altrimenti io sono "fesso" come sono fessi tutti quelli che scrivono le ACPI OEM? se guardi li a warning e remark... ci si arriva a natale 😂 Poi altro esempio e senza offesa.. riguardo alla tua modifica di un altro mio ssdt... hai messo un external per un method _dsm... questo non serve e non ha veramente senso di fatto non è modificabile Concordo pienamente sul fatto che coloro che scrivo le ACPI OEM sono "fessi". Ci sono diecimila warning e forse dovuti ad una questione di "compatibilità" con i vari OS (ipotizzo (???)) Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted May 28, 2020 Administrators Share Posted May 28, 2020 5 minuti fa, dreamwhite ha scritto: D'accordo, ma penso che tu sia d'accordo che se segui lo standard ACPICA 6.3, ti stai alle loro regole 😄 Tu vieni a dirmi questo? beh fossi in te mi preoccuperei in primis di non demolire nel vero senso della parola i DSDT... solo inseguendo "false leggende"... e trascurando proprio quello che tu stesso ora stai citando e non solo... 6 minuti fa, dreamwhite ha scritto: Sarò felice di avere una tua risposta in merito Devo per forza dire a cosa sto lavorando, come, perchè, etc? Quale sarebbe l'obbligo? Quando sarà il momento, e se lo vorrò .. spiegherò... ma senza offesa non ho e non voglio di certo obblighi. Non ho solo da pensare a questo del resto.... Link to comment Share on other sites More sharing options...
dreamwhite Posted May 28, 2020 Share Posted May 28, 2020 1 minute ago, Gengik84 said: Tu vieni a dirmi questo? beh fossi in te mi preoccuperei in primis di non demolire nel vero senso della parola i DSDT... solo inseguendo "false leggende"... e trascurando proprio quello che tu stesso ora stai citando e non solo... Wait, non è mia intenzione offenderti ne screditare il tuo lavoro che apprezzo giorno dopo giorno, ma semplicemente adeguarsi agli standard che ci detta ACPICA (esempio: cercare ove possibile di usare la keyword Device al posto di Processor, così come usare solo _HID piuttosto che _ADR) 3 minutes ago, Gengik84 said: Devo per forza dire a cosa sto lavorando, come, perchè, etc? Quale sarebbe l'obbligo? Quando sarà il momento, e se lo vorrò .. spiegherò... ma senza offesa non ho e non voglio di certo obblighi. Non ho solo da pensare a questo del resto.... C'è stato decisamente un fraintendimento. Col mio "Sarò felice di avere una tua risposta in merito" mi riferivo al perchè dell'utilizzo di 4 argomenti della funzione PMPM, dal momento che ne viene utilizzato solo ed esclusivamente uno (almeno all'interno dell'SSDT in questione). Obblighi non ce ne sono e mai ce ne saranno, semplicemente era una curiosità personale sapere la ragione arcana dietro a questi 4 argomenti... 🕊️ Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted May 28, 2020 Administrators Share Posted May 28, 2020 @dreamwhite ma ti ho accennato già diciamo... fatto per aggiunte future... quando? non so dirtelo, ho da fare veramente troppe cose, periodo incasinato e non posso stare sempre dietro a questo anche volendo, proprio non riuscirei materialmente oltre a questo warning e remark sono ininfluenti... c'è se sono a trilioni ovunque su acpi oem, quindi scritte da determinate persone. quello può essere semplicemente risolto ma non cambierebbe nulla assolutamente... forse un millesimo di secondo in "lettura" .. tutto qui Link to comment Share on other sites More sharing options...
dreamwhite Posted May 28, 2020 Share Posted May 28, 2020 1 minute ago, Gengik84 said: @dreamwhite ma ti ho accennato già diciamo... fatto per aggiunte future... quando? non so dirtelo, ho da fare veramente troppe cose, periodo incasinato e non posso stare sempre dietro a questo anche volendo, proprio non riuscirei materialmente oltre a questo warning e remark sono ininfluenti... c'è se sono a trilioni ovunque su acpi oem, quindi scritte da determinate persone. quello può essere semplicemente risolto ma non cambierebbe nulla assolutamente... forse un millesimo di secondo in "lettura" .. tutto qui Sisi infatti. La mia ipotesi (e penso che forse sia la più plausibile) è che le ACPI devono cercare di interfacciarsi con la maggior parte degli OS aka: cerchiamo di garantire compatibilità con quello che è possibile 1 Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 28, 2020 Author Share Posted May 28, 2020 2 hours ago, Gengik84 said: Poi altro esempio e senza offesa.. Tranquillo, non mi offendo anzi l'ho postato consapevolmente, altrimenti non potevo compilare con successo il nuovo SSDT quando mi serviva aggiungere If (_OSI ("Darwin") { } Come condizione di caricamento di tutto l'ssdt, o alcune correzioni come ad esempio PR00 come ProcessorObj al posto di come era stock (DeviceObj) mi hai mostrato che si può usare il comando iasl per fare la stessa cosa ignorando gli errori sulle external references, ma compilare da maciasl mi è più comodo a volte anche per questioni di velocità Inoltre in compilazione mi permette di salvarla tale tabella senza errori, poi ovviamente quando si ridecompila quei metodi _DSM tra le external references non ricompaiono nell'ssdt decompilato (perché appunto neanche hanno senso mi pare di aver capito) Per concludere insomma, non me ne vergogno perché l'ho fatto con cognizione di causa Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted May 28, 2020 Author Share Posted May 28, 2020 39 minutes ago, Gengik84 said: Devo per forza dire a cosa sto lavorando, come, perchè, etc? Quale sarebbe l'obbligo? Riguardo a questo invece, ci tenevo a dire che nessuno di noi è costretto a condividere/nascondere nulla, non siamo sotto regimi dittatoriali e ritengo che la libertà di espressione sia un prerequisito fondamentale per il rispetto reciproco Più che altro la questione si focalizza più sul motivo per cui esistono forum, filosofie come quella dell'opensource, progetti globali come il kernel di Linux, firmware come tianocore, eccetera: Per la condivisione della conoscenza Se mi chiedo il perché di qualcosa, vorrei precisare che non è perché non mi fido del tuo lavoro, anzi lo ammiro. In realtà, siccome io (come tutti noi) siamo partiti da zero, cercando di conoscere, attratto quindi dalla curiosità che induce ad interrogarmi sul perché è così, mi ritrovo a fare domande per chiedere chiarimenti per essere un utente consapevole, e non un "utonto" Per questo faccio domande, non per screditare ma per cercare di capirne di più. Su questo si basa il metodo scientifico, si fanno delle sensate esperienze e delle necessarie dimostrazioni diceva un tale, si parte da ipotesi più o meno vere, ci si pone delle domande e si cerca di capire il perché Spero che il mio intento in materia sia stato chiaro, quello che so cerco di scriverlo in guide, forum, consigli, raccomandazioni - e cerco di evitare più che posso di lasciare le cose ingiustificate o in virtù di una conoscenza che non abbia fondamenti o spiegazioni esplicite 1 Link to comment Share on other sites More sharing options...
atomizasser Posted October 24, 2020 Share Posted October 24, 2020 Come puoi scaricare il software? Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted October 24, 2020 Administrators Share Posted October 24, 2020 Adesso, atomizasser ha scritto: Come puoi scaricare il software? dalla sezione download. Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted January 8, 2021 Author Share Posted January 8, 2021 (edited) Aggiornamento: Dagli ultimi update di iasl, se mancano le External reference sui metodi _STA, il compiler si lamenta e li tratta come errori (non come warnings) Ho aggiunto le mancanti external references qui, ovviamente corretta con l'ultima versione di iasl Poi riguardo ad _ADR o _HID di PLNF, come sul repository di OpenCore, ho commentato _ADR Dopo la modifica: SSDT-Basic.dsl.zip Edited January 8, 2021 by A23SS4NDRO Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted January 8, 2021 Administrators Share Posted January 8, 2021 è completamente irrilevante... 1 Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted January 8, 2021 Author Share Posted January 8, 2021 (edited) pensavo di fare una cosa gradita dal momento che queste external references che sono presenti anche nell'SSDT originale immagino abbiano lo stesso ruolo delle aggiunte che ho fatto... Edited January 8, 2021 by A23SS4NDRO Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted January 8, 2021 Administrators Share Posted January 8, 2021 Te lo ripeto il codice è giusto così poi fai cosi... compila quello che hai modificato... decompilalo... ricompilalo... fammi sapere 😉 Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted January 8, 2021 Author Share Posted January 8, 2021 9 minutes ago, Gengik84 said: compila quello che hai modificato... decompilalo... ricompilalo... Il decompilatore (o il compilatore) si "dimentica" di alcune external references immesse, semmai poi lo segnalo ad acpica sul loro repository Quelle che non vengono mantenute nel processo di compilazione/decompilazione, sono LPC0.EC0, LPCB.EC0, ECDV ed H_EC Tuttavia queste aggiunte che ho fatto sopravvivono al processo di compilazione/decompilazione, non risultando più come "Illegal forward references" tra cui: External (_SB_.PCI0.IMEI, DeviceObj) External (_SB_.PCI0.LPCB.PMCR, DeviceObj) External (_SB_.PCI0.LPCB.EC__, DeviceObj) External (_SB_.PC00.LPC0.EC__, DeviceObj) sono quelle che non danno più problemi Prima: (8 errors) Dopo: (4 errors) Link to comment Share on other sites More sharing options...
Administrators Gengik84 Posted January 8, 2021 Administrators Share Posted January 8, 2021 si appunto, il codice va bene ed è corretto che sia così alla fine Ignora... 🙂 3 minuti fa, A23SS4NDRO ha scritto: Il decompilatore (o il compilatore) si "dimentica" di alcune external references immesse, semmai poi lo segnalo ad acpica sul loro repository eviterei di dare colpe a acpica sempre a prescindere.. come è stato "fatto" recentemente anche... quando le cose sono di fatto sempre state così... questo in generale e non mi sto riferendo a te maciasl ha innumerevoli bug, ma l'applicazione stessa e non iasl.. per dire.. Link to comment Share on other sites More sharing options...
A23SS4NDRO Posted February 2, 2021 Author Share Posted February 2, 2021 Abbiamo degli aggiornamenti da https://github.com/SchmErik che sta migliorando la situazione per queste external references perse per strada, tuttavia a me sembra che compilando dal sorgente la sua ultima PR, il problema permanga (sto usando iasl da riga di comando copiato in /usr/local/bin) Vi allego un precompilato ed il codice sorgente con la PR dentro, @Gengik84 e @foskvs facciamogli sapere se è cambiato qualcosa acpica-537a03cc428cc68dbd0578e4c65effb51cfbd6de.zip iasl-commit-537a03c.zip Link to comment Share on other sites More sharing options...
Recommended Posts