Jump to content

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


  • Please log in to reply
266 replies to this topic

#101
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany

This happens when you copy/paste code from web pages

YEP !
from 2690 to 2745 are some special chars (invisible) at the beginning of each line (before the normal text) !
2690                 {
2691                    If (LNot (PICF))
....
2744                 }
2745            }

You can simple remove all that non visible chars(looks like spaces) text on each line.
You must not add spaces or tab again. Buts better readable.
Here result as i removed that chars (from c&p web code) :
ASL Input: dsdt.dsl - 5925 lines, 197183 bytes, 2383 keywords
Compilation complete. 1 Errors, 0 Warnings, 0 Remarks, 31 Optimizations
All done.
Enjoy ...

Only one error left !
YOur dsdt has also , as mine that min/max Range vs length error !
Check line and before:
589: 0xFFF00000, // Length
Error 4117 - Length is larger than Min/Max window ^

Do same as i, check min/max Range with given length. formula: maxRange - minRange + 1 = length
SOLUTION as example for my length value error - calc your own lenght !!!I looked at that code in my dsdl with the length errorDWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,0x00000000, // Granularity0x00100000, // Range Minimum0xFEBFFFFF, // Range Maximum0x00000000, // Translation Offset0xFFF00000, // Length WRONG ERROR !!!,, _Y00, AddressRangeMemory, TypeStatic)compared to other similar DwordMem code in area around... i can see indeed an wrong lenght here !!!Here no min/max/length error !DWordMemory (ResourceProducer, PosDecode, MinFixed, MaxFixed, Cacheable, ReadWrite,0x00000000, // Granularity0x000C0000, // Range Minimum0x000DFFFF, // Range Maximum0x00000000, // Translation Offset0x00020000, // Length = OK, no error ,, , AddressRangeMemory, TypeStatic)For my looking(+ thinking  ) the diff of Range Max / Range Min added 1 (must) give the Length which new iasl checks .0x000DFFFF, // Range Maximum- 0x000C0000, // Range Minimum------------------0x1FFFF + 1 = 0x00020000, // LengthIn case of my error :0xFEBFFFFF, // Range Maximum- 0x00100000, // Range Minimum---------------------0xFEAFFFFF+1 = 0xFEB00000 insted of (error message) 0xFFF00000, // Length

Use calulator (OS X app) in programmers mode to do that calc in hex (16). Dont use my length value, because yours may different !

I attatched the removed chars dsdt, but length must be edited / undone !

Attached Files



#102
Common Sense

Common Sense

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 226 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?

Attached Files



#103
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany

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 !

#104
Common Sense

Common Sense

    InsanelyMac Geek

  • Members
  • PipPipPipPip
  • 226 posts

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

#105
Konami®

Konami®

    InsanelyMac Legend

  • Donators
  • 956 posts
  • Gender:Male
  • Location:Pennsylvania
Thanks a lot Mitch, your help as been wonderful! appreciate it.

#106
cartri

cartri

    Just a Cone

  • Donators
  • 407 posts
  • Location:Brazil
You should submit your ports to ACPICA, i guess they would host it!

#107
BugsB

BugsB

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,513 posts
  • Gender:Male
  • Location:Kauai, Hawai'i
thanks mitch for the calculator instructions, DSDT compiles here now even with the most recent iasl !

#108
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany
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

#109
shoarthing

shoarthing

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 821 posts
  • Location:Blighty
. . . 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?

#110
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany
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.

#111
Freaky Chokra

Freaky Chokra

    InsanelyMac Sage

  • Members
  • PipPipPipPipPip
  • 353 posts
  • Gender:Male

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:

#112
shoarthing

shoarthing

    InsanelyMac Legend

  • Members
  • PipPipPipPipPipPipPip
  • 821 posts
  • Location:Blighty

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.

#113
BugsB

BugsB

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,513 posts
  • Gender:Male
  • Location:Kauai, Hawai'i
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.

#114
BugsB

BugsB

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,513 posts
  • Gender:Male
  • Location:Kauai, Hawai'i
EDIT: same thing with the 2010_04_28 32 bit .....

#115
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany
I dont have that problem with cmos reset (RTC) using newest iasl.

#116
BugsB

BugsB

    InsanelyMac Deity

  • Members
  • PipPipPipPipPipPipPipPipPipPip
  • 1,513 posts
  • Gender:Male
  • Location:Kauai, Hawai'i
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 ...

#117
GlasGhost

GlasGhost

    InsanelyMac Protégé

  • Members
  • Pip
  • 26 posts

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.

#118
mitch_de

mitch_de

    InsanelyMacaholic

  • Local Moderators
  • 2,880 posts
  • Gender:Male
  • Location:Stuttgart / Germany

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.

#119
ErmaC

ErmaC

    127.0.0.1

  • Supervisors
  • 4,636 posts
  • Gender:Male
  • Location:Canary Islands
THX
I using the current IaslMe 64-bit
All work perfect

Fabio

#120
fbifido

fbifido

    InsanelyMac Geek

  • Members
  • PipPipPip
  • 135 posts
  • Gender:Male
  • Location:Jamaica
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

Attached Files







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