IASL(1)

πŸ’– iasl β€” ACPI Source Language compiler/decompiler πŸ’–

okay bestie, sit down, hydrate, because we're about to talk about iasl, and honestly? she's iconic. this is the IASL(1) manual page, General Commands Manual energy, and i'm gonna walk you through it like we're texting at 2am. 🫢


✨ NAME ✨

iasl β€” the ACPI Source Language compiler/decompiler. that's her. that's the whole name. short, sweet, does literally everything. πŸ’…


🌸 SYNOPSIS 🌸

iasl [<option>...] <input-file> ...

like. you give her options, you give her input files, she goes. that's the vibe. ✨


πŸ¦‹ DESCRIPTION πŸ¦‹

so this manual page is a brief lil doc for the iasl command β€” the option list is pulled straight from iasl's interactive help, no cap. πŸ“

iasl is an ASL compiler and decompiler. she's giving both directions of the pipeline, main character energy fr fr:

  • she can translate one or more ASL source files into their corresponding AML binary files ✨
  • and she can translate AML binary files back into readable ASL source πŸ”„

if you want the much more detailed documentation (and bestie, sometimes you do), it lives at http://www.acpica.org/documentation/. go drink it in. πŸ“


πŸ‘‘ OPTIONS πŸ‘‘

🌈 Global

  • -@ <file> β€” specify command file
  • -I <dir> β€” specify an additional include directory
  • -T <sig>|ALL|* β€” create a table template file for ACPI <sig>
  • -v β€” display compiler version

🧚 Preprocessor

  • -D <symbol> β€” define a symbol for preprocessor use
  • -li β€” create a preprocessed output file (*.i)
  • -P β€” preprocess only, and create the preprocessor output file (*.i)
  • -Pn β€” disable the preprocessor

πŸ’œ 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 the warning reporting level
  • -we β€” report warnings as errors

πŸŽ€ AML and Data Output Files

  • -s{a|c} β€” create an assembler or C source file (*.asm or *.c)
  • -i{a|c} β€” create an assembler or C include file (*.inc or *.h)
  • -t{a|c|s} β€” create an 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
  • -in β€” ignore NoOp operators
  • -r <revision> β€” override the table header Revision (1-255)

⭐ ASL Listing Files

  • -l β€” create a mixed listing file (ASL source and AML) (*.lst)
  • -ln β€” create a namespace file (*.nsp)
  • -ls β€” create a combined source file (expanded includes) (*.src)

πŸ’€ ACPI Data Tables

  • -G β€” compile a custom table containing generic operators
  • -vt β€” create verbose templates (full disassembly)

🌸 AML Disassembler

  • -d [<file>] β€” disassemble AML to an ASL source code file (*.dsl)
  • -da [<file1>,<file2>] β€” disassemble multiple tables from a single namespace
  • -db β€” do not translate Buffers to Resource Templates
  • -dc [<file>] β€” disassemble AML and immediately compile it (obtain DSDT from the current system if there's no input file)
  • -e [<file1>,<file2>] β€” include ACPI table(s) for external symbol resolution
  • -g β€” get ACPI tables and write them to files (*.dat)
  • -in β€” ignore NoOp opcodes
  • -vt β€” dump binary table data in hex format within the output file

🫢 Help

  • -h β€” additional help and compiler debug options
  • -hc β€” display operators allowed in constant expressions
  • -hf β€” display help for output file name generation
  • -hr β€” display ACPI reserved method names
  • -ht β€” display currently supported ACPI table names

πŸ™ˆ Debug

  • -b{f|t} β€” create a debug file (full, or parse tree only) (*.txt)
  • -f β€” ignore errors, force creation of the AML output file(s)
bestie. listen. -f literally means ignore errors and force it anyway. that's not a suggestion, that's a warning label. πŸ’€
  • -n β€” parse only, no output generation
  • -ot β€” display compile times and statistics
  • -x <level> β€” set the debug level for trace output
  • -z β€” do not insert a new compiler ID for DataTables

πŸ’– AUTHOR πŸ’–

iasl was written by Robert Moore <robert.moore@intel.com>. πŸ‘‘

this manual page was written by Mattia Dongili <malattia@debian.org>, for the Debian project (but it may be used by others). it was updated for the Fedora project by Al Stone <ahs3@redhat.com> (and may also be used by others). 🫢


and that's the whole page, bestie!! πŸ’…βœ¨ this version of the iasl man page is dated January 23, 2013, it belongs to the IASL(1) era of things, and honestly? she ate. go compile something. periodt. πŸŽ€πŸ¦‹