Jump to content

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


mitch_de
 Share

265 posts in this topic

Recommended Posts

What does this mean?

 

/Users/eddie/Desktop/DSDT.dsl 1338: 0xFFF00000, // Length

Error 4117 - Length is larger than Min/Max window ^

 

Can anyone please check my DSDT.dsl and tell me what I can change it to.

 

Thanks Guys

 

EDIT: This is a new error that comes with the new version of IASLMe (only tested 64 bit version) thats why I post in this thread.

 

DSDT file is included in this post.

 

Anyone experience the same problem when compiling?

DSDT.dsl.txt

Link to comment
Share on other sites

What does this mean?

/Users/eddie/Desktop/DSDT.dsl 1338: 0xFFF00000, // Length

Error 4117 - Length is larger than Min/Max window ^

Can anyone please check my DSDT.dsl and tell me what I can change it to.

Thanks Guys

Anyone experience the same problem when compiling?

Thats not an error of the new iasl, its an real bug in the dsdt , which the new iasl compiler finds and complains;)

Try first for your own, because its quite simple .

Use my SOULTION example and the formula : Range Max - Range Min + 1 = lenght

The problematic code will look similar like mine :

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x00100000, // Range Minimum

0xFEBFFFFF, // Range Maximum

0x00000000, // Translation Offset

0xFFF00000, // Length is WRONG = iasl ERROR !!!

,, _Y00, AddressRangeMemory, TypeStatic)

Your 0xFFF00000 is listed as wrong, so use the values found for Range Max and Range Min (lines above the lenght line) to get working length by the

Range Max - Range Min + 1 = lenght formular.

0xFEBFFFFF - 0x00100000 + 1 = 0xFEB00000 (wrong was 0xFFF00000)

 

After calc the new lenght the code looks now :

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x00100000, // Range Minimum

0xFEBFFFFF, // Range Maximum

0x00000000, // Translation Offset

0xFEB00000, // new Length: 0xFEBFFFFF - 0x00100000 + 1 = 0xFEB00000

,, _Y00, AddressRangeMemory, TypeStatic)

 

DON´T use my length value - calc your own !

But you can use my 0xFEB00000 lenght, when all other values, Range Max / Range Min in that code parte also same !

Link to comment
Share on other sites

Thats not an error of the new iasl, its an real bug in the dsdt , which the new iasl compiler finds and complains;)

Try first for your own, because its quite simple .

Use my SOULTION example and the formula : Range Max - Range Min + 1 = lenght

The problematic code will look similar like mine :

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x00100000, // Range Minimum

0xFEBFFFFF, // Range Maximum

0x00000000, // Translation Offset

0xFFF00000, // Length is WRONG = iasl ERROR !!!

,, _Y00, AddressRangeMemory, TypeStatic)

Your 0xFFF00000 is listed as wrong, so use the values found for Range Max and Range Min (lines above the lenght line) to get working length by the

Range Max - Range Min + 1 = lenght formular.

0xFEBFFFFF - 0x00100000 + 1 = 0xFEB00000 (wrong was 0xFFF00000)

 

After calc the new lenght the code looks now :

DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,

0x00000000, // Granularity

0x00100000, // Range Minimum

0xFEBFFFFF, // Range Maximum

0x00000000, // Translation Offset

0xFEB00000, // new Length: 0xFEBFFFFF - 0x00100000 + 1 = 0xFEB00000

,, _Y00, AddressRangeMemory, TypeStatic)

 

DON´T use my length value - calc your own !

But you can use my 0xFEB00000 lenght, when all other values, Range Max / Range Min in that code parte also same !

 

Thanks for your explanation. it compiles great now.

 

CS

Link to comment
Share on other sites

Because our hackintohs running more +more easy , sometimes we need a bit of "action" and "challanges" ;)

So each iasl is such an good way to get not bored by "to easy" hackintosh hacks :P

Link to comment
Share on other sites

. . . hmm: using the current 64-bit IASL [& thank you :thumbsup_anim: for making this mitch_de] I see two instances of an error not previously mentioned in this thread:

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

 

. . . line-numbers refer to each of the below 'Range Maximum' non-values:

 

			DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
				0x00000000,		 // Granularity
				0x00000000,		 // Range Minimum
				0x00000000,		 // Range Maximum
				0x00000000,		 // Translation Offset
				0x00000000,		 // Length
				,, _Y23, AddressRangeMemory, TypeStatic)
			DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,
				0x00000000,		 // Granularity
				0x00000000,		 // Range Minimum
				0x00000000,		 // Range Maximum
				0x00000000,		 // Translation Offset
				0x00000000,		 // Length
				,, _Y24, AddressRangeMemory, TypeStatic)

 

. . . any suggestions?

Link to comment
Share on other sites

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.

 

If that not works: what happens if you remove both DwordMemory (.....) for an test ?

 

I dont think that that code with all zero parameter can make sense or has any real using.

Link to comment
Share on other sites

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.

 

If that not works: what happens if you remove both DwordMemory (.....) for an test ?

 

I dont think that that code with all zero parameter can make sense or has any real using.

Hey mitch_de. Perfectly solved problem.

I've experienced the same error output when recently compiling my DSDT all over agian.

And, Yes I confirm that it isn't an iASLMe bug. but a faulty DSDT coding.

Like mine has the Min Max lengths = 0 and return function value 0.

That should NOT be the case, unless, it is supposed to return Zero as the value.

 

However, whenever we compile using the last 2009 iASLMe, it does compile perfectly.

With this version, we need to implement the Max - MIn +1 length logic into the DSDT.

That way it will compile without errors. But what in case of values needing to be returned Zero?

 

I'm using a DSDT that is originally put together by gurus like BlackCH and DB1. you might be knowing them from

How to ASUS P5K-VM thread.

They've coded the entire DSDT. Making it easy for other to simply replace the PSS section and GFX section for their Intel Speed Stepping & Graphics cards respectively.

 

Regards,

Freaky Chokra :robot:

Link to comment
Share on other sites

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.

 

If that not works: what happens if you remove both DwordMemory (.....) for an test ?

 

I dont think that that code with all zero parameter can make sense or has any real using.

. . Hi: didn't see you had edited your post while I was trying an alternative [working] method to solve Error 4122.

 

Yes, changing the lengths of _Y23 & _Y24 to 0x00000001 worked & allows compilation with IASL 64-bit 2010_04_28 - thank you for this suggestion.

Link to comment
Share on other sites

I have experienced something weird with the iasl 3-31: it must be messing with the rtc part because the compiled dsdt.aml resets the rtc in CMOS/ BIOS, turning off the no-nx bit, which causes jerky mouse and breaks wake-up from sleep.

 

I compiled the same dsdt.dsl in Windows with the .exe from Intel, applied the aml to Snow / and that one is fine.

 

So this is a issue of the 3-31 Mac port.

 

Will try 4-28 next.

Link to comment
Share on other sites

thanks for testing, mitch, but I can reproduce this here, done a few tests back and forth. Actually what it resets is the no.nx bit.

 

The cmos reset does NOT occur if I compile the dsdt with the most recent 2010_04_28 .exe in Windows.

 

oh well ...

Link to comment
Share on other sites

Thank you Mitch_de for taking the time to respond to my questions, and for giving me directions to resolve my OS X installation issues. With your help, I now have an "almost" perfect system. I say almost because only 2 items do not work as they should. One is the trackpad tap (I can use the trackpad to scroll and the reight/left buttons work correctly when clicked, but not the "tap") and the other is that the laptop doesn't wakeup from sleep (so I have set sleep to "Never").

 

Best regards and thanks again for all your help.

 

Ok, the trackpad tap is actually something that can be (dis/en)abled in the settings pane somewhere in OS X.

 

As for the sleep; well I haven't got that working yet. I think it something to do with DSDT, so hit me up if you figure that out.

Link to comment
Share on other sites

thanks for testing, mitch, but I can reproduce this here, done a few tests back and forth. Actually what it resets is the no.nx bit.

The cmos reset does NOT occur if I compile the dsdt with the most recent 2010_04_28 .exe in Windows.

oh well ...

I now made more own tests.

I compared same dsdt.dsl > iasl > dsdt.aml in Mac OS X and Win (latest iasl.exe)

I got 100% same dsdt,aml file (use md5 in terminal to compare bytewise files=same hex result=same content ) , for me no difference of .aml win iasl vs Mac OS X iasl

Make same md5 check of .aml files created with win / os x versions and same! .dsl source file.

Link to comment
Share on other sites

I got this error:

 

Intel ACPI Component Architecture

ASL Optimizing Compiler version 20081204 [Dec 4 2008]

Copyright © 2000 - 2008 Intel Corporation

Supports ACPI Specification Revision 3.0a s:\dvd\dsdt.dsl 4046: Method (WMNV, 3, NotSerialized)

Warning 1087 - Not all control paths return a value ^ (WMNV) s:\dvd\dsdt.dsl 5507: Acquire (MUTE, 0x03E8)

Warning 1104 - Possible operator timeout is ignored ^ s:\dvd\dsdt.dsl 5521: Acquire (MUTE, 0x03E8)

Warning 1104 - Possible operator timeout is ignored ^ s:\dvd\dsdt.dsl 5536: Acquire (MUTE, 0x03E8)

Warning 1104 - Possible operator timeout is ignored ^ s:\dvd\dsdt.dsl 5551: Acquire (MUTE, 0x0FFF)

Warning 1104 - Possible operator timeout is ignored ^ s:\dvd\dsdt.dsl 5565: Acquire (MUTE, 0x03E8)

Warning 1104 - Possible operator timeout is ignored ^ s:\dvd\dsdt.dsl 5580: Acquire (MUTE, 0x03E8)

Warning 1104 - Possible operator timeout is ignored ^ s:\dvd\dsdt.dsl 5595: Acquire (MUTE, 0x03E8)

Warning 1104 - Possible operator timeout is ignored ^ ASL Input: s:\dvd\dsdt.dsl - 5964 lines, 197565 bytes, 2322 keywords

AML Output: s:\dvd\dsdt.aml - 22346 bytes, 837 named objects, 1485 executable op

codes Compilation complete. 0 Errors, 8 Warnings, 0 Remarks, 78 Optimizations

ECS_GF7050vt_m_rev1_dell_slic21_dsdt.zip

Link to comment
Share on other sites

mitch_de, I need your help. This is Dell Studio 1557's dsdt & I already tried to compile it with iasl rev3.0a, rev4 & rev4.0a but failed. I can't figure out what is wrong with the dsdt file. I have fixed a lot of dsdt but this one I can't fix it myself.

 

I would post an "DSDT Problem with Dell Studio 1557" Thread in the Genius Bar or Post Install SL Forum.

Perhaps very DELL specific things which are already know be other DELL users. I am sure you will get there much faster answers.

Link to comment
Share on other sites

I would post an "DSDT Problem with Dell Studio 1557" Thread in the Genius Bar or Post Install SL Forum.

Perhaps very DELL specific things which are already know be other DELL users. I am sure you will get there much faster answers.

I fixed it already. There is illegal IF statement (not in any control method or function) which I failed to find it earlier. I thought I lost my "touch" already. ;)

Link to comment
Share on other sites

I fixed it already. There is illegal IF statement (not in any control method or function) which I failed to find it earlier. I thought I lost my "touch" already. ;)

Yes, it is.

HacBook:Dell Studio 1557 DSDT slice$ iasl -ta dsdt.dsl

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20100331 [Apr  1 2010]
Copyright (c) 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0

dsdt.dsl 10588:			 Name (_WDG, Buffer (0xA0)
Warning  1099 -					  ^ Unknown reserved name (_WDG)

dsdt.dsl 10675:			 Method (_WED, 1, NotSerialized)
Warning  1099 -  Unknown reserved name ^  (_WED)

dsdt.dsl 10675:			 Method (_WED, 1, NotSerialized)
Warning  1099 -  Unknown reserved name ^  (_WED)

dsdt.dsl 10675:			 Method (_WED, 1, NotSerialized)
Warning  1099 -  Unknown reserved name ^  (_WED)

dsdt.dsl 11137:				 Name (_T_2, Zero)
Remark   5111 -						  ^ Use of compiler reserved name (_T_2)

ASL Input:  dsdt.dsl - 12800 lines, 394045 bytes, 4190 keywords
AML Output: DSDT.aml - 42070 bytes, 1098 named objects, 3092 executable opcodes

Compilation complete. 0 Errors, 4 Warnings, 1 Remarks, 59 Optimizations

Link to comment
Share on other sites

 Share

×
×
  • Create New...