Jump to content

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


mitch_de
 Share

265 posts in this topic

Recommended Posts

Brilliant thank you so much! I've been working on this for hours trying to figure out the problem and just didn't know where to start. I will take a look and hopefully figure something out. Thank you again =)

Link to comment
Share on other sites

Summary of iASL changes for version 20120320, March 20th 2012:

[color=#000000]1. ACPICA Core Subsystem:[/color]

Enhanced the sleep/wake interfaces to optionally execute the _GTS method (Going To Sleep) and the _BFS method (Back From Sleep). Windows apparently does not execute these methods, and therefore these methods are often untested. It has been seen on some systems where the execution of these methods causes errors and also prevents the machine from entering S5. It is therefore suggested that host operating systems do not execute these methods by default. In the future, perhaps these methods can be optionally executed based on the age of the system and/or what is the newest version of Windows that the BIOS asks for via _OSI. Changed interfaces: AcpiEnterSleepState and
AcpileaveSleepStatePrep. See the ACPICA reference and Linux BZ 13041. Lin Ming.

Fixed a problem where the length of the local/common FADT was set too early. The local FADT table length cannot be set to the common length until the original length has been examined. There is code that checks the table length and sets various fields appropriately. This can affect older machines with early FADT versions. For example, this can cause inadvertent writes to the CST_CNT register. Julian Anastasov.

Fixed a mapping issue related to a physical table override. Use the deferred mapping mechanism for tables loaded via the physical override OSL interface. This allows for early mapping before the virtual memory manager is available. Thomas Renninger, Bob Moore.

Enhanced the automatic return-object repair code: Repair a common problem with predefined methods that are defined to return a variable-length Package of
sub-objects. If there is only one sub-object, some BIOS ASL code mistakenly simply returns the single object instead of a Package with one sub-object.
This new support will repair this error by wrapping a Package object around the original object, creating the correct and expected Package with one sub-
object. Names that can be repaired in this manner include: _ALR, _CSD, _HPX, _MLS, _PLD, _PRT, _PSS, _TRT, _TSS, _BCL, _DOD, _FIX, and _Sx. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=939"]ACPICA BZ 939[/url].

Changed the exception code returned for invalid ACPI paths passed as
parameters to external interfaces such as AcpiEvaluateObject. Was
AE_BAD_PARAMETER, now is the more sensible AE_BAD_PATHNAME.


2. iASL Compiler/Disassembler and Tools:

iASL: Added the infrastructure and initial implementation of a integrated C-like preprocessor. This will simplify BIOS development process by eliminating the need for a separate preprocessing step during builds. On Windows, it also eliminates the need to install a separate C compiler. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=761"]ACPICA BZ 761[/url]. Some features including full #define() macro support are still under development. These preprocessor directives are supported:
#define
#elif
#else
#endif
#error
#if
#ifdef
#ifndef
#include
#pragma message
#undef
#warning
In addition, these new command line options are supported:
-D <symbol> Define symbol for preprocessor use
-li		 Create preprocessed output file (*.i)
-P		Preprocess only and create preprocessor output file (*.i)

Table Compiler: Fixed a problem where the equals operator within an expression did not work properly.

Updated iASL to use the current versions of Bison/Flex. Updated the Windows project file to invoke these tools from the standard location. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=904"]ACPICA BZ 904[/url].
Versions supported:
Flex for Windows:  V2.5.4
Bison for Windows: V2.4.1

 

iASL command line version 20120315 (March 15th 2012), Universal Binary (32 & 64 bit)

 

iaslMe 1.33 version 20120315 (March 15th 2012), Universal Binary (32 & 64 bit)

 

 

Creadits to: cVad, Kabyl, Slice, STLVNUB

Link to comment
Share on other sites

  • 1 month later...

Summary of iASL changes for version 20120420, April 20th 2012:

[color=#000000]1) ACPICA Core Subsystem:[/color]

Implemented support for multiple notify handlers. This change adds support to
allow multiple system and device notify handlers on Device, Thermal Zone, and
Processor objects. This can simplify the host OS notification implementation.
Also re-worked and restructured the entire notify support code to simplify
handler installation, handler removal, notify event queuing, and notify
dispatch to handler(s). Note: there can still only be two global notify
handlers - one for system notifies and one for device notifies. There are no
changes to the existing handler install/remove interfaces. Lin Ming, Bob
Moore, Rafael Wysocki.

Fixed a regression in the package repair code where the object reference
count was calculated incorrectly. Regression was introduced in the commit
"Support to add Package wrappers".

Fixed a couple possible memory leaks in the AML parser, in the error recovery
path. Jesper Juhl, Lin Ming.


2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a problem with the resource descriptor support where the length
of the StartDependentFn and StartDependentFnNoPrio descriptors were not
included in cumulative descriptor offset, resulting in incorrect values for
resource tags within resource descriptors appearing after a StartDependent*
descriptor. Reported by Petr Vandrovec. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=949"]ACPICA BZ 949[/url].

iASL and Preprocessor: Implemented full support for the #line directive to
correctly track original source file line numbers through the .i preprocessor
output file - for error and warning messages.

iASL: Expand the allowable byte constants for address space IDs. Previously,
the allowable range was 0x80-0xFF (user-defined spaces), now the range is
0x0A-0xFF to allow for custom and new IDs without changing the compiler.

iASL: Add option to treat all warnings as errors (-we). [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=948"]ACPICA BZ 948[/url].

iASL: Add option to completely disable the preprocessor (-Pn).

iASL: Now emit all error/warning messages to standard error (stderr) by
default (instead of the previous stdout).

ASL Test Suite (ASLTS): Reduce iASL warnings due to use of Switch(). Update
for resource descriptor offset fix above. Update/cleanup error output
routines. Enable and send iASL errors/warnings to an error logfile
(error.txt). Send all other iASL output to a logfile (compiler.txt). Fixed
several extraneous "unrecognized operator" messages.

 

iASL command line version 20120420 (April 20th 2012), Universal Binary (32 & 64 bit) -> iasl 20120420.zip

 

iaslMe 1.33 version 20120420 (April 20th 2012), Universal Binary (32 & 64 bit) -> iaslMe 20120420.zip

 

 

Creadits to: cVad, Kabyl, Slice, STLVNUB

Link to comment
Share on other sites

  • 4 weeks later...

18 May 2012. Summary of changes for version 20120518:

1) ACPICA Core Subsystem:

Added a new OSL interface, AcpiOsWaitEventsComplete. This interface is defined
to block until asynchronous events such as notifies and GPEs have completed.
Within ACPICA, it is only called before a notify or GPE handler is
removed/uninstalled. It also may be useful for the host OS within related
drivers such as the Embedded Controller driver. See the ACPICA reference for
additional information. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=868"]ACPICA BZ 868[/url].

ACPI Tables: Added a new error message for a possible overflow failure during
the conversion of FADT 32-bit legacy register addresses to internal common 64-
bit GAS structure representation. The GAS has a one-byte "bit length" field,
thus limiting the register length to 255 bits. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=953"]ACPICA BZ 953[/url].

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.


2) iASL Compiler/Disassembler and Tools:

iASL: Added the ACPI 5.0 "PCC" keyword for use in the Register() ASL macro.
This keyword was added late in the ACPI 5.0 release cycle and was not
implemented until now.

Disassembler: Added support for Operation Region externals. Adds missing
support for operation regions that are defined in another table, and
referenced locally via a Field or BankField ASL operator. Now generates the
correct External statement.

Disassembler: Several additional fixes for the External() statement generation
related to some ASL operators. Also, order the External() statements
alphabetically in the disassembler output. Fixes the External() generation for
the Create* field, Alias, and Scope operators:
1) Create* buffer field operators - fix type mismatch warning on disassembly
2) Alias - implement missing External support
3) Scope - fix to make sure all necessary externals are emitted.

iASL: Improved pathname support. For include files, merge the prefix pathname
with the file pathname and eliminate unnecessary components. Convert
backslashes in all pathnames to forward slashes, for readability. Include file
pathname changes affect both #include and Include() type operators.

iASL/DTC/Preprocessor: Gracefully handle early EOF. Handle an EOF at the end
of a valid line by inserting a newline and then returning the EOF during the
next call to GetNextLine. Prevents the line from being ignored due to EOF
condition.

iASL: Implemented some changes to enhance the IDE support (-vi option.) Error
and Warning messages are now correctly recognized for both the source code
browser and the global error and warning counts.
[/codeBOX]

 

 

 

[b]iASL command line version 20120518 ([/b][b]May 18th 2012[/b][b]), Universal Binary (32 & 64 bit) -> [/b]iasl-20120518.zip

 

[b]iaslMe 1.33 version 20120518 ([/b][b]May 18th 2012[/b][b]), Universal Binary (32 & 64 bit)[/b] -> iaslMe-20120518.zip

 

 

[b]Creadits to:[/b] cVad, Kabyl, Slice, STLVNUB

Link to comment
Share on other sites

  • 1 month later...

20 June 2012. Summary of changes for version 20120620:

[color=#000000]1) ACPICA Kernel-resident Subsystem:[/color]
Implemented support to expand the "implicit notify" feature to allow multiple
devices to be notified by a single GPE. This feature automatically generates a
runtime device notification in the absence of a BIOS-provided GPE control
method (_Lxx/_Exx) or a host-installed handler for the GPE. Implicit notify is
provided by ACPICA for Windows compatibility, and is a workaround for BIOS AML
code errors. See the description of the AcpiSetupGpeForWake interface in the
APCICA reference. Bob Moore, Rafael Wysocki. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=918"]ACPICA BZ 918[/url].

Changed some comments and internal function names to simplify and ensure
correctness of the Linux code translation. No functional changes.


2) iASL Compiler/Disassembler and Tools:

Disassembler: Added support to emit short, commented descriptions for the ACPI
predefined names in order to improve the readability of the disassembled
output. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=959"]ACPICA BZ 959[/url]. Changes include:
1) Emit descriptions for all standard predefined names (_INI, _STA, _PRW,
etc.)
2) Emit generic descriptions for the special names (_Exx, _Qxx, etc.)
3) Emit descriptions for the resource descriptor names (_MIN, _LEN, etc.)

AcpiSrc: Fixed several long-standing Linux code translation issues. Argument
descriptions in function headers are now translated properly to lower case and
underscores. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=961"]ACPICA BZ 961[/url]. Also fixes translation problems such as these:
(old -> new)
i_aSL -> iASL
00-7_f -> 00-7F
16_k -> 16K
local_fADT -> local_FADT
execute_oSI -> execute_OSI

iASL: Fixed a problem where null bytes were inadvertently emitted into some
listing files.

iASL: Added the existing debug options to the standard help screen. There are
no longer two different help screens. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=957"]ACPICA BZ 957[/url].

AcpiHelp: Fixed some typos in the various predefined name descriptions. Also
expand some of the descriptions where appropriate.

iASL: Fixed the -ot option (display compile times/statistics). Was not working
properly for standard output; only worked for the debug file case.[/codeBOX]

 

 

[b]iASL command line version 20120620 ([/b][b]June 20th 2012[/b][b]), Universal Binary (32 & 64 bit) -> [/b]iasl-20120620.zip

 

[b]iaslMe 1.33 version 20120620 (June 20[/b][b]th 2012[/b][b]), Universal Binary (32 & 64 bit)[/b] -> iaslMe-20120620.zip

 

 

[b]Creadits to:[/b] cVad, Kabyl, Slice, STLVNUB

Link to comment
Share on other sites

Hi folks

When I try to compile the latest version, I get these errors:

 

bash-5.02 лв make
flex -i -s -PAslCompiler -oaslcompilerlex.c ../../source/compiler/aslcompiler.l
bison -v -d -y -pAslCompiler -oaslcompilerparse.c ../../source/compiler/aslcompiler.y
flex -i -s -PDtParser -odtparserlex.c ../../source/compiler/dtparser.l
bison -v -d -y -pDtParser -odtparserparse.c ../../source/compiler/dtparser.y
flex -i -s -PPrParser -oprparserlex.c ../../source/compiler/prparser.l
bison -v -d -y -pPrParser -oprparserparse.c ../../source/compiler/prparser.y
Copy intermediate file:
aslcompilerparse.h -> aslcompiler.y.h
Copy intermediate file:
dtparserparse.h -> dtparser.y.h
Copy intermediate file:
prparserparse.h -> prparser.y.h
cc -c -D_LINUX -D_GNU_SOURCE -DACPI_ASL_COMPILER -I../../source/include -I../../source/compiler -Wall -Werror -Wstrict-aliasing=0 -oaslcompilerlex.o aslcompilerlex.c
cc -c -D_LINUX -D_GNU_SOURCE -DACPI_ASL_COMPILER -I../../source/include -I../../source/compiler -Wall -Werror -Wstrict-aliasing=0 -oaslcompilerparse.o aslcompilerparse.c
cc -c -D_LINUX -D_GNU_SOURCE -DACPI_ASL_COMPILER -I../../source/include -I../../source/compiler -Wall -Werror -Wstrict-aliasing=0 -odtparserlex.o dtparserlex.c
cc -c -D_LINUX -D_GNU_SOURCE -DACPI_ASL_COMPILER -I../../source/include -I../../source/compiler -Wall -Werror -Wstrict-aliasing=0 -odtparserparse.o dtparserparse.c
cc -c -D_LINUX -D_GNU_SOURCE -DACPI_ASL_COMPILER -I../../source/include -I../../source/compiler -Wall -Werror -Wstrict-aliasing=0 -oprparserlex.o prparserlex.c
cc -c -D_LINUX -D_GNU_SOURCE -DACPI_ASL_COMPILER -I../../source/include -I../../source/compiler -Wall -Werror -Wstrict-aliasing=0 -oprparserparse.o prparserparse.c
cc -c -D_LINUX -D_GNU_SOURCE -DACPI_ASL_COMPILER -I../../source/include -I../../source/compiler -ansi -Wall -Wbad-function-cast -Wdeclaration-after-statement -Werror -Wformat=2 -Wmissing-declarations -Wmissing-prototypes -Wstrict-aliasing=0 -Wstrict-prototypes -Wswitch-default -Wpointer-arith -Wundef -Waddress -Waggregate-return -Wchar-subscripts -Wempty-body -Wlogical-op -Wmissing-declarations -Wmissing-field-initializers -Wmissing-parameter-type -Wnested-externs -Wold-style-declaration -Wold-style-definition -Wredundant-decls -Wtype-limits -oadfile.o ../../source/common/adfile.c
error: unknown warning option '-Wlogical-op' [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wmissing-parameter-type' [-Werror,-Wunknown-warning-option]
error: unknown warning option '-Wold-style-declaration' [-Werror,-Wunknown-warning-option]
make: *** [adfile.o] Error 1

 

What's wrong with this source code?

Link to comment
Share on other sites

  • 2 weeks later...

11 July 2012. Summary of changes for version 20120711:

[color=#000000]1) ACPICA Kernel-resident Subsystem:[/color]
Fixed a possible fault in the return package object repair code. Fixes a
problem that can occur when a lone package object is wrapped with an outer
package object in order to force conformance to the ACPI specification. Can
affect these predefined names: _ALR, _MLS, _PSS, _TRT, _TSS, _PRT, _HPX, _DLM,
_CSD, _PSD, _TSD.

Removed code to disable/enable bus master arbitration (ARB_DIS bit in the
PM2_CNT register) in the ACPICA sleep/wake interfaces. Management of the
ARB_DIS bit must be implemented in the host-dependent C3 processor power state
support. Note, ARB_DIS is obsolete and only applies to older chipsets, both
Intel and other vendors. (for Intel: ICH4-M and earlier)

This change removes the code to disable/enable bus master arbitration during
suspend/resume. Use of the ARB_DIS bit in the optional PM2_CNT register causes
resume problems on some machines. The change has been in use for over seven
years within Linux.

Implemented two new external interfaces to support host-directed dynamic ACPI
table load and unload. They are intended to simplify the host implementation
of hot-plug support:
AcpiLoadTable: Load an SSDT from a buffer into the namespace.
AcpiUnloadParentTable: Unload an SSDT via a named object owned by the table.
See the ACPICA reference for additional details. Adds one new file,
components/tables/tbxfload.c

Implemented and deployed two new interfaces for errors and warnings that are
known to be caused by BIOS/firmware issues:
AcpiBiosError: Prints "ACPI Firmware Error" message.
AcpiBiosWarning: Prints "ACPI Firmware Warning" message.
Deployed these new interfaces in the ACPICA Table Manager code for ACPI table
and FADT errors. Additional deployment to be completed as appropriate in the
future. The associated conditional macros are ACPI_BIOS_ERROR and
ACPI_BIOS_WARNING. See the ACPICA reference for additional details. [url="http://www.acpica.org/bugzilla/show_bug.cgi?id=843"]ACPICA BZ
843[/url].

Implicit notify support: ensure that no memory allocation occurs within a
critical region. This fix moves a memory allocation outside of the time that a
spinlock is held. Fixes issues on systems that do not allow this behavior.
Jung-uk Kim.

Split exception code utilities and tables into a new file, utilities/utexcep.c



2) iASL Compiler/Disassembler and Tools:

iASL: Fixed a parser problem for hosts where EOF is defined as -1 instead of
0. Jung-uk Kim.

Debugger: Enhanced the "tables" command to emit additional information about
the current set of ACPI tables, including the owner ID and flags decode.

Debugger: Reimplemented the "unload" command to use the new
AcpiUnloadParentTable external interface. This command was disable previously
due to need for an unload interface.

AcpiHelp: Added a new option to decode ACPICA exception codes. The -e option
will decode 16-bit hex status codes (ACPI_STATUS) to name strings.[/codeBOX]

 

 

[b]iASL command line version 20120711 ([/b][b]July 11th 2012[/b][b]), Universal Binary (32 & 64 bit) -> [/b]http://drop.st/NtB93d

 

[b]iaslMe 1.33 version 20120711 (June 11[/b][b]th 2012[/b][b]), Universal Binary (32 & 64 bit)[/b] -> http://drop.st/jLsMBx

 

 

[b]Creadits to:[/b] cVad, Kabyl, Slice, STLVNUB

  • Like 2
Link to comment
Share on other sites

  • 2 weeks later...
  • 4 weeks later...

Hi to all.

 

I've a laptop Samsung Q45 (in signature) and now lion 10.7.4 work ok but without any DSDT.

I want to get ricoh firewire R5C552 work and also sleep and some others small things.

I've used Phoenix Bios Editor (mine it's a phoenix bios) under windows to get dsdt.dsl from bios rom file, but when I try to compile it with iaslMe I get some errors.

 

I don't know how to solve it. If needed I can post dsdt.dsl and bios file.

 

 

 

I hope anyone can help me.

 

Thanks in advance.

Link to comment
Share on other sites

First post the errors here. Perhaps an wellknown error.

Otherwise (more complex / Samsung problem) you may much better get help for your Samsung Q45 DSDT if you make an own Help thread in the DSDT forum.

  • Like 1
Link to comment
Share on other sites

Hi mitch_de.

 

I made an help thread in the DSDT forum, but at this time no one replies.

The thread link is http://www.insanelymac.com/forum/index.php?showtopic=281930&hl=&fromsearch=1, can you tell me if something is wrong or out of rules? I think an incorrect thread will not be considered.

 

Thank you.

 

Alberto

Link to comment
Share on other sites

I saw that under package contents but I am still confused because for the most current IASL I still see a date of 2009. Could that be correct? Its not as easy to replace the IASL in DSDT Editor and Patcher?

Link to comment
Share on other sites

  • 3 months later...
  • 3 weeks later...

New version 20121220-64

 

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

iasl_20121220-64.zip

  • Like 3
Link to comment
Share on other sites

  • 2 months later...

Will check it out.

 

edit:

Does work here, what was wrong???

 

Needs to be run from scratch, i.e It needs to download ACPICA, backup a MakeFile and apply the patches.

 

Working now. It was not compiling right but worked now.

Link to comment
Share on other sites

 Share

×
×
  • Create New...