Jump to content

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


  • Please log in to reply
266 replies to this topic

#141
toine44

toine44

    InsanelyMac Protégé

  • Members
  • PipPip
  • 52 posts
Hello,

Could you add an option in this tool when compiling from dsl to aml to put the resulting files in the same directory (as it is done when decompiling).
Maybe you could had a boolean property in the application Info.plist.

thanks

#142
Signal64

Signal64

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 159 posts

Wreid , all parameters are zeros in that dsdt code part - so iasl complains right!
Is that from orig. BIOS extraction or already modded code ?
From useing the length formala - Range Max - Range Min + 1 = lenght - the length should be 1 : 0 - 0 +1 = 1 = 0x00000001 .
Try that first.
...
I dont think that that code with all zero parameter can make sense or has any real using.

The 0 lengths I'm seeing are typically showing up in a ResourceTemplate which is valid if it is populated before being used. It's a scenario I've been finding more in AMI BIOS boards than Award so far.

Example:
Scope (PCI0)
		   {
			   Name (CRS, ResourceTemplate ()
			   {
				   WordBusNumber (ResourceProducer, MinFixed, MaxFixed, PosDecode,
					   0x0000,			 // Granularity
					   0x0000,			 // Range Minimum
					   0x00FF,			 // Range Maximum
					   0x0000,			 // Translation Offset
					   0x0100,			 // Length
					   ,, )
				   IO (Decode16, 0x0CF8, 0x0CF8, 0x01, 0x08, )
				   WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
					   0x0000,			 // Granularity
					   0x0000,			 // Range Minimum
					   0x0CF7,			 // Range Maximum
					   0x0000,			 // Translation Offset
					   0x0CF8,			 // Length
					   ,, , TypeStatic)
				   WordIO (ResourceProducer, MinFixed, MaxFixed, PosDecode, EntireRange,
					   0x0000,			 // Granularity
					   0x0D00,			 // Range Minimum
					   0xFFFF,			 // Range Maximum
					   0x0000,			 // Translation Offset
					   0xF300,			 // Length
					   ,, , TypeStatic)
				   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					   0x00000000,		 // Granularity
					   0x000A0000,		 // Range Minimum
					   0x000BFFFF,		 // Range Maximum
					   0x00000000,		 // Translation Offset
					   0x00020000,		 // ------------------------------- _Y1E Length
					   ,, , AddressRangeMemory, TypeStatic)
				   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					   0x00000000,		 // Granularity
					   0x000C0000,		 // Range Minimum
					   0x000DFFFF,		 // Range Maximum
					   0x00000000,		 // Translation Offset
					   0x00020000,		 // Length
					   ,, _Y1E, AddressRangeMemory, TypeStatic)
				   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					   0x00000000,		 // Granularity
					   0x00000000,		 // Range Minimum
					   0x00000000,		 // Range Maximum
					   0x00000000,		 // Translation Offset
					   0x00000000,		 // -------------------------------  _Y1F Length
					   ,, _Y1F, AddressRangeMemory, TypeStatic)
				   DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					   0x00000000,		 // Granularity
					   0x00000000,		 // Range Minimum
					   0x00000000,		 // Range Maximum
					   0x00000000,		 // Translation Offset
					   0x00000000,		 // ------------------------------- _Y20 Length
					   ,, _Y20, AddressRangeMemory, TypeStatic)
			   })
			   CreateDWordField (CRS, \_SB.PCI0._Y1E._MIN, MIN5)
			   CreateDWordField (CRS, \_SB.PCI0._Y1E._MAX, MAX5)
			   CreateDWordField (CRS, \_SB.PCI0._Y1E._LEN, LEN5)
			   CreateDWordField (CRS, \_SB.PCI0._Y1F._MIN, MIN6)
			   CreateDWordField (CRS, \_SB.PCI0._Y1F._MAX, MAX6)
			   CreateDWordField (CRS, \_SB.PCI0._Y1F._LEN, LEN6)
			   CreateDWordField (CRS, \_SB.PCI0._Y20._MIN, MIN7)
			   CreateDWordField (CRS, \_SB.PCI0._Y20._MAX, MAX7)
			   CreateDWordField (CRS, \_SB.PCI0._Y20._LEN, LEN7)
			   Method (_CRS, 0, NotSerialized)
			   {
 
				 // If Local0 then we store a value in _Y1E Length, else we just use
				 // what is already in the resource template
				   Store (MG1L, Local0)
				   If (Local0)
				   {
					   Store (MG1B, MIN5)
					   Store (MG1L, LEN5) // <------------------------------- _Y1E Len
					   Add (MIN5, Decrement (Local0), MAX5)
				   }
   
				 // We outright store values for _Y1F and _Y20 
				   Store (MG2B, MIN6)
				   Store (MG2L, LEN6)	 // <------------------------------- _Y1F Len
				   Store (MG2L, Local0)
				   Add (MIN6, Decrement (Local0), MAX6)
				   Store (MG3B, MIN7)
				   Store (MG3L, LEN7)	 // <------------------------------- _Y20 Len
				   Store (MG3L, Local0)
				   Add (MIN7, Decrement (Local0), MAX7)
				   Return (CRS)
			   }
		   }

Setting the 0x00000000 length to 0x00000001 for _Y1F and _Y20 is harmless in this case since it is always overwritten later.

Probably more of an explanation than it deserves but there you are.

#143
homer007

homer007

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 134 posts
  • Location:England
after compiling the dsdt i get 3 errors:

/Users/haani/Desktop/dsdt.dsl  1192:					 0x00000000,		 // Length
Error	4122 -												   ^ Invalid combination of Length and Min/Max fixed flags

/Users/haani/Desktop/dsdt.dsl  2488:							 Return (Package (0x02)
Error	4080 -								Invalid object type for reserved name ^  (found PACKAGE, requires Integer)

/Users/haani/Desktop/dsdt.dsl  7327:				 DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Error	4064 -				   Object does not exist ^  (DTGP)


Attached File  dsdt.dsl.txt   347.78KB   7 downloads

#144
drule

drule

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 143 posts

after compiling the dsdt i get 3 errors:

0x00000000,		 // Length
Error	4122 -												   ^ Invalid combination of Length and Min/Max fixed flags


I actually got three of these "Error 4122 - invalid combination/MinMax" errors when I tried using iaslME instead of DSDTse the other day. This was the first time I've ever had an error when compiling a dsl file - usually just a couple of warnings. So I'd be interested in knowing if it is something easily fixed ....

#145
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,884 posts
  • Gender:Male
  • Location:Stuttgart / Germany
That lenght errors are real buggy dsdt. Its not an IASL problem. Older IASL didnt "seen" that bugs, newer does.
Try to fix it by setting the correct lenght (how to fix some posts / 1-2 sites back).
You must not fix that (by using older IASL versions) but you wont get any new IASL to compile if you dont fix that in the dsdt.

#146
drule

drule

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 143 posts

Try to fix it by setting the correct lenght (how to fix some posts / 1-2 sites back).


I've replaced the old iasl with the latest, in DSDTse. So, I'll try to find the post/site??? that you are referring to - was it a recent post, is it a thread on this site?

Thanks for your response and help :mellow:

#147
barnum

barnum

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 127 posts
  • Gender:Male
  • Location:france

That lenght errors are real buggy dsdt. Its not an IASL problem. Older IASL didnt "seen" that bugs, newer does.
Try to fix it by setting the correct lenght (how to fix some posts / 1-2 sites back).
You must not fix that (by using older IASL versions) but you wont get any new IASL to compile if you dont fix that in the dsdt.

I have the same PB with the new iasl :
DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,                    0x00000000,         // Granularity                    0x00000000,         // Range Minimum                    0x00000000,         // Range Maximum                    0x00000000,         // Translation Offset                    0x00000000,         // Length                    ,, _Y1B, AddressRangeMemory, TypeStatic)                DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,                    0x00000000,         // Granularity                    0x00000000,         // Range Minimum                    0x00000000,         // Range Maximum                    0x00000000,         // Translation Offset                    0x00000000,         // Length                    ,, _Y1C, AddressRangeMemory, TypeStatic)            })            CreateDWordField (CRS, _Y1A._MIN, MIN5)            CreateDWordField (CRS, _Y1A._MAX, MAX5)            CreateDWordField (CRS, _Y1A._LEN, LEN5)            CreateDWordField (CRS, _Y1B._MIN, MIN6)            CreateDWordField (CRS, _Y1B._MAX, MAX6)            CreateDWordField (CRS, _Y1B._LEN, LEN6)            CreateDWordField (CRS, _Y1C._MIN, MIN7)            CreateDWordField (CRS, _Y1C._MAX, MAX7)            CreateDWordField (CRS, _Y1C._LEN, LEN7)
What should we put instead of
0x00000000, // Length
something like that
0x00000001, // Length
or something else
Barnum

#148
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,884 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Yep - 0x00000001, // Length in this case Max-Min + 1 = 0 - 0 + 1 = 1
Should compile than without error.

#149
drule

drule

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 143 posts
Alright, I understand the error resulting from a 'zero length' value, and since that seems to be a straight forward fix I've changed the Length value to 0x00000001. Now the only error left, is the following:

/Users/rupe/Desktop/To be installed/OSx86/dsdt.dsl   324:					 0x06BFFFFF,		 // Length
Error	4118 -							Length is not equal to fixed Min/Max window ^

Here is the section that caused it:

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
					0x00000000,		 // Granularity
					0xF8000000,		 // Range Minimum
					0xFEBFFFFF,		 // Range Maximum
					0x00000000,		 // Translation Offset
					0x06BFFFFF,		 // Length

Then since Length = Max - Min + 1, that would make Length = 0xFEBFFFFF - 0xF8000000 + 1, which would be 0x06C00000.

So the Length value above should actually be 0x06C00000, correct?

#150
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,884 posts
  • Gender:Male
  • Location:Stuttgart / Germany
Yep. Try that (max-Min +1 = new Lenght)

#151
drule

drule

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 143 posts

Yep. Try that (max-Min +1 = new Lenght)


Going through my DSDT file now, comparing it to one that I had been generated with DSDTgui a year ago, and notice quite a few inconsistencies from the one I generated in WinXP using Everest Ultimate Utils :D

If anyone has the urge to go through it :D, here is the current DSDT I'm using, along with my SMBIOS and boot.plist

Attached File  DSDTbootSMBIOS.zip   12.41KB   9 downloads

My system is a Gateway GT5040 Pentium D 820 system (see signature), which I put a PNY 9500GT 512MB into

#152
rednous

rednous

    InsanelyMac Sage

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

Yep. Try that (max-Min +1 = new Lenght)


mitch_de, thanx a lot,

tried your new iASL 28.05.2010 to decompile and compile my current DSDT and there was 1 min/max length error. using the above formula i corrected the new length and my DSDT compiled error free :blink:

#153
shakeythedigger

shakeythedigger

    InsanelyMac Protégé

  • Members
  • Pip
  • 5 posts
  • Gender:Male
  • Location:Canada
Hi, I am interested in DSDT patching my bios, my problem lies in that my bios is a Dell bios, your tool does recognise it however I have the capability of extracting all the modules and decompressing them. would it be possible for your tool to be updated to handle either these bioses or the extracted, decompressed modules?

#154
drule

drule

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 143 posts
Well I get no errors or warnings when compiling or decompiling. I do get 24 optimizations though :)

So now how do go about adding code to my DSDT to help OSX hand my USB ports properly and keep my BlueTooth transceiver recognized.

#155
kizwan

kizwan

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPipPipPip
  • 1,422 posts

So now how do go about adding code to my DSDT to help OSX hand my USB ports properly and keep my BlueTooth transceiver recognized.

For this, go to this thread.

#156
drule

drule

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 143 posts

For this, go to this thread.


Thanks for the link.

#157
Master Chief

Master Chief

    Just Chief

  • Members
  • PipPipPipPipPipPipPipPip
  • 1,176 posts
  • Gender:Male
02 July 2010. Summary of changes for version 20100702:

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

ASL Compiler/Disassembler and Tools:

iASL: Implemented a new compiler subsystem to allow definition and compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These are called "ACPI Data Tables", and the new compiler is the "Data Table Compiler". This compiler is intended to simplify the existing error-prone process of creating these tables for the BIOS, as well as allowing the disassembly, modification, recompilation, and override of existing ACPI data tables. See the iASL User Guide for detailed information.

iASL: Implemented a new Template Generator option in support of the new Data Table Compiler. This option will create examples of all known ACPI tables that can be used as the basis for table development. See the iASL documentation and the -T option.

Disassembler and headers: Added support for the WDDT ACPI table (Watchdog Descriptor Table).

Updated the Linux makefiles for iASL and AcpiExec to place the generated object files in the local directory so that there can be no collisions between the shared files between them that are generated with different options.

Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use the #define __APPLE__ to enable this support.

#158
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,674 posts
  • Gender:Male
  • Location:Canary Islands

02 July 2010. Summary of changes for version 20100702:

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

ASL Compiler/Disassembler and Tools:

iASL: Implemented a new compiler subsystem to allow definition and compilation of the non-AML ACPI tables such as FADT, MADT, SRAT, etc. These are called "ACPI Data Tables", and the new compiler is the "Data Table Compiler". This compiler is intended to simplify the existing error-prone process of creating these tables for the BIOS, as well as allowing the disassembly, modification, recompilation, and override of existing ACPI data tables. See the iASL User Guide for detailed information.

iASL: Implemented a new Template Generator option in support of the new Data Table Compiler. This option will create examples of all known ACPI tables that can be used as the basis for table development. See the iASL documentation and the -T option.

Disassembler and headers: Added support for the WDDT ACPI table (Watchdog Descriptor Table).

Updated the Linux makefiles for iASL and AcpiExec to place the generated object files in the local directory so that there can be no collisions between the shared files between them that are generated with different options.

Added support for Mac OS X in the Unix OSL used for iASL and AcpiExec. Use the #define __APPLE__ to enable this support.


THX for the info

THX Kabyl for info about how compile it



Fabio

#159
wayover

wayover

    InsanelyMac Protégé

  • Members
  • Pip
  • 49 posts

THX for the info

THX Kabyl for info about how compile it



Fabio

your version does not work on my system:

iasl -h
dyld: unknown required load command 0x80000022
Trace/BPT trap



#160
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,674 posts
  • Gender:Male
  • Location:Canary Islands

your version does not work on my system:


No idea what happened...
My iasl -h

this decompiling... generic .aml
[size=1]Fabios-Mac-Pro:~ iFabio$ /Users/iFabio/Desktop/iasl -d /Users/iFabio/Desktop/DSDT\ AML\ originali/P6T-ASUS-DELUXE-2101.aml Intel ACPI Component ArchitectureAML Disassembler version 20100702 [Jul  5 2010]Copyright © 2000 - 2010 Intel CorporationSupports ACPI Specification Revision 4.0aLoading Acpi table from file /Users/iFabio/Desktop/DSDT AML originali/P6T-ASUS-DELUXE-2101.amlAcpi table [DSDT] successfully installed and loadedPass 1 parse of [DSDT]Pass 2 parse of [DSDT]Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions).................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................Parsing completedDisassembly completed, written to "/Users/iFabio/Desktop/DSDT AML originali/P6T-ASUS-DELUXE-2101.dsl"[/size]
this compiling .dsl
[size=1]Fabios-Mac-Pro:~ iFabio$ /Users/iFabio/Desktop/iasl /Volumes/Storage\ USB/Programmazione/Lavori\ DSDT/Iaslme/M2.5/M2.5.940.dsl Intel ACPI Component ArchitectureASL Optimizing Compiler version 20100702 [Jul  5 2010]Copyright © 2000 - 2010 Intel CorporationSupports ACPI Specification Revision 4.0aASL Input:  /Volumes/Storage USB/Programmazione/Lavori DSDT/Iaslme/M2.5/M2.5.940.dsl - 13409 lines, 434831 bytes, 5214 keywordsAML Output: /Volumes/Storage USB/Programmazione/Lavori DSDT/Iaslme/M2.5//DSDT.aml - 49113 bytes, 1145 named objects, 4069 executable opcodesCompilation complete. 0 Errors, 0 Warnings, 0 Remarks, 95 OptimizationsFabios-Mac-Pro:~ iFabio$ [/size]

but look like work
Fabio





1 user(s) are reading this topic

0 members, 1 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