Intel ACPI tools. The NEW version 20140828 compiled from original sources. Use iasl compiler with your DSDTSE or another editor. To update your DSDTSE, simply right click on DSDTSE --> Show contents, drag'n'drop iasl into --> Contents --> Resources. Another editors have mostly the same way. Or another way by Terminal: drag iasl on Terminal window (bash), (press Return (Enter) to see all keys) -> write some keys, drag Aml/Dsl file to compile/decompile. This way you can more deeply configure/clean your DSDT during compile (especially with -w3 key), find more warnings and junk code, empty / uninitialized methods.
Major tools and utilities:
- iASL - ACPI Source Language Compiler, ACPI Table Compiler, and AML Disassembler
- AcpiExec - Load ACPI tables and execute control methods from user space
- AcpiDump - Obtain system ACPI tables and save in ASCII hex format
- AcpiXtract - Extract binary ACPI tables from an ASCII acpidump
- AcpiHelp - Help utility for ASL operators, AML opcodes, and ACPI Predefined Names
- AcpiNames - Example utility that loads and displays the ACPI namespace
- AcpiSrc - Convert ACPICA code to Linux format
- AcpiBin - Miscellaneous manipulation of binary ACPI tables
To have a correctly disassembled DSL file w/o unexpected errors, you need to use the Terminal to decompile AML binaries. If you have a modern platform and more than 1 SSDT in your ACPI, you need to decompile all of them correctly. To decompile only DSDT.aml use -e key:
What's New in Version 20140828
- 28 August 2014. Summary of changes for version 20140828:
- 1) ACPICA kernel-resident subsystem:
- Fixed a problem related to the internal use of the Timer() operator where a 64-bit divide could cause an attempted link to a double-precision math library. This divide is not actually necessary, so the code was restructured to eliminate it. Lv Zheng.
- ACPI 5.1: Added support for the runtime validation of the _DSD package (similar to the iASL support).
- ACPI 5.1/Headers: Added support for the GICC affinity subtable to the SRAT table. Hanjun Guo <email@example.com>.
- Example Code and Data Size: These are the sizes for the OS-independent acpica.lib produced by the Microsoft Visual C++ 9.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.
- Current Release:
- Non-Debug Version: 98.8K Code, 27.3K Data, 126.1K Total
- Debug Version: 192.1K Code, 79.8K Data, 271.9K Total
- Previous Release:
- Non-Debug Version: 98.7K Code, 27.3K Data, 126.0K Total1
- Debug Version: 192.0K Code, 79.7K Data, 271.7K Total
- 2) iASL Compiler/Disassembler and Tools:
- AcpiExec: Fixed a problem on unix systems where the original terminal state was not always properly restored upon exit. Seen when using the -v option. ACPICA BZ 1104.
- iASL: Fixed a problem with the validation of the ranges/length within the Memory24 resource descriptor. There was a boundary condition when the range was equal to the (length -1) caused by the fact that these values are defined in 256-byte blocks, not bytes. ACPICA BZ 1098
- Disassembler: Fixed a problem with the GpioInt descriptor interrupt polarity flags. The flags are actually 2 bits, not 1, and the "ActiveBoth" keyword is now supported properly.
- ACPI 5.1: Added the GICC affinity subtable to the SRAT table. Supported in the disassembler, data table compiler, and table template generator.
- iASL: Added a requirement for Device() objects that one of either a _HID or _ADR must exist within the scope of a Device, as per the ACPI specification. Remove a similar requirement that was incorrectly in place for the _DSD object.
- iASL: Added error detection for illegal named references within control methods that would cause runtime failures. Now trapped as errors are: 1) References to objects within a non-parent control method. 2) Forward references (within a method) -- for control methods, AML interpreters use a one-pass parse of control methods. ACPICA BZ 1008.
- iASL: Added error checking for dependencies related to the _PSx power methods. ACPICA BZ 1029.
- 1) For _PS0, one of these must exist within the same scope: _PS1, _PS2, _PS3.
- 2) For _PS1, _PS2, and PS3: A _PS0 object must exist within the same scope.
- iASL and table compiler: Cleanup miscellaneous memory leaks by fully deploying the existing object and string caches and adding new caches for the table compiler.
- iASL: Split the huge parser source file into multiple subfiles to improve manageability. Generation now requires the M4 macro preprocessor, which is part of the Bison distribution on both unix and windows platforms.
- AcpiSrc: Fixed and removed all extraneous warnings generated during entire ACPICA source code scan and/or conversion.