Jump to content

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


  • Please log in to reply
266 replies to this topic

#41
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male
@mitch_de,

You may want to add a link, or explain people here what you've done to compile it on OS X ;)

Also. I have changed my link and now point people to this thread. I'll keep you posted about new updates.

Edit: I meant to ask for a diff file, but apparently was in too much of a hurry. As usual.

#42
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,879 posts
  • Gender:Male
  • Location:Stuttgart / Germany
HOW to get + compile - DEV Tools installed (XCODE) needed.
Look POST #8 and #15 (Post 15 has an better source code fix than in Post #8) - its easy.

#43
Õun

Õun

    InsanelyMac Protégé

  • Members
  • Pip
  • 28 posts
  • Gender:Male
  • Location:Estonia

DL link to newest iasl at end of this post.
LASTEST NOW: V2009_12_14
: Dezember 2009 Version

Could you compile acpiexec for me as well? I don't have any xcode installed right now.

Well I checked it out and seems that its more complicated than I expected. Not sure if its even possible as there are symbols missing. Oh well, Need to remote debug my system then

#44
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,879 posts
  • Gender:Male
  • Location:Stuttgart / Germany
As always: updated iASL to 2010/01/21.
Updated the iaslME only (iasl is within that app!)

#45
STLVNUB

STLVNUB

    InsanelyMac Legend

  • Coders
  • 1,082 posts
  • Gender:Male

As always: updated iASL to 2010/01/21.
Updated the iaslME only (iasl is within that app!)


Good job.
Now to save you a LOT of work, AND users having to consistently download a NEW version,
Why not get iaslMe to Auto Update itself.
Now that would be GREAT job.

#46
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male

As always: updated iASL to 2010/01/21.
Updated the iaslME only (iasl is within that app!)

Just to let you know: The iASL Compiler/Disassembler is still the same. Is basically unchanged (except for the date/copyright notice). Here's the official announcement:

21 January 2010. Summary of changes for version 20100121:

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

1) ACPI CA Core Subsystem:

Added the 2010 copyright to all module headers and signons. This affects virtually every file in the ACPICA core subsystem, the iASL compiler, the tools/utilities, and the test suites.

Implemented a change to the AcpiGetDevices interface to eliminate unnecessary invocations of the _STA method. In the case where a specific _HID is requested, do not run _STA until a _HID match is found. This eliminates potentially dozens of _STA calls during a search for a particular device/HID, which in turn can improve boot times. ACPICA BZ 828. Lin Ming.

Implemented an additional repair for predefined method return values. Attempt to repair unexpected NULL elements within returned Package objects. Create an Integer of value zero, a NULL String, or a zero-length Buffer as appropriate. ACPICA BZ 818. Lin Ming, Bob Moore.

Removed the obsolete ACPI_INTEGER data type. This type was introduced as the code was migrated from ACPI 1.0 (with 32-bit AML integers) to ACPI 2.0 (with 64-bit AML integers). It is now obsolete and this change removes it from the ACPICA code base, replaced by UINT64. The original typedef has been retained for now for compatibility with existing device driver code. ACPICA BZ 824.

Removed the unused UINT32_STRUCT type, and the obsolete Integer64 field in the parse tree object.

Added additional warning options for the gcc-4 generation. Updated the source accordingly. This includes some code restructuring to eliminate unreachable code, elimination of some gotos, elimination of unused return values, some additional casting, and removal of redundant declarations.

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.

Previous Release:
Non-Debug Version: 87.0K Code, 18.0K Data, 105.0K Total
Debug Version: 163.4K Code, 50.8K Data, 214.2K Total
Current Release:
Non-Debug Version: 87.1K Code, 18.0K Data, 105.1K Total
Debug Version: 163.5K Code, 50.9K Data, 214.4K Total

2) iASL Compiler/Disassembler and Tools:

No functional changes for this release.


#47
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,879 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Hmmmm, but size of the compiled is differerent (bigger) to dec version ?!

Q: What does that with the _STA means ? We all use/have that _STA in use.

Attached Files



#48
rednous

rednous

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 345 posts
  • Gender:Male
  • Location:Galaxy: Milky Way
  • Interests:graphic design, mac, progressive and house
mitch_de & Master Chief :huh:

#49
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male

Hmmmm, but size of the compiled is differerent (bigger) to dec version ?!

Yes, the code size changed, but without any functional changes.

Q: What does that with the _STA means ? We all use/have that _STA in use.

_STA returns the status of a device. And while a number of these can be found in your DSDT you are not affected by this change. The reason is simple; Apple is still using an older version of ACPI CA. Which is unfortunate for us, but that's the way things are right now. I hope this helps.

#50
rednous

rednous

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 345 posts
  • Gender:Male
  • Location:Galaxy: Milky Way
  • Interests:graphic design, mac, progressive and house
mitch_de,

just want to inform you there's a new version of ACPICA (March 04 2010) available on the ACPICA site :D

----------------------------------------
04 March 2010. Summary of changes for version 20100304:

1) ACPI CA Core Subsystem:

Fixed a possible problem with the AML Mutex handling function
AcpiExReleaseMutex where the function could fault under the very rare
condition when the interpreter has blocked, the interpreter lock is released,
the interpreter is then reentered via the same thread, and attempts to
acquire an AML mutex that was previously acquired. FreeBSD report 140979. Lin
Ming.

Implemented additional configuration support for the AML "Debug Object".
Output from the debug object can now be enabled via a global variable,
AcpiGbl_EnableAmlDebugObject. This will assist with remote machine debugging.
This debug output is now available in the release version of ACPICA instead
of just the debug version. Also, the entire debug output module can now be
configured out of the ACPICA build if desired. One new file added,
executer/exdebug.c. Lin Ming, Bob Moore.

Added header support for the ACPI MCHI table (Management Controller Host
Interface Table). This table was added in ACPI 4.0, but the defining document
has only recently become available.

Standardized output of integer values for ACPICA warnings/errors. Always use
0x prefix for hex output, always use %u for unsigned integer decimal output.
Affects ACPI_INFO, ACPI_ERROR, ACPI_EXCEPTION, and ACPI_WARNING (about 400
invocations.) These invocations were converted from the original
ACPI_DEBUG_PRINT invocations and were not consistent. ACPICA BZ 835.

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.

Previous Release:
Non-Debug Version: 87.1K Code, 18.0K Data, 105.1K Total
Debug Version: 163.5K Code, 50.9K Data, 214.4K Total
Current Release:
Non-Debug Version: 87.5K Code, 18.4K Data, 105.9K Total
Debug Version: 163.4K Code, 51.1K Data, 214.5K Total

2) iASL Compiler/Disassembler and Tools:

iASL: Implemented typechecking support for static (non-control method)
predefined named objects that are declared with the Name() operator. For
example, the type of this object is now validated to be of type Integer:
Name(_BBN, 1). This change migrates the compiler to using the core predefined
name table instead of maintaining a local version. Added a new file,
aslpredef.c. ACPICA BZ 832.

Disassembler: Added support for the ACPI 4.0 MCHI table.

#51
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,879 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Updated to newest version :)

#52
Monkey D. Luffy

Monkey D. Luffy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 175 posts
  • Gender:Male
  • Location:US
  • Interests:I will become the Pirate King!
Thanks mitch_de for the update. My dsdt was already clean and fixed before trying the updated version of your iasl. I just tried it because I'm not doing anything right now and decided to give it a shot. To my surprise, I got 19 errors using your iasl manually. So I tried iaslme and it still had 19 errors. I tried DSDTSE 1.4.3 and there are no errors or warnings. Does this mean that the newer version of iaslme reports errors more accurately? BTW, I always try your new iasl/iaslme versions and the older ones never gives me errors. Its just this new one that gave me these errors. I just need clarification before fixing these 19 errors.

Thanks! :)

Updated to newest version ;)



#53
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,879 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Indeed there are some changes in IASL :
/Users/ami/Desktop/dsdt.dsl 2910: Name (_ADR, Zero)
Error 4080 - Invalid object type for reserved name, must be ^ (Integer)

/Users/ami/Desktop/dsdt.dsl 2921: Name (_ADR, One)
Error 4080 - Invalid object type for reserved name, must be ^ (Integer)

That replacements 0 to ZERO 1 to ONE seems to make problems. I think that before made replacements (by IASL itself, optimised!) are now
against some ACPI definitions / IASL checks code more intensive.

After changing premade optimisations back, i get:
Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 32 Optimizations

All done.
Enjoy ...

But using that .aml as source for disassembling , you get back all of that errors when you use that .dsl again for compiling.

Perhaps we must use an commandline switch to avoid those opzimisations ( ADR, 0) > (ADR, Zero) .

I added last version of iASLme again to the downloads.

#54
rednous

rednous

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 345 posts
  • Gender:Male
  • Location:Galaxy: Milky Way
  • Interests:graphic design, mac, progressive and house
mitch_de, thanx a lot for the update and the above very useful information :(

#55
Monkey D. Luffy

Monkey D. Luffy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 175 posts
  • Gender:Male
  • Location:US
  • Interests:I will become the Pirate King!
Thanks for the tip, it worked.

Now I get:

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 51 Optimizations

On an interesting side note, I just tried this without thinking of the output, I tried changing ALL occurrences of "One" to "1" and changed ALL occurrences of "Zero" to "0" of my whole dsdt.dsl file, then I compilation reported this:

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 498 Optimizations

Then I tried using the DSDT.aml of the 498 Optimizations and it seems working, boots fine. Since it is booting fine, and functions seems ok. Is it a bad idea replacing all occurrences of One and Zero? We'll right now I'm still using the DSDT.aml that the 51 Optimization output just to be safe.

Thanks you!

#56
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,879 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Yep that works !
But lots of the optimisations (from the 498) are that 0 > Zero , 1 > One.
If you use your (no errors) .aml as input for iASLme (newest) and disassemble it to .dsl and try to recompile you will get again those Zero / One errors :(

#57
Monkey D. Luffy

Monkey D. Luffy

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 175 posts
  • Gender:Male
  • Location:US
  • Interests:I will become the Pirate King!
Yup, it still does get the errors after disassembling then recompiling. I then tried this also with my other .aml (51 Optimization) and disassembled, then recompiled the dsl and it still got 19 errors afterward. I noticed that the errors, just like what you said, is about the Zero and One except that it is the other way around.

I just used the older version and its now fine :P

Thanks for your great work!

Yep that works !
But lots of the optimisations (from the 498) are that 0 > Zero , 1 > One.
If you use your (no errors) .aml as input for iASLme (newest) and disassemble it to .dsl and try to recompile you will get again those Zero / One errors :)



#58
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male
@Mitch,

Please read this: [codebox]There is a bug in the latest release(20100304). Would you please apply this patch or use the old release?

diff --git a/compiler/aslpredef.c b/compiler/aslpredef.c
index 04cd2d4..30d33d5 100644
--- a/compiler/aslpredef.c
+++ b/compiler/aslpredef.c
@@ -535,6 +535,9 @@ ApCheckObjectType (
switch (Op->Asl.ParseOpcode)
{
case PARSEOP_INTEGER:
+ case PARSEOP_ZERO:
+ case PARSEOP_ONE:
+ case PARSEOP_ONES:
ReturnBtype = ACPI_RTYPE_INTEGER;
break;

---
Lin Ming[/codebox]
Which was addressed to me, but you should know about it so here it is :)

#59
cVaD

cVaD

    InsanelyMac Geek

  • Coders
  • 217 posts
  • Gender:Male
Fixed: Attached File  iASLMe.1.2.w.iasl_20100304.w.Fix.Int.bug.zip   291.75KB   86 downloads

#60
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,879 posts
  • Gender:Male
  • Location:Stuttgart / Germany
THANKS Master Chief for the solution for the new compiler problem with optimzed .dsl code.
I made the changes reported to fix the ONE, Zero .. problems.

"Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 11 Optimizations
All done.
Enjoy ...


Happy compiling with the newest iASLme again !
Uploaded that fixed march edition !





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy