PDA

View Full Version : Evosx86 DSDTFixer


Pere
01-05-2011, 01:01 PM
UPDATE 2010-1-7
FIxes added:

Qosmio specific fixes:
Maximum error count (200) exceeded

Generic fixes:

Warning 1088 -Not all control paths return a value ^ (SECV)
Warning 1088 -Not all control paths return a value ^ (SEFA)
Warning 1088 -Not all control paths return a value ^ (SECT)
Warning 1088 -Not all control paths return a value ^ (SGFD)
Warning 1088 -Not all control paths return a value ^ (DRUL)
Warning 1088 -Not all control paths return a value ^ (BTST)
Warning 1088 -Not all control paths return a value ^ (EVNT)
Remark 5111 -Use of compiler reserved name ^ (_T_O)
Remark 5111 -Use of compiler reserved name ^ (_T_N)
Remark 5111 -Use of compiler reserved name ^ (_T_M)
Remark 5111 -Use of compiler reserved name ^ (_T_L)
Remark 5111 -Use of compiler reserved name ^ (_T_K)
Remark 5111 -Use of compiler reserved name ^ (_T_J)
Remark 5111 -Use of compiler reserved name ^ (_T_I)
Remark 5111 -Use of compiler reserved name ^ (_T_H)
Remark 5111 -Use of compiler reserved name ^ (_T_G)
Remark 5111 -Use of compiler reserved name ^ (_T_F)
Remark 5111 -Use of compiler reserved name ^ (_T_E)
Remark 5111 -Use of compiler reserved name ^ (_T_D)
Remark 5111 -Use of compiler reserved name ^ (_T_C)
Remark 5111 -Use of compiler reserved name ^ (_T_B)
Remark 5111 -Use of compiler reserved name ^ (_T_A)
Remark 5111 -Use of compiler reserved name ^ (_T_9)
Remark 5111 -Use of compiler reserved name ^ (_T_8)
Remark 5111 -Use of compiler reserved name ^ (_T_7)
Remark 5111 -Use of compiler reserved name ^ (_T_6)
Remark 5111 -Use of compiler reserved name ^ (_T_5)
Remark 5111 -Use of compiler reserved name ^ (_T_4)

UPDATE 2010-1-6
FIxes added:
Warning 1088 - Not all control paths return a value ^ (_WED)
Warning 1088 - Not all control paths return a value ^ (WMCA)
Warning 1088 - Not all control paths return a value ^ (WMCB)
Warning 1088 - Not all control paths return a value ^ (WMCD)
Warning 1088 - Not all control paths return a value ^ (WMCE)
Warning 1088 - Not all control paths return a value ^ (WMCF)
Warning 1088 - Not all control paths return a value ^ (HKDS)
Warning 1088 -Not all control paths return a value ^ (ECRB)
Warning 1088 -Not all control paths return a value ^ (ECWB)
Remark 5074 -Recursive method call ^ (ECBR)
Warning 1088 -Not all control paths return a value ^ (ECWR)
Warning 1088 -Not all control paths return a value ^ (ECSB)
Warning 1088 -Not all control paths return a value ^ (SPIC)
Remark 5072 -Effective AML package length is zero ^
Warning 1105 - Possible operator timeout is ignored ^




Hi to all.

We have released a little app to automatically fix errors and warnings on DSDT, it contains 67 different fixes for now, waiting for feedback to add more.

Also it contains the most common generic hacks to apply, you can get help about what each hack does just placing the mouse over the hack text.

You can extract the dsdt from registry or drag a dsdt file onto the app to make it auto fix it, then you can choose just pick the fixed file or add hacks to it.

If the app fails to fix your dsdt, please send the dsdt file to [email protected] so we can add a fix for it on next app update.

The app will check for itīs own updates everytime it starts, this way, you can know whether you have lastest version avaliable.

http://www.osx86.es/wp-content/uploads/dsdtixerup.png

This is the list of fixes:

GENERIC FIXES

CPU Aliases
Error Maximum error count (200) exceeded 24:External (^CPU0._PPC)
Error 1061 -Object does not exist ^ (\C001)
Error 1061 -Object does not exist ^ (\_PR.C000)
Warning 1077 -Reserved method has too many arguments ^ (_OSC requires 4)
Warning 1081 -Reserved method must return a value ^ (Integer/Package required for _WAK)
Warning 1087 -Not all control paths return a value (TGET)
Warning 1087 -Not all control paths return a value (FGET)
Warning 1088 -Not all control paths return a value ^ (STM_)
Warning 1088 -Not all control paths return a value ^ (WMAB)
Warning 1088 -Not all control paths return a value ^ (PAPR)
Warning 1088 -Not all control paths return a value ^ (_OSC)
Warning 1092 -Called method may not always return a value
Error 1094 -Missing ResourceSource string (required)
Warning 1099 -Unknown reserved name ^ (_S5D)
Warning 1103 -Possible operator timeout is ignored
Warning 1105 -Result is not used, operator has no effect ^
Warning 2026 -Reserved method must return a value (_WAK)
Error 4001 - String must be entirely alphanumeric ^ (*pnp0c14)
Error 4014 -From ACPI CA Subsystem ^ (AE_NOT_FOUND Failure from namespace lookup)
Error 4051 -Method local variable is not initialized ^ (Local0)
Error 4081 -Use of reserved word ^ (_T_0)
Error 4081 -Use of reserved word ^ (_T_1)
Error 4081 -Use of reserved word ^ (_T_2)
Error 4081 -Use of reserved word ^ (_T_3)
Error 4081 -Use of reserved word ^ (_T_4)
Error 4081 -Use of reserved word ^ (_T_5)
Error 4095 -syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK
Error 4096 -syntax error, unexpected PARSEOP_NAMESEG, expecting PARSEOP_DEFINITIONBLOCK
Error 4096 -Invalid character (0x2D), expecting ASL keyword or name ^
Error 4117 -Length is larger than Min/Max window ^
Error 4122 -Invalid combination of Length and Min/Max fixed flags ^
Error 4123 -Min/Max/Length/Gran are all zero, but no resource tag
Error 4124 -Non-hex letters must be upper case ^ (pnp0c14)
Error 4125 -_HID string must be exactly 7 or 8 characters ^ (NVRAIDBUS)
Remark 5048 -Initializer list shorter than declared package length ^
Set a routine to change all P00X cpu code to CPUX

DELL specific fixes
Error 4001 - String must be entirely alphanumeric ^ (*pnp0c14)

LENOVO specific fixes
Warning 1099 -Unknown reserved name ^ (_VPC)(_CFG)
Warning 1100 -Statement is unreachable ^
Warning 1100 -Statement is unreachable ^
Error 4014 -From ACPI CA Subsystem ^ (AE_NOT_FOUND Failure from namespace lookup)
Error 4064 -Object does not exist ^ (Z000)(Z001)(Z002) etc....


AMD SB700 Chipset specific fixes
Maximum error count (200) exceeded


GIGABYTE specific fixes
Warning 1100 -Statement is unreachable ^
Warning 1106 -Result is not used, operator has no effect ^
_WAK return for USBx4, USBx5, USBx6


INTEL specific fixes
Error 4123 -Min/Max/Length/Gran are all zero, but no resource tag ^ (QWordMemory)

ACER specific fixes
Warning 1077 -Reserved method has too many arguments ^ (_OSC requires 4)
Warning 1088 - Not all control paths return a value ^ (Several methods repaired)

HP specific fixes.
ACPI Error: ACPI path has too many parent prefixes (^) - reached beyond root node (20101013/nsaccess-526)
Warning 1088 -Not all control paths return a value ^ (NVIF)
Warning 1088 -Not all control paths return a value ^ (_PSR)
Warning 1088 -Not all control paths return a value ^ (_HOT)
Warning 1088 -Not all control paths return a value ^ (_CRT)
Warning 1088 -Not all control paths return a value ^ (_PSV)
Warning 1088 -Not all control paths return a value ^ (_Q16)
Warning 1088 -Not all control paths return a value ^ (_PSR)
Error 4047 -Initializer list longer than declared package length ^
Error 4057 -Name already exists in scope ^ (_S3D)
Error 4064 -Object does not exist ^ (LNKA)(LNKB)(LNKC), etc....
Error 4080 -Invalid object type for reserved name ^ (found BUFFER, requires Package)
Error 4096 -syntax error, unexpected PARSEOP_ZERO ^
Error 4096 -syntax error, unexpected PARSEOP_IF ^
Error 4096 -syntax error, unexpected PARSEOP_ELSE ^
Error 4096 -syntax error, unexpected PARSEOP_DEVICE, expecting $end ^
Error 4122 -Invalid combination of Length and Min/Max fixed flags ^


And this are the basic hacks you can apply:


IRQ reallocation. ---------------------------------------------------------------------------------------------------------------------------------------

Will clean IRQīs from RTC, TMR and IPIC/PIC, reallocating Irq 0 and Irq 8 to HPET.

CMOS reset fix.---------------------------------------------------------------------------------------------------------------------------------------

Will change the value of length inside RTC to 0x02 to be snow leopard compliant.

DTGP method.---------------------------------------------------------------------------------------------------------------------------------------

Needed for some hacks that inject information in DSDT.

IDE KP fix.---------------------------------------------------------------------------------------------------------------------------------------------

Some intel IDE controllers will panic with Snow Leopard, this hack courtesy of TheKing will solve it.

Code:

Device PATA on DSDT (0x001F0001)

OperationRegion (IDET, PCI_Config, 0x40, 0x04)
Field (IDET, WordAcc, NoLock, Preserve)
{
M1, 16,
M2, 16
}

Method (_INI, 0, NotSerialized)
{
Store (0xE307, M1)
Store (0xC000, M2)
}

Insert into _wak method:

Method (_WAK, 1, NotSerialized)
{
\_SB.PCI0.PATA._INI ()

Laptop FN fix.---------------------------------------------------------------------------------------------------------------------------------------

This hack will add information about the laptop keyboard into the DSDT, allowing the system to recognize the FN key.

Code:

Device (PS2K)
{
Name (_HID, EisaId ("PNP0303"))
Name (_CID, EisaId ("PNP030B"))
Method (_DSM, 4, NotSerialized)
{
Store (Package ()
{

"AAPL,has-embedded-fn-keys",
Buffer (0x04)
{
0x01, 0x00, 0x00, 0x00
}

}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
} Gigabyte HPET kernel panic.---------------------------------------------------------------------------------------------------------------------------------------

Some Gigabyte boards will panic cause the HPET code when using native powermanagement for CPU, this fix replace the code that panics with this one:

Code:

Name (ATT4, ResourceTemplate ()
{
})
Method (_STA, 0, NotSerialized)
{
Return (0x0F)
}

Method (_CRS, 0, NotSerialized)
{
Return (ATT3)
}
USB EHCI fix.---------------------------------------------------------------------------------------------------------------------------------------

Will solve some usb problems.

Code:

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"AAPL,current-available",
0x05DC,
"AAPL,current-extra",
0x04B0,
"AAPL,current-in-sleep",
0x09C4,
"device-id",
Buffer (0x04)
{
0x3A, 0x3A, 0x00, 0x00
},

"AAPL,clock-id",
Buffer (One)
{
0x01
},

"device_type",
Buffer (0x05)
{
"EHCI"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}

USB UHCI fix.---------------------------------------------------------------------------------------------------------------------------------------

Will solve some usb problems.

Code:

Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x34, 0x3A, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
Speedstep support hack:---------------------------------------------------------------------------------------------------------------------------------------

This hack will inject some information on SBUS, SBRG/LPCB to activate drivers needed for Speedstep.
SSDT code may be needed for Speedstep and is not injected with this fix.


Code:

SBUS:
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x04)
{
"name",
"pci8086,3a30",
"device-id",
Buffer (0x04)
{
0x30, 0x3A, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}LPCB/SBRG:
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"device-id",
Buffer (0x04)
{
0x18, 0x3A, 0x00, 0x00
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}Power button fix.---------------------------------------------------------------------------------------------------------------------------------------

This fix will change _HID to _CID on power button code to make it appear power menu on OSX.

Code:

Name (_CID, EisaId ("PNP0C0C"))


We hope this little app is useful for you and you will give us feedback about possible bugs or non supported DSDT files.

Thanks for reading/using.

Download (http://www.osx86.es/Archivos/DSDTFixer.zip) link.

shadowsa
01-11-2011, 10:47 PM
im getting error nibobject exception and also this iasl32 unexp. quit

Pere
01-11-2011, 10:58 PM
im getting error nibobject exception and also this iasl32 unexp. quit

Can you post your system specs and the dsdt file if avaliable?

shadowsa
01-12-2011, 03:45 PM
thats the thing when i try to extract the dsdt file this is happening
anyway my specs are ASUS p5vd2-mx 775socket 1.5gb ram pentium 630 3.0 ghz socket775
the board is ca. 2006
i tried it also with an dsdt file extracted with evodsdt but the result is the same

Pere
01-12-2011, 03:47 PM
So... post here the dsdt extracted with dsdtse. :)

shadowsa
01-13-2011, 02:28 PM
the file was to big for here so i upped it here

http://pastebin.com/Sw8xZB65

Pere
01-13-2011, 02:42 PM
Well, on my system it does not give any error:

http://dl.dropbox.com/u/384839/dsdtfiles/Screenshot.jpg

Remember that the app is using IASL binaries for SNow leopard, those binaries will not work on Leopard, you should get a compatible version for Leopard for those binaries.

Regards.

shadowsa
01-13-2011, 02:54 PM
if you make the aml file and compile it on your computer will it work for me?
if so could you please do this and give me the file?
thank you in advance

Pere
01-13-2011, 03:17 PM
Here you have:

http://dl.dropbox.com/u/384839/dsdtfiles/dsdt%20shadowsa.zip

There are two dsdtīs, one just clean and the other with this hacks:
IRQ reallocation,Cmos reset fix, dtgp method, EHCI and UHCI fix, speedstep support (you may need ssdt code to make speedstep work). power button fix.

shadowsa
01-13-2011, 03:19 PM
will this fix graphic card issues? and make my graphics card work 7800 GTX 256mb PCIE? i mean will it enable qe/ci?

Pere
01-13-2011, 03:23 PM
You should use chameleonīs flag on com.apple.boot.plist to enable your card:

GraphicsEnabler=Yes

Pere
01-13-2011, 03:44 PM
Well.... try it, i donīt own that card.