Jump to content

DSDT disass+compile: newest iASLme / IASL :, Juli 11th 2012


mitch_de
 Share

265 posts in this topic

Recommended Posts

Yep. Try that (max-Min +1 = new Lenght)

 

mitch_de, thanx a lot,

 

tried your new iASL 28.05.2010 to decompile and compile my current DSDT and there was 1 min/max length error. using the above formula i corrected the new length and my DSDT compiled error free :blink:

Link to comment
Share on other sites

Hi, I am interested in DSDT patching my bios, my problem lies in that my bios is a Dell bios, your tool does recognise it however I have the capability of extracting all the modules and decompressing them. would it be possible for your tool to be updated to handle either these bioses or the extracted, decompressed modules?

Link to comment
Share on other sites

Well I get no errors or warnings when compiling or decompiling. I do get 24 optimizations though :)

 

So now how do go about adding code to my DSDT to help OSX hand my USB ports properly and keep my BlueTooth transceiver recognized.

Link to comment
Share on other sites

02 July 2010. Summary of changes for version 20100702:

 

This release is available at www.acpica.org/downloads

 

ASL Compiler/Disassembler and Tools:

 

iASL: Implemented a new compiler subsystem to allow definition and compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These are called "ACPI Data Tables", and the new compiler is the "Data Table Compiler". This compiler is intended to simplify the existing error-prone process of creating these tables for the BIOS, as well as allowing the disassembly, modification, recompilation, and override of existing ACPI data tables. See the iASL User Guide for detailed information.

 

iASL: Implemented a new Template Generator option in support of the new Data Table Compiler. This option will create examples of all known ACPI tables that can be used as the basis for table development. See the iASL documentation and the -T option.

 

Disassembler and headers: Added support for the WDDT ACPI table (Watchdog Descriptor Table).

 

Updated the Linux makefiles for iASL and AcpiExec to place the generated object files in the local directory so that there can be no collisions between the shared files between them that are generated with different options.

 

Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use the #define __APPLE__ to enable this support.

Link to comment
Share on other sites

02 July 2010. Summary of changes for version 20100702:

 

This release is available at www.acpica.org/downloads

 

ASL Compiler/Disassembler and Tools:

 

iASL: Implemented a new compiler subsystem to allow definition and compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These are called "ACPI Data Tables", and the new compiler is the "Data Table Compiler". This compiler is intended to simplify the existing error-prone process of creating these tables for the BIOS, as well as allowing the disassembly, modification, recompilation, and override of existing ACPI data tables. See the iASL User Guide for detailed information.

 

iASL: Implemented a new Template Generator option in support of the new Data Table Compiler. This option will create examples of all known ACPI tables that can be used as the basis for table development. See the iASL documentation and the -T option.

 

Disassembler and headers: Added support for the WDDT ACPI table (Watchdog Descriptor Table).

 

Updated the Linux makefiles for iASL and AcpiExec to place the generated object files in the local directory so that there can be no collisions between the shared files between them that are generated with different options.

 

Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use the #define __APPLE__ to enable this support.

 

THX for the info

 

THX Kabyl for info about how compile it

 

 

 

Fabio

Link to comment
Share on other sites

your version does not work on my system:

 

No idea what happened...

My iasl -h

[size=1]Last login: Tue Jul  6 16:28:24 on ttys000
Fabios-Mac-Pro:~ iFabio$ /Users/iFabio/Desktop/iasl -h
AML output filename generation:
 Output filenames are generated by appending an extension to a common
 filename prefix.  The filename prefix is obtained via one of the
 following methods (in priority order):
   1) The -p option specifies the prefix
   2) The prefix of the AMLFileName in the ASL Definition Block
   3) The prefix of the input filename

Global:
 -@<file>       Specify command file
 -I<dir>        Specify additional include directory

General Output:
 -p<prefix>     Specify path/filename prefix for all output files
 -va            Disable all errors and warnings (summary only)
 -vi            Less verbose errors and warnings for use with IDEs
 -vo            Enable optimization comments
 -vr            Disable remarks
 -vs            Disable signon
 -w<1|2|3>      Set warning reporting level

AML Output Files:
 -s<a|c>        Create AML in assembler or C source file (*.asm or *.c)
 -i<a|c>        Create assembler or C include file (*.inc or *.h)
 -t<a|c|s>      Create AML in assembler, C, or ASL hex table (*.hex)

AML Code Generation:
 -oa            Disable all optimizations (compatibility mode)
 -of            Disable constant folding
 -oi            Disable integer optimization to Zero/One/Ones
 -on            Disable named reference string optimization
 -cr            Disable Resource Descriptor error checking
 -r<Revision>   Override table header Revision (1-255)

Listings:
 -l             Create mixed listing file (ASL source and AML) (*.lst)
 -ln            Create namespace file (*.nsp)
 -ls            Create combined source file (expanded includes) (*.src)

ACPI Data Tables:
 -T <Sig>       Create table template file for <Sig> (or "ALL")
 -vt            Create verbose templates (full disassembly)

AML Disassembler:
 -d  [file]     Disassemble or decode binary ACPI table to file (*.dsl)
 -dc [file]     Disassemble AML and immediately compile it
                (Obtain DSDT from current system if no input file)
 -e  [f1,f2]    Include ACPI table(s) for external symbol resolution
 -2             Emit ACPI 2.0 compatible ASL code
 -g             Get ACPI tables and write to files (*.dat)

Help:
 -h             Additional help and compiler debug options
 -hc            Display operators allowed in constant expressions
 -hr            Display ACPI reserved method names
 -ht            Display currently supported ACPI table names

Compiler/Disassembler Debug Options:
 -b<p|t|b>      Create compiler debug/trace file (*.txt)
                  Types: Parse/Tree/Both
 -f             Ignore errors, force creation of AML output file(s)
 -n             Parse only, no output generation
 -ot            Display compile times
 -x<level>      Set debug level for trace output
 -z             Do not insert new compiler ID for DataTables
Fabios-Mac-Pro:~ iFabio$ 
[/size]

 

this decompiling... generic .aml

[size=1]Fabios-Mac-Pro:~ iFabio$ /Users/iFabio/Desktop/iasl -d /Users/iFabio/Desktop/DSDT\ AML\ originali/P6T-ASUS-DELUXE-2101.aml 

Intel ACPI Component Architecture
AML Disassembler version 20100702 [Jul  5 2010]
Copyright © 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0a

Loading Acpi table from file /Users/iFabio/Desktop/DSDT AML originali/P6T-ASUS-DELUXE-2101.aml
Acpi table [DSDT] successfully installed and loaded
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Parsing completed
Disassembly completed, written to "/Users/iFabio/Desktop/DSDT AML originali/P6T-ASUS-DELUXE-2101.dsl"
[/size]

this compiling .dsl

[size=1]Fabios-Mac-Pro:~ iFabio$ /Users/iFabio/Desktop/iasl /Volumes/Storage\ USB/Programmazione/Lavori\ DSDT/Iaslme/M2.5/M2.5.940.dsl 

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20100702 [Jul  5 2010]
Copyright © 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0a

ASL Input:  /Volumes/Storage USB/Programmazione/Lavori DSDT/Iaslme/M2.5/M2.5.940.dsl - 13409 lines, 434831 bytes, 5214 keywords
AML Output: /Volumes/Storage USB/Programmazione/Lavori DSDT/Iaslme/M2.5//DSDT.aml - 49113 bytes, 1145 named objects, 4069 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 95 Optimizations
Fabios-Mac-Pro:~ iFabio$ [/size]

 

but look like work

Fabio

Link to comment
Share on other sites

No idea what happened...

My iasl -h

[size=1]Last login: Tue Jul  6 16:28:24 on ttys000
Fabios-Mac-Pro:~ iFabio$ /Users/iFabio/Desktop/iasl -h
AML output filename generation:
 Output filenames are generated by appending an extension to a common
 filename prefix.  The filename prefix is obtained via one of the
 following methods (in priority order):
   1) The -p option specifies the prefix
   2) The prefix of the AMLFileName in the ASL Definition Block
   3) The prefix of the input filename

Global:
 -@<file>       Specify command file
 -I<dir>        Specify additional include directory

General Output:
 -p<prefix>     Specify path/filename prefix for all output files
 -va            Disable all errors and warnings (summary only)
 -vi            Less verbose errors and warnings for use with IDEs
 -vo            Enable optimization comments
 -vr            Disable remarks
 -vs            Disable signon
 -w<1|2|3>      Set warning reporting level

AML Output Files:
 -s<a|c>        Create AML in assembler or C source file (*.asm or *.c)
 -i<a|c>        Create assembler or C include file (*.inc or *.h)
 -t<a|c|s>      Create AML in assembler, C, or ASL hex table (*.hex)

AML Code Generation:
 -oa            Disable all optimizations (compatibility mode)
 -of            Disable constant folding
 -oi            Disable integer optimization to Zero/One/Ones
 -on            Disable named reference string optimization
 -cr            Disable Resource Descriptor error checking
 -r<Revision>   Override table header Revision (1-255)

Listings:
 -l             Create mixed listing file (ASL source and AML) (*.lst)
 -ln            Create namespace file (*.nsp)
 -ls            Create combined source file (expanded includes) (*.src)

ACPI Data Tables:
 -T <Sig>       Create table template file for <Sig> (or "ALL")
 -vt            Create verbose templates (full disassembly)

AML Disassembler:
 -d  [file]     Disassemble or decode binary ACPI table to file (*.dsl)
 -dc [file]     Disassemble AML and immediately compile it
                (Obtain DSDT from current system if no input file)
 -e  [f1,f2]    Include ACPI table(s) for external symbol resolution
 -2             Emit ACPI 2.0 compatible ASL code
 -g             Get ACPI tables and write to files (*.dat)

Help:
 -h             Additional help and compiler debug options
 -hc            Display operators allowed in constant expressions
 -hr            Display ACPI reserved method names
 -ht            Display currently supported ACPI table names

Compiler/Disassembler Debug Options:
 -b<p|t|b>      Create compiler debug/trace file (*.txt)
                  Types: Parse/Tree/Both
 -f             Ignore errors, force creation of AML output file(s)
 -n             Parse only, no output generation
 -ot            Display compile times
 -x<level>      Set debug level for trace output
 -z             Do not insert new compiler ID for DataTables
Fabios-Mac-Pro:~ iFabio$ 
[/size]

 

this decompiling... generic .aml

[size=1]Fabios-Mac-Pro:~ iFabio$ /Users/iFabio/Desktop/iasl -d /Users/iFabio/Desktop/DSDT\ AML\ originali/P6T-ASUS-DELUXE-2101.aml 

Intel ACPI Component Architecture
AML Disassembler version 20100702 [Jul  5 2010]
Copyright © 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0a

Loading Acpi table from file /Users/iFabio/Desktop/DSDT AML originali/P6T-ASUS-DELUXE-2101.aml
Acpi table [DSDT] successfully installed and loaded
Pass 1 parse of [DSDT]
Pass 2 parse of [DSDT]
Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
.................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................
Parsing completed
Disassembly completed, written to "/Users/iFabio/Desktop/DSDT AML originali/P6T-ASUS-DELUXE-2101.dsl"
[/size]

this compiling .dsl

[size=1]Fabios-Mac-Pro:~ iFabio$ /Users/iFabio/Desktop/iasl /Volumes/Storage\ USB/Programmazione/Lavori\ DSDT/Iaslme/M2.5/M2.5.940.dsl 

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20100702 [Jul  5 2010]
Copyright © 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0a

ASL Input:  /Volumes/Storage USB/Programmazione/Lavori DSDT/Iaslme/M2.5/M2.5.940.dsl - 13409 lines, 434831 bytes, 5214 keywords
AML Output: /Volumes/Storage USB/Programmazione/Lavori DSDT/Iaslme/M2.5//DSDT.aml - 49113 bytes, 1145 named objects, 4069 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 95 Optimizations
Fabios-Mac-Pro:~ iFabio$ [/size]

 

but look like work

Fabio

thanks, I'll look for possible reasons on own side

Link to comment
Share on other sites

mitch_de and iFabio thanx :thumbsup_anim:

 

here's the iASLme 64bit version with the latest ASL Optimizing Compiler 20100702 compiled for OS X by iFabio

 

Link to comment
Share on other sites

  • 3 weeks later...

@mitch_de

 

heres one for ya

 

                DWordMemory (ResourceProducer, SubDecode, MinFixed, MaxFixed, NonCacheable, ReadWrite,
                   0x00000000,         // Granularity
                   0x00000000,         // Range Minimum
                   0xFFFFFFFF,         // Range Maximum
                   0x00000000,         // Translation Offset
                   0x00000000,         // Length

 

How am i supposed to do that all the calculators are giving me 0x100000000 but then i get an above valid range error please help

Link to comment
Share on other sites

Nerologic, try this. It works. Use the HEX mode of the Calculator.app:

 

Yep. Try that (max-Min +1 = new Lenght)

 

EDIT: I decided to do the calculation and, yes, it returns 0x10000000 which is correct as calculation but returns an error. What would happen if you do your calculation like this: FFFF-0000+1=10000, using 0x10000 as a value?

Link to comment
Share on other sites

@rednous

 

thanks a lot for that it worked just had to take off the last four digits of all the vaules and then put the length as 0x10000

 

once again thanks a lot fully compiled dsdt now :D

 

wow, glad i helped you ;)

Link to comment
Share on other sites

  • 2 weeks later...

06 August 2010. Summary of changes for version 20100806:

1) ACPI CA Core Subsystem:

Designed and implemented a new host interface to the _OSI support code. This 
will allow the host to dynamically add or remove multiple _OSI strings, as 
well as install an optional handler that is called for each _OSI invocation. 
Also added a new AML debugger command, 'osi' to display and modify the global 
_OSI string table, and test support in the AcpiExec utility. See the ACPICA 
reference manual for full details. Lin Ming, Bob Moore. ACPICA BZ 836.
New Functions:
AcpiInstallInterface - Add an _OSI string.
AcpiRemoveInterface - Delete an _OSI string.
AcpiInstallInterfaceHandler - Install optional _OSI handler.
Obsolete Functions:
AcpiOsValidateInterface - no longer used.
New Files:
source/components/utilities/utosi.c

Re-introduced the support to enable multi-byte transfers for Embedded 
Controller (EC) operation regions. A reported problem was found to be a bug 
in the host OS, not in the multi-byte support. Previously, the maximum data 
size passed to the EC operation region handler was a single byte. There are 
often EC Fields larger than one byte that need to be transferred, and it is 
useful for the EC driver to lock these as a single transaction. This change 
enables single transfers larger than 8 bits. This effectively changes the 
access to the EC space from ByteAcc to AnyAcc, and will probably require 
changes to the host OS Embedded Controller driver to enable 16/32/64/256-bit 
transfers in addition to 8-bit transfers. Alexey Starikovskiy, Lin Ming.

Fixed a problem with the prototype for AcpiOsReadPciConfiguration. The 
prototype in acpiosxf.h had the output value pointer as a (void *).
It should be a (UINT64 *). This may affect some host OSL code.

Fixed a couple problems with the recently modified Linux makefiles for iASL 
and AcpiExec. These new makefiles place the generated object files in the 
local directory so that there can be no collisions between the files that are 
shared between them that are compiled with different options.

Example Code and Data Size: These are the sizes for the OS-independent 
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
debug version of the code includes the debug output trace mechanism and has a 
much larger code and data size.

2) iASL Compiler/Disassembler and Tools:

iASL/Disassembler: Added a new option (-da, "disassemble all") to load the 
namespace from and disassemble an entire group of AML files. Useful for 
loading all of the AML tables for a given machine (DSDT, SSDT1...SSDTn) and 
disassembling with one simple command. ACPICA BZ 865. Lin Ming.

iASL: Allow multiple invocations of -e option. This change allows multiple 
uses of -e on the command line: "-e ssdt1.dat -e ssdt2.dat". ACPICA BZ 834. Lin Ming.

 

iASL command line version 20100806

iASLme 64bit version with the latest ASL Optimizing Compiler 20100806

 

credit goes to Kabyl on how to compile iasl under OS X.

Link to comment
Share on other sites

06 August 2010. Summary of changes for version 20100806:

1) ACPI CA Core Subsystem:

You can skip this. Not important. Only IASL matters for OS X folks.

 

Tip: Next time you see something like: ACPICA BZ 834 or ACPICA BZ 865 you could – if you want – add links to the Bugzilla Bug Reports like so:

http://www.acpica.org/bugzilla/show_bug.cgi?id=834 ;)

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

iASL command line version 20100915 (September, 15th 2010) compiled under SL x64

iasl_20100915.zip

 

iASLme with the latest ASL Optimizing Compiler version 20100915 (September, 15th 2010) compiled under SL x64

iASLMe_64Bit_20100915.app.zip

 

Summary of iASL changes for version 20100915:

1) ACPI CA Core Subsystem:

Removed the AcpiOsDerivePciId OSL interface. The various host implementations 
of this function were not OS-dependent and are now obsolete and can be 
removed from all host OSLs. This function has been replaced by 
AcpiHwDerivePciId, which is now part of the ACPICA core code. 
AcpiHwDerivePciId has been implemented without recursion. Adds one new 
module, hwpci.c. ACPICA BZ 857, [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=857"]http://www.acpica.org/bugzilla/show_bug.cgi?id=857[/url].

Implemented a dynamic repair for _HID and _CID strings. The following 
problems are now repaired at runtime: 1) Remove a leading asterisk in the 
string, and 2) the entire string is uppercased. Both repairs are in 
accordance with the ACPI specification and will simplify host driver code. 
ACPICA BZ 871, [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=871"]http://www.acpica.org/bugzilla/show_bug.cgi?id=871[/url].

The ACPI_THREAD_ID type is no longer configurable, internally it is now 
always UINT64. This simplifies the ACPICA code, especially any printf output. 
UINT64 is the only common data type for all thread_id types across all 
operating systems. It is now up to the host OSL to cast the native thread_id 
type to UINT64 before returning the value to ACPICA (via AcpiOsGetThreadId). 
Lin Ming, Bob Moore.

Added the ACPI_INLINE type to enhance the ACPICA configuration. The "inline" 
keyword is not standard across compilers, and this type allows inline to be 
configured on a per-compiler basis. Lin Ming.

Made the system global AcpiGbl_SystemAwakeAndRunning publically available. 
Added an extern for this boolean in acpixf.h. Some hosts utilize this value 
during suspend/restore operations. ACPICA BZ 869, [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=869"]http://www.acpica.org/bugzilla/show_bug.cgi?id=869[/url].

All code that implements error/warning messages with the "ACPI:" prefix has 
been moved to a new module, utxferror.c.

The UINT64_OVERLAY was moved to utmath.c, which is the only module where it 
is used. ACPICA BZ 829. Lin Ming, Bob Moore, [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=829"]http://www.acpica.org/bugzilla/show_bug.cgi?id=829[/url].

Example Code and Data Size: These are the sizes for the OS-independent 
acpica.lib produced by the Microsoft Visual C++ 6.0 32-bit compiler. The 
debug version of the code includes the debug output trace mechanism and has a 
much larger code and data size.

2) iASL Compiler/Disassembler and Tools:

iASL/Disassembler: Write ACPI errors to stderr instead of the output file. 
This keeps the output files free of random error messages that may originate 
from within the namespace/interpreter code. Used this opportunity to merge 
all ACPI:-style messages into a single new module, utxferror.c. ACPICA BZ 
866. Lin Ming, Bob Moore, [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=866"]http://www.acpica.org/bugzilla/show_bug.cgi?id=866[/url].

Tools: update some printfs for ansi warnings on size_t. Handle width change 
of size_t on 32-bit versus 64-bit generations. Lin Ming.

Link to comment
Share on other sites

 Share

×
×
  • Create New...