Intel Asl Compiler Iasl: Compiling From Scratch |
|
|

Oct 31 2011, 07:02 PM

- Initiate
- Group: Comrade
- Posts: 5
QUOTE (Slice @ Oct 31 2011, 02:49 PM)

Don't worry.
Check, 32-bit version works in 64-bit environment. See no sense to look for 64bit version.
THANK YOU. I will not be able to try this for a few nights, but when I do, I will provide you my feedback, and hopefully success, and not a slew of mistakes or errors.

Nov 6 2011, 08:08 AM




- Advanced Member
- Group: Developer
- Posts: 826
Little script file to download latest source from github and compile.
[attachment=3873:AcpicaTool.command.zip]

and NO I don't have 24gig, It's only 16gig

Dec 3 2011, 07:39 PM




- Advanced Member
- Group: Developer
- Posts: 5,555
CODE
Supports ACPI Specification Revision 5.0
Something new in the specification, for examble Boot Graphics Table and UEFI Table.
CODE
/*
* Intel ACPI Component Architecture
* iASL Compiler/Disassembler version 20111123-32 [Dec 3 2011]
* Copyright (c) 2000 - 2011 Intel Corporation
*
* Template for [UEFI] ACPI Table
* Format: [ByteLength] FieldName : HexFieldValue
*/
[0004] Signature : "UEFI" [UEFI Boot Optimization Table]
[0004] Table Length : 00000036
[0001] Revision : 01
[0001] Checksum : 9B
[0006] Oem ID : "INTEL "
[0008] Oem Table ID : "TEMPLATE"
[0004] Oem Revision : 00000001
[0004] Asl Compiler ID : "INTL"
[0004] Asl Compiler Revision : 20100528
[0016] UUID Identifier : 03020100-0504-0706-0809-0A0B0C0D0E0F
[0002] Data Offset : 0000
iasl.zip ( 268.19K )
Number of downloads: 110

Dec 5 2011, 07:08 AM




- Advanced Member
- Group: Developer
- Posts: 5,555
CODE
ACPI tables supported by iASL subsystems in version 20111123:
ASL and Data Table compilers
AML and Data Table disassemblers
ACPI table template generator
1) DSDT Differentiated System Description Table
2) SSDT Secondary System Description Table
3) FACP Fixed ACPI Description Table (FADT)
4) FACS Firmware ACPI Control Structure
5) RSDP Root System Description Pointer
6) ASF! Alert Standard Format table
7) BOOT Simple Boot Flag Table
8) BERT Boot Error Record Table
9) BGRT Boot Graphics Resource Table
10) CPEP Corrected Platform Error Polling table
11) DBGP Debug Port table
12) DMAR DMA Remapping table
13) ECDT Embedded Controller Boot Resources Table
14) EINJ Error Injection table
15) ERST Error Record Serialization Table
16) FACP Fixed ACPI Description Table
17) FPDT Firmware Performance Data Table
18) GTDT Generic Timer Description Table
19) HEST Hardware Error Source Table
20) HPET High Precision Event Timer table
21) IVRS I/O Virtualization Reporting Structure
22) APIC Multiple APIC Description Table
23) MCFG Memory Mapped Configuration table
24) MCHI Management Controller Host Interface table
25) MPST Memory Power State Table
26) MSCT Maximum System Characteristics Table
27) PCCT Platform Communications Channel Table
28) PMTT Platform Memory Topology Table
29) RSDT Root System Description Table
30) S3PT S3 Performance Table
31) SBST Smart Battery Specification Table
32) SLIC Software Licensing Description Table
33) SLIT System Locality Information Table
34) SPCR Serial Port Console Redirection table
35) SPMI Server Platform Management Interface table
36) SRAT System Resource Affinity Table
37) TCPA Trusted Computing Platform Alliance table
38) UEFI UEFI Boot Optimization Table
39) WAET Windows ACPI Emulated Devices Table
40) WDAT Watchdog Action Table
41) WDDT Watchdog Description Table
42) WDRT Watchdog Resource Table
43) XSDT Extended System Description Table

May 20 2012, 12:46 PM




- Advanced Member
- Group: Developer
- Posts: 5,555
Next Release
CODE
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120518-64 [May 20 2012]
Copyright (c) 2000 - 2012 Intel Corporation
iasl_2012_05_18.zip ( 319.02K )
Number of downloads: 70

Sep 2 2012, 10:33 AM




- Advanced Member
- Group: Developer
- Posts: 5,555
Next
CODE
iMac:1 slice$ iasl -v
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120816-32 [Sep 2 2012]
Copyright (c) 2000 - 2012 Intel Corporation
iMac:1 slice$
iasl.zip ( 335.06K )
Number of downloads: 25

Sep 3 2012, 08:37 AM




- Advanced Member
- Group: Developer
- Posts: 5,555
Leo compatible version
iasl_Leo_20120320_32.zip ( 264.07K )
Number of downloads: 12

Sep 3 2012, 09:21 PM

- Initiate
- Group: Comrade
- Posts: 15

Sep 4 2012, 06:02 AM




- Advanced Member
- Group: Developer
- Posts: 5,555
QUOTE (cavendish @ Sep 4 2012, 01:21 AM)

The method is obsolete for newer sources
CODE
version 20120111

Sep 7 2012, 08:27 PM




- Advanced Member
- Group: Developer
- Posts: 826
@Slice
How are you compiling?
Can't compile here.
Building seems to have changed in the later versions.

and NO I don't have 24gig, It's only 16gig

Sep 8 2012, 06:36 AM




- Advanced Member
- Group: Developer
- Posts: 5,555
QUOTE (STLVNUB @ Sep 8 2012, 12:27 AM)

@Slice
How are you compiling?
Can't compile here.
Building seems to have changed in the later versions.
Yes, compilation procedure is change with every versions. I have to solve the puzzle again and again.
There is a problem with latest sources that can be compiled but really don't work.
PS. Works in ML 63bit version after the follow changes
acpica/generate/unix/Makefile.config
CODE
#HOST = _CYGWIN
HOST = _LINUX
...
# cp --remove-destination $(PROG) ../$(BINDIR);
cp -r -v $(PROG) ../$(BINDIR); \
....
CFLAGS += \
$(BITSFLAG) \
-D$(HOST) \
-D_GNU_SOURCE \
-D_FORTIFY_SOURCE=2 \
-DACPI_USE_ALTERNATE_TIMEOUT \
-I$(ACPICA_INCLUDE)
...
CWARNINGFLAGS += \
-Waddress \
-Waggregate-return \
-Wchar-subscripts \
-Wempty-body \
-Wmissing-declarations \
-Wmissing-field-initializers \
-Wnested-externs \
-Wold-style-definition \
-Wredundant-decls
# -Wtype-limits
# -Wlogical-op \
# -Wmissing-parameter-type \
# -Wold-style-declaration \
acpica/generate/unix/acpiexec/Makefile
CODE
LDFLAGS += -lpthread
#-lrt
Result
CODE
iHack:3 slice$ ./iasl -v
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120816-64 [Sep 8 2012]
Copyright (c) 2000 - 2012 Intel Corporation

Sep 8 2012, 10:24 AM




- Advanced Member
- Group: Developer
- Posts: 826
QUOTE (Slice @ Sep 8 2012, 04:36 PM)

Yes, compilation procedure is change with every versions. I have to solve the puzzle again and again.
There is a problem with latest sources that can be compiled but really don't work.
PS. Works in ML 63bit version after the follow changes
acpica/generate/unix/Makefile.config
CODE
#HOST = _CYGWIN
HOST = _LINUX
...
# cp --remove-destination $(PROG) ../$(BINDIR);
cp -r -v $(PROG) ../$(BINDIR); \
....
CFLAGS += \
$(BITSFLAG) \
-D$(HOST) \
-D_GNU_SOURCE \
-D_FORTIFY_SOURCE=2 \
-DACPI_USE_ALTERNATE_TIMEOUT \
-I$(ACPICA_INCLUDE)
...
CWARNINGFLAGS += \
-Waddress \
-Waggregate-return \
-Wchar-subscripts \
-Wempty-body \
-Wmissing-declarations \
-Wmissing-field-initializers \
-Wnested-externs \
-Wold-style-definition \
-Wredundant-decls
# -Wtype-limits
# -Wlogical-op \
# -Wmissing-parameter-type \
# -Wold-style-declaration \
acpica/generate/unix/acpiexec/Makefile
CODE
LDFLAGS += -lpthread
#-lrt
Result
CODE
iHack:3 slice$ ./iasl -v
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120816-64 [Sep 8 2012]
Copyright (c) 2000 - 2012 Intel Corporation
Thanks Slice

and NO I don't have 24gig, It's only 16gig

Oct 13 2012, 03:31 PM




- Advanced Member
- Group: Developer
- Posts: 5,555
New revision
CODE
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120913-64 [Oct 13 2012]
Copyright (c) 2000 - 2012 Intel Corporation
iasl_20120913.zip ( 377.18K )
Number of downloads: 61

Oct 13 2012, 07:09 PM




- Advanced Member
- Group: Developer
- Posts: 826
QUOTE (Slice @ Oct 14 2012, 01:31 AM)

New revision
CODE
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20120913-64 [Oct 13 2012]
Copyright (c) 2000 - 2012 Intel Corporation
iasl_20120913.zip ( 377.18K )
Number of downloads: 61Mind sharing your build script/method
ThanksThanks again
This post has been edited by STLVNUB: Oct 13 2012, 07:11 PM

and NO I don't have 24gig, It's only 16gig

Nov 25 2012, 07:13 AM




- Advanced Member
- Group: Developer
- Posts: 5,555
New version. Isn't checked yet in 10.5.
CODE
iHack:1 Slice$ iasl -ta DSDT.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20121114-32 [Nov 25 2012]
Copyright (c) 2000 - 2012 Intel Corporation
ASL Input: DSDT.dsl - 9611 lines, 280315 bytes, 3365 keywords
AML Output: DSDT.aml - 33548 bytes, 1040 named objects, 2325 executable opcodes
Hex Dump: DSDT.hex - 306436 bytes
Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 92 Optimizations
iHack:1 Slice$
iasl.zip ( 335.41K )
Number of downloads: 40EDITED: Can't compile into Leo because of compiler version, so March 2012 is the last version for 10.5.x system.

Jan 2 2013, 06:34 PM


- Member
- Group: Comrade
- Posts: 58
New version 20121220-64.
Tested with 10.8.3
CODE
localhost:test alex$ /Users/alex/Downloads/./iasl -tan DSDTm.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20121220-64 [Dec 29 2012]
Copyright (c) 2000 - 2012 Intel Corporation
ASL Input: DSDTm.dsl - 11055 lines, 378640 bytes, 4495 keywords
AML Output: dsdt.aml - 44125 bytes, 1272 named objects, 3223 executable opcodes
Hex Dump: DSDTm.hex - 402944 bytes
Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 108 Optimizations
Thanks Slice for the source edits.
iasl_20121220_64.zip ( 379.88K )
Number of downloads: 19 This post has been edited by xsmile: Jan 2 2013, 06:35 PM
10.8.3 @ Asus P8Z77-V LK [ALC892, ASM1042, RTL8168], Core i5-3570k, XFX HD 7870

Jan 17 2013, 11:32 PM


- Member
- Group: Comrade
- Posts: 58
New version 20130117-64.
Tested with 10.8.3.
CODE
> alex@box [~/Downloads/acpica-unix-20130117/generate/unix/bin64] ./iasl -tan DSDT.dsl
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20130117-64 [Jan 18 2013]
Copyright (c) 2000 - 2013 Intel Corporation
ASL Input: DSDT.dsl - 11915 lines, 374874 bytes, 4303 keywords
AML Output: /var/folders/0m/dfxj1z3j17l4b004sq6r8p240000gn/T/iASLtrfRND.aml - 43480 bytes, 1269 named objects, 3034 executable opcodes
Hex Dump: DSDT.hex - 397033 bytes
Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 102 Optimizations
iasl_20130117_64.zip ( 380.25K )
Number of downloads: 44QUOTE
17 January 2013. Summary of changes for version 20130117:
1) ACPICA Kernel-resident Subsystem:
Updated the AcpiGetSleepTypeData interface: Allow the \_Sx methods to
return either 1 or 2 integers. Although the ACPI spec defines the \_Sx
objects to return a package containing one integer, most BIOS code returns
two integers and the previous code reflects that. However, we also need to
support BIOS code that actually implements to the ACPI spec, and this
change reflects this.
Fixed two issues with the ACPI_DEBUG_PRINT macros:
1) Added the ACPI_DO_WHILE macro to the main DEBUG_PRINT helper macro for
C compilers that require this support.
2) Renamed the internal ACPI_DEBUG macro to ACPI_DO_DEBUG_PRINT since
ACPI_DEBUG is already used by many of the various hosts.
Updated all ACPICA copyrights and signons to 2013. Added the 2013
copyright to all module headers and signons, including the standard Linux
header. This affects virtually every file in the ACPICA core subsystem,
iASL compiler, all ACPICA utilities, and the test suites.
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.
Previous Release:
Non-Debug Version: 94.5K Code, 25.5K Data, 120.0K Total
Debug Version: 182.2K Code, 74.9K Data, 257.1K Total
Current Release:
Non-Debug Version: 94.5K Code, 25.4K Data, 119.9K Total
Debug Version: 182.3K Code, 75.0K Data, 257.3K Total
This post has been edited by xsmile: Jan 17 2013, 11:34 PM
10.8.3 @ Asus P8Z77-V LK [ALC892, ASM1042, RTL8168], Core i5-3570k, XFX HD 7870

Mar 7 2013, 09:02 AM




- Advanced Member
- Group: Developer
- Posts: 5,555
New version
CODE
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20130214-32 [Mar 7 2013]
Copyright (c) 2000 - 2013 Intel Corporation
Supports ACPI Specification Revision 5.0
Usage: iasl [Options] [Files]
Options:
Global:
-@ <file> Specify command file
-I <dir> Specify additional include directory
-T <sig>|ALL|* Create table template file for ACPI <Sig>
-v Display compiler version
Preprocessor:
-D <symbol> Define symbol for preprocessor use
-li Create preprocessed output file (*.i)
-P Preprocess only and create preprocessor output file (*.i)
-Pn Disable preprocessor
General Processing:
-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
-w1 -w2 -w3 Set warning reporting level
-we Report warnings as errors
AML Code Generation (*.aml):
-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 table header Revision (1-255)
Optional Source Code Output Files:
-sc -sa Create source file in C or assembler (*.c or *.asm)
-ic -ia Create include file in C or assembler (*.h or *.inc)
-tc -ta -ts Create hex AML table in C, assembler, or ASL (*.hex)
Optional Listing Files:
-l Create mixed listing file (ASL source and AML) (*.lst)
-ln Create namespace file (*.nsp)
-ls Create combined source file (expanded includes) (*.src)
Data Table Compiler:
-G Compile custom table that contains generic operators
-vt Create verbose template files (full disassembly)
AML Disassembler:
-d <f1,f2> Disassemble or decode binary ACPI tables to file (*.dsl)
(Optional, file type is automatically detected)
-da <f1,f2> Disassemble multiple tables from single namespace
-db Do not translate Buffers to Resource Templates
-dc <f1,f2> 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
-g Get ACPI tables and write to files (*.dat)
-in Ignore NoOp opcodes
-vt Dump binary table data in hex format within output file
Help:
-h This message
-hc Display operators allowed in constant expressions
-hf Display help for output filename generation
-hr Display ACPI reserved method names
-ht Display currently supported ACPI table names
Debug Options:
-bf -bt Create debug file (full or parse tree only) (*.txt)
-f Ignore errors, force creation of AML output file(s)
-m <size> Set internal line buffer size (in Kbytes)
-n Parse only, no output generation
-ot Display compile times and statistics
-x <level> Set debug level for trace output
-z Do not insert new compiler ID for DataTables
iasl.zip ( 313.03K )
Number of downloads: 26

Apr 5 2013, 05:17 AM




- Advanced Member
- Group: Developer
- Posts: 826

and NO I don't have 24gig, It's only 16gig

Apr 14 2013, 09:13 PM


- Member
- Group: Comrade
- Posts: 58
CODE
28 March 2013. Summary of changes for version 20130328:
1) ACPICA kernel-resident subsystem:
Fixed several possible race conditions with the internal object reference
counting mechanism. Some of the external ACPICA interfaces update object
reference counts without holding the interpreter or namespace lock. This
change adds a spinlock to protect reference count updates on the internal
ACPICA objects. Reported by and with assistance from Andriy Gapon
(avg@FreeBSD.org).
FADT support: Removed an extraneous warning for very large GPE register
sets. This change removes a size mismatch warning if the legacy length
field for a GPE register set is larger than the 64-bit GAS structure can
accommodate. GPE register sets can be larger than the 255-bit width
limitation of the GAS structure. Linn Crosetto (linn@hp.com).
_OSI Support: handle any errors from AcpiOsAcquireMutex. Check for error
return from this interface. Handles a possible timeout case if
ACPI_WAIT_FOREVER is modified by the host to be a value less than
"forever". Jung-uk Kim.
Predefined name support: Add allowed/required argument type information to
the master predefined info table. This change adds the infrastructure to
enable typechecking on incoming arguments for all predefined
methods/objects. It does not actually contain the code that will fully
utilize this information, this is still under development. Also condenses
some duplicate code for the predefined names into a new module,
utilities/utpredef.c
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.
Previous Release:
Non-Debug Version: 95.0K Code, 25.9K Data, 120.9K Total
Debug Version: 182.9K Code, 75.6K Data, 258.5K Total
Current Release:
Non-Debug Version: 95.2K Code, 26.4K Data, 121.6K Total
Debug Version: 183.0K Code, 76.0K Data, 259.0K Total
2) iASL Compiler/Disassembler and Tools:
iASL: Implemented a new option to simplify the development of ACPI-related
BIOS code. Adds support for a new "offset table" output file. The -so
option will create a C table containing the AML table offsets of various
named objects in the namespace so that BIOS code can modify them easily at
boot time. This can simplify BIOS runtime code by eliminating expensive
searches for "magic values", enhancing boot times and adding greater
reliability. With assistance from Lee Hamel.
iASL: Allow additional predefined names to return zero-length packages.
Now, all predefined names that are defined by the ACPI specification to
return a "variable-length package of packages" are allowed to return a
zero length top-level package. This allows the BIOS to tell the host that
the requested feature is not supported, and supports existing BIOS/ASL
code and practices.
iASL: Changed the "result not used" warning to an error. This is the case
where an ASL operator is effectively a NOOP because the result of the
operation is not stored anywhere. For example:
Add (4, Local0)
There is no target (missing 3rd argument), nor is the function return
value used. This is potentially a very serious problem -- since the code
was probably intended to do something, but for whatever reason, the value
was not stored. Therefore, this issue has been upgraded from a warning to
an error.
AcpiHelp: Added allowable/required argument types to the predefined names
info display. This feature utilizes the recent update to the predefined
names table (above).
iasl_20130328_64.zip ( 332.57K )
Number of downloads: 20
10.8.3 @ Asus P8Z77-V LK [ALC892, ASM1042, RTL8168], Core i5-3570k, XFX HD 7870