Jump to content

DSDT Patcher


fassl
 Share

752 posts in this topic

Recommended Posts

  • 2 weeks later...

i've tried it.

 

and got some warning.

 

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20080926 [Oct  4 2008]
Copyright (C) 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a

./dsdt_fixed.txt  1111:									 Or (Zero, Local0)
Warning  1105 -		 Result is not used, operator has no effect ^ 

./dsdt_fixed.txt  1336:				 Method (_S5D, 0, NotSerialized)
Warning  1098 -			  Unknown reserved name ^  (_S5D)

./dsdt_fixed.txt  1403:				 Method (_S5D, 0, NotSerialized)
Warning  1098 -			  Unknown reserved name ^  (_S5D)

./dsdt_fixed.txt  1479:				 Method (_S5D, 0, NotSerialized)
Warning  1098 -			  Unknown reserved name ^  (_S5D)

./dsdt_fixed.txt  1555:				 Method (_S5D, 0, NotSerialized)
Warning  1098 -			  Unknown reserved name ^  (_S5D)

./dsdt_fixed.txt  1631:				 Method (_S5D, 0, NotSerialized)
Warning  1098 -			  Unknown reserved name ^  (_S5D)

./dsdt_fixed.txt  1707:				 Method (_S5D, 0, NotSerialized)
Warning  1098 -			  Unknown reserved name ^  (_S5D)

./dsdt_fixed.txt  2372:		 Name (PIC3, Package (0x00) {})
Remark   5071 -	Effective AML package length is zero ^ 

./dsdt_fixed.txt  2373:		 Name (API3, Package (0x00) {})
Remark   5071 -	Effective AML package length is zero ^ 

./dsdt_fixed.txt  2642:		 Name (PIC5, Package (0x00) {})
Remark   5071 -	Effective AML package length is zero ^ 

./dsdt_fixed.txt  2643:		 Name (API5, Package (0x00) {})
Remark   5071 -	Effective AML package length is zero ^ 

./dsdt_fixed.txt  2648:		 Name (PIC6, Package (0x00) {})
Remark   5071 -	Effective AML package length is zero ^ 

./dsdt_fixed.txt  2649:		 Name (API6, Package (0x00) {})
Remark   5071 -	Effective AML package length is zero ^ 

ASL Input:  ./dsdt_fixed.txt - 6067 lines, 190539 bytes, 2205 keywords
AML Output: ././dsdt.aml - 17826 bytes, 632 named objects, 1573 executable opcodes

Compilation complete. 0 Errors, 7 Warnings, 6 Remarks, 38 Optimizations

 

 

does it mean successfull or not?

 

tnx.

Link to comment
Share on other sites

Snow Leopard support

snow hast the nasty habit of resetting the cmos when you turn the computer off.

i have read some where that if you change the rtc length to 0x02 is does not do that any more

 

 

Code:

Device (RTC)
			{
				Name (_HID, EisaId ("PNP0B00"))
				Name (_CRS, ResourceTemplate ()
				{
					IO (Decode16,
						0x0070,			 // Range Minimum
						0x0070,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length
						)
				})
			}

Link to comment
Share on other sites

I have been fussing with OSX installed on the eeepc 1000 upgraded to a faster SATA drive. The installation was o.k., but the problem was that I needed a newer BIOS to get the SATA drive recognized, but I needed a patched BIOS to stop the eeepc/osx from hanging for quite awhile during boot up. A quandary, since newer patched BIOSes are not available.

 

I extracted the dsdt file in linux ( http://ubuntuforums.org/showthread.php?t=1036051 ), and with a few fixes, recompiled it in linux. I tried this in the OSX, but that did not help. But then I tried this patched dsdt fix on that dsdt, and found that this fixed the problem - no more hang on boot ups and by early appearances a happy osx on my eeepc with fast sata drive! The time to boot up to the OSX desktop is now a mere 35 s. Yay!

 

I attach my dsdt.aml file below - copy it to root: "cp dsdt.aml /". I am using the latest 1003 bios version for the 1000, if that makes a difference, together with Chameleon 2.0RC1. Things worked just by having the dsdt.aml file in root and installing this boot loader.

 

eeepc_1000_dsdt.aml.zip

Link to comment
Share on other sites

after a finally succesful install on my acer 6292 it seems that I can´t get the cpu alias fixed.

only way to boot is with the cpu=1 -v flags.

 

looking into my fixed dsdt I can´t find the mistakes comparing to other fixed dsdt´s.

 

is anyone available to help a confused old man ? :D

 

dsdt_fixed.txt

Link to comment
Share on other sites

in short try to search for CPU0 in the dsdt.

You will see also some CPU1 lines , not not always beside/near the CPU0 lines.

I believe that , for example at the beginning is somethings missed CPU1 lines.

Sorry but my GA BIOS DSDT is much different.

Link to comment
Share on other sites

in short try to search for CPU0 in the dsdt.

You will see also some CPU1 lines , not not always beside/near the CPU0 lines.

I believe that , for example at the beginning is somethings missed CPU1 lines.

Sorry but my GA BIOS DSDT is much different.

 

 

mitch thanks for the hint .....Danke :D I´m learning more about it, but still too far away to manage it on my own.

I guess you meant parts like this one

 

Scope (\_PR)
   {
       Processor (CPU0, 0x00, 0x00001010, 0x06) {}
       Processor (CPU1, 0x01, 0x00001010, 0x06) {}
       Method (RPPC, 0, NotSerialized)
       {
           If (LEqual (OSYS, 0x07D2))
           {
               If (And (CFGD, 0x01))
               {
                   If (LGreater (\_PR.CPU0._PPC, 0x00))
                   {
                       Subtract (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)
                       PNOT ()
                       Add (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)
                       PNOT ()
                   }
                   Else
                   {
                       Add (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)
                       PNOT ()
                       Subtract (\_PR.CPU0._PPC, 0x01, \_PR.CPU0._PPC)
                       PNOT ()
                   }
               }
           }
       }
   }

 

after I did a new dump in linux and edited a few mistakes I succeded in getting rid of the ´-v flag.

this one works now with the cpus=1 flag only

 

dsdt.dsl.zip

 

EDIT: extracted the aml from original bios now and used koalala´s patcher - still need cpus=1 - continue here

http://www.insanelymac.com/forum/index.php...p;#entry1207195

Link to comment
Share on other sites

Hello,

 

My laptop is Thinkpad X61(with Phoenix bios). I tried to patch my dsdt to get native speedstep, but failed.

 

installed kext:

OpenCompatible.kext ( or use chameleon smbios.plist to inject)

AppleDecrypt.kextApple

VoodooPS2Controller.kext

ACPIBatteryManager.kext

LegacyACPI_SMC_PlatformPlugin.kext (for Native SpeedStep)

 

If I use patched DSDT.aml , it get kernel panic as the info shows in the picture

dsdt.jpg

So now I still have to use cpus=1 to boot Leopard 10.5.7 .

 

Here is my original DSDT, SSDT, and patched DSDT.

 

Could anyone help?

X61_original_and_patched_dsdt.zip

Link to comment
Share on other sites

I used the latest gui patcher on my fresh retail install 10.5.6 on chameleon2RC (specs in sig). I ran it w/ the HPET option, removed intelPMdisabler on my EFI partition,

 

boots fine, HPET loads. not sure if it's running any hotter.

 

i still need to make some tweaks to it i think, sys profiler doesnt show any info about my mem dimms, and would like to get my audio on HDA not azal. but it does fill in my 'boot ROM version' not just ######s.

 

sleep works, but usb1 doesnt after wake - no biggie.

 

i did get a kernel panic after i woke from sleep and issued a shutdown, something about a kext issue (cant remember specific 1 atm.) i should have taken a pic of it or wrote it down. I'll see if i can make it do it again.

 

attached dsdt.dsldsdt.zip

Link to comment
Share on other sites

So I have tried about every idea I could find for fixing sleep on my ASUS n80vn-X5 laptop. However, all of these things have failed. Currently I am using Snow Leopard with the vanilla kernel. My only added kexts are VoodooHDA, VoodooPS2, VoodooPower, VoodooBattery, Disabler and a patched Don't Steal Mac OS. My video card is setup via DSDT currently. However, sleep also did not work within Leopard.

 

Anyway, I am attaching my DSDT in case anyone has some ideas of how to fix it. I shall continue to look into other solutions as well. Cheers.

dsdt_fixed.txt

Link to comment
Share on other sites

Activating Native AHCI with DSDT.

With DSDT we can "active" the AHCI without LegacyAppleAHCIPort.kext, and allow Snow Leopard compatibility.

 

The AppleAHCIPort.kext can support these AHCI:

 

Name: ACHI - IOPCIPrimaryMatch

 

ICH10			 0x3a228086
ICH6 ESB2		 0x26818086
ICH7-M			0x27c58086
ICH8-M			0x28298086
MCP79 (nVidia)	0x0ab910de

 

If we remove LegacyAppleAHCIPort.kext, we will get an "Generic AHCI" on System Profiler.

The 'trick' is force to Mac OS X identify your "device" changing the 'Device ID' with one in above list. Please select one of them.(more close to your chipset)

 

.:HOW TO USE DSDT:.

Open IORegistryExplorer and find AppleAHCI.

In my case, the device 'SAT0@1F,2' is related to the AppleAHCI.

We got:

SAT0 = Device

IF (001F), 2 (0002) = Address

 

So, we have the address: 0x001F0002.

 

.:HOW TO EDIT DSDT:.

Open dsdt.dsl or dsdt_fixed.txt with TextEditor.

Find for Device "SAT" or IDE1 (on some cases)

Probably we will get this:

Device (SAT0)
			{
				Name (_ADR, 0x001F0002)
		  ....
			   .....

 

The Device name is not important, we must note is the Address.

 

Name (_ADR, 0x001F0002).

As we can see, the address is the same of IORegistryExplorer, everything is right!

We can now insert the code to change the "Device ID",

Method (_DSM, 4, NotSerialized)
					  {
							Store (Package (0x02)
								{
								   "device-id",
									   Buffer (0x04)
										 {
											  0xC5, 0x27, 0x00, 0x00
										  }
									   }, Local0)
							   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
					   Return (Local0)
				}

 

Insert this below "Name (_ADR, 0x001F0002)"

 

Change the line: 0xC5, 0x27, 0x00, 0x00.

In this case(ICH7-M) the AHCI device ID is 27C5, but the code in DSDT is inverted. The "Device ID" on DSDT code should be reversed as in the example above.

 

.:Now all to do is (re)compile DSDT:.

Good luck.

 

Regards

Thiago.

Link to comment
Share on other sites

Thanks !

 

You listed not my ICH9 : 0x2923 (4 Port SATA AHCI, non raid)

ICH10 0x3a228086

ICH6 ESB2 0x26818086

ICH7-M 0x27c58086

ICH8-M 0x28298086

MCP79 (nVidia) 0x0ab910de

 

Listet as :

IOACPIPlane:/_SB/PCI0@0/IDE1@1f0002

 

 

Does this (not listed in your list) mean its not recommended to do this with dsdt ?

Bild_208.jpg

Link to comment
Share on other sites

I guess no, friend. You can try using your ICH9..

I think that if you patch DSDT correctly using your "Device ID", it will works 100%.

 

Try and post results.

 

I will update AHCI device/vendor list with yours.

Thanks.

 

Regards.

Thiago

 

Thanks !

 

You listed not my ICH9 : 0x2923 (4 Port SATA AHCI, non raid)

ICH10 0x3a228086

ICH6 ESB2 0x26818086

ICH7-M 0x27c58086

ICH8-M 0x28298086

MCP79 (nVidia) 0x0ab910de

 

Listet as :

IOACPIPlane:/_SB/PCI0@0/IDE1@1f0002

 

 

Does this (not listed in your list) mean its not recommended to do this with dsdt ?

Link to comment
Share on other sites

Thanks !

 

You listed not my ICH9 : 0x2923 (4 Port SATA AHCI, non raid)

ICH10 0x3a228086

ICH6 ESB2 0x26818086

ICH7-M 0x27c58086

ICH8-M 0x28298086

MCP79 (nVidia) 0x0ab910de

 

Listet as :

IOACPIPlane:/_SB/PCI0@0/IDE1@1f0002

 

 

Does this (not listed in your list) mean its not recommended to do this with dsdt ?

 

Would this work for JMicron as well? If so what would the device ID's be?

Link to comment
Share on other sites

I done that dtm for my IHC9 (2923, 4 Port SATA, EP35-DS3)

But i leaved the AHCIPortinjector. Works. IOREGISTRY shows now SAT1 indest of IDE, but hatsjust cosmetic.

Why ?

Because some injection is needed (by that info.plist or DSDT) for values that the orig. AppleAHCI didnt have for some ICHx

It only has that from your list , not ICH9 nonraid, and also not some others (like the big list in the injector .plist)

In the next step i will inject also that stuff (like for DSDT GPU vs efistring/natit ) and report back.

Below the ICHx versions which OS X can handle without injectors , and second that was the AHCIPortinjector injects for others.

 

I dont know how to put those /and which entrys in an method.

Added:

Those kind of injectors like the AHCI are not really an problem, because their content is only an .plist.

No code content (like natot.kext or some others) which may be a problem for snow leopard.

That kind of .plist injectors (an .kext, but they have only an .plist in) work without any problem also with 64Bit Snow Leopard, because they have no code, only an .plist with data.

 

All other injectors which have also code (32Bit most) like natit and others like ATY_INIT, are sure really problematical for running snow leopard.

Bild_209.jpg

Bild_210.jpg

Link to comment
Share on other sites

I done that dtm for my IHC9 (2923, 4 Port SATA, EP35-DS3)

But i leaved the AHCIPortinjector. Works. IOREGISTRY shows now SAT1 indest of IDE, but hatsjust cosmetic.

Why ?

Because some injection is needed (by that info.plist or DSDT) for values that the orig. AppleAHCI didnt have for some ICHx

It only has that from your list , not ICH9 nonraid, and also not some others (like the big list in the injector .plist)

In the next step i will inject also that stuff (like for DSDT GPU vs efistring/natit ) and report back.

Below the ICHx versions which OS X can handle without injectors , and second that was the AHCIPortinjector injects for others.

 

I dont know how to put those /and which entrys in an method.

Added:

Those kind of injectors like the AHCI are not really an problem, because their content is only an .plist.

No code content (like natot.kext or some others) which may be a problem for snow leopard.

That kind of .plist injectors (an .kext, but they have only an .plist in) work without any problem also with 64Bit Snow Leopard, because they have no code, only an .plist with data.

 

All other injectors which have also code (32Bit most) like natit and others like ATY_INIT, are sure really problematical for running snow leopard.

 

I can't get my ICH9 to work using this method. Any suggestions?

 

			
		Device (IDE1)
		{
			Name (_ADR, 0x001F0002)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x23, 0x29, 0x00, 0x00
						}, 
					}, Local0)
				DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
				Return (Local0)
			}

			OperationRegion (PCI, PCI_Config, 0x40, 0x20)
			Field (PCI, DWordAcc, NoLock, Preserve)
			{
				ITM0,   16, 
				ITM1,   16, 
				SIT0,   4, 
				SIT1,   4, 
						Offset (0x08), 
				UDC0,   2, 
				UDC1,   2, 
						Offset (0x0A), 
				UDT0,   8, 
				UDT1,   8, 
						Offset (0x14), 
				ICF0,   2, 
				ICF1,   2, 
					,   6, 
				WPPE,   1, 
					,   1, 
				FAS0,   2, 
				FAS1,   2
			}

Link to comment
Share on other sites

I am using the fixed DSDT by DSDT-Patcher, but i still get a kernelpanic when trying to load the AppleIntelCPUPowermanagement.kext. I have a GA-EP45-DS3. Does anyone have a proper HPET entry so that the kext can be used? (required for proper sleep with 10.5.8)

Link to comment
Share on other sites

I am using the fixed DSDT by DSDT-Patcher, but i still get a kernelpanic when trying to load the AppleIntelCPUPowermanagement.kext. I have a GA-EP45-DS3. Does anyone have a proper HPET entry so that the kext can be used? (required for proper sleep with 10.5.8)

 

Try this:

 

				Device (HPET)
			{
				Name (_HID, EisaId ("PNP0103"))
				Name (ATT3, ResourceTemplate ()
				{
					IRQNoFlags ()
						{0}
					IRQNoFlags ()
						{8}
					Memory32Fixed (ReadWrite,
						0xFED00000,		 // Address Base
						0x00000400,		 // Address Length
						)
				})
				Name (ATT4, ResourceTemplate ()
				{
				})
				Method (_STA, 0, NotSerialized)
				{
					Return (0x0F)
				}

				Method (_CRS, 0, NotSerialized)
				{
					Return (ATT3)
				}
			}

			Device (RTC)
			{
				Name (_HID, EisaId ("PNP0B00"))
				Name (ATT0, ResourceTemplate ()
				{
					IO (Decode16,
						0x0070,			 // Range Minimum
						0x0070,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length <-- Changed from 0x04 to fix Snow Leopard CMOS reset
						)
					IRQNoFlags ()
						{0}
				})
				Name (ATT1, ResourceTemplate ()
				{
					IO (Decode16,
						0x0070,			 // Range Minimum
						0x0070,			 // Range Maximum
						0x00,			   // Alignment
						0x02,			   // Length <-- Changed from 0x04 to fix SnowLeopard CMOS reset
						)
				})
				Method (_CRS, 0, NotSerialized)
				{
					Return (ATT1)
				}
			}

Link to comment
Share on other sites

Hello!

 

I need help with the DSDT patching because of the new update and the appleintelcpupm, I need proper HPET now, however, if I try to patch with DSDT patcher gui, I get some errors and warnings. I'd like to know if they are serious ones or not, or is there something left to fix in the code. Thanks in advance! (Build log in spoiler, whole session attached.)

 

Intel ACPI Component Architecture
AML Disassembler version 20080926 [Oct  4 2008]
Copyright © 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a

DSDT Patcher 1.0.1e -- report Bugs to superfassl@gmail.com
enclose "DSDT Patcher/Debug/USER.tar"


Press any key to continue...


Getting the DSDT through ioreg...



Decompiling the DSDT...



Done, now start the Patching!

Patching RTC...

RTC Device found :                 Device (RTC)
Found IRQ in RTC Device, removing it
                       IRQNoFlags ()
RTC patched

Patching HPET...

HPET Device will be overwritten...
HPET Device found :                 Device (HPET)
HPET Device found :                 Device (HPET)
1:                 {

1:                     Name (_HID, EisaId ("PNP0103"))

1:                     Name (ATT3, ResourceTemplate ()

2:                     {

2:                         IRQNoFlags ()

2:                             {0}

2:                         IRQNoFlags ()

2:                             {8}

2:                         Memory32Fixed (ReadWrite,

2:                             0xFEFF0000,         // Address Base

2:                             0x00000400,         // Address Length

2:                             )

1:                     })

1:                     Name (ATT4, ResourceTemplate ()

2:                     {

1:                     })

1:                     Method (_STA, 0, NotSerialized)

2:                     {

2:                         If (LEqual (OSFX, 0x03))

3:                         {

3:                             If (HPTF)

4:                             {

4:                                 Return (0x0F)

3:                             }

3:                             Else

4:                             {

4:                                 Return (0x00)

3:                             }

2:                         }

2:                         Else

3:                         {

3:                             Return (0x00)

2:                         }

1:                     }

1: 

1:                     Method (_CRS, 0, NotSerialized)

2:                     {

2:                         If (LEqual (OSFX, 0x03))

3:                         {

3:                             If (HPTF)

4:                             {

4:                                 Return (ATT3)

3:                             }

3:                             Else

4:                             {

4:                                 Return (ATT4)

3:                             }

2:                         }

2:                         Else

3:                         {

3:                             Return (ATT4)

2:                         }

1:                     }

New HPET written

Fixing various Issues...

Found an issue
Found                           Name (_T_0, 0x00)
Fixed                           Name (T0_0, 0x00)


Found an issue
Found                           Store (And (Local0, 0xFF), _T_0)
Fixed                           Store (And (Local0, 0xFF), T0_0)


Found an issue
Found                           If (LEqual (_T_0, 0x03))
Fixed                           If (LEqual (T0_0, 0x03))


Found an issue
Found                               If (LEqual (_T_0, 0x04))
Fixed                               If (LEqual (T0_0, 0x04))


Found an issue
Found                                   If (LEqual (_T_0, 0x05))
Fixed                                   If (LEqual (T0_0, 0x05))


Found an issue
Found                                       If (LEqual (_T_0, 0x06))
Fixed                                       If (LEqual (T0_0, 0x06))


Found an issue
Found                                           If (LEqual (_T_0, 0x09))
Fixed                                           If (LEqual (T0_0, 0x09))


Found an issue
Found                                               If (LEqual (_T_0, 0x0B))
Fixed                                               If (LEqual (T0_0, 0x0B))


Found an issue
Found                                                   If (LEqual (_T_0, 0x0E))
Fixed                                                   If (LEqual (T0_0, 0x0E))


Found an issue
Found                           Name (_T_0, 0x00)
Fixed                           Name (T0_0, 0x00)


Found an issue
Found  
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20080926 [Oct  4 2008]
Copyright © 2000 - 2008 Intel Corporation
Supports ACPI Specification Revision 3.0a

./dsdt_fixed.txt   365:     Method (\_WAK, 1, NotSerialized)
Warning  1080 -                         ^ Reserved method must return a value (_WAK)

./dsdt_fixed.txt  2228:                     Method (GFSB, 0, NotSerialized)
Warning  1087 -   Not all control paths return a value ^  (GFSB)

./dsdt_fixed.txt  4198:                         Name (T0_0, 0x00)
Error    4111 -  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  5044:                         Name (T0_0, 0x00)
Error    4111 -  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  5177:                         Name (T0_0, 0x00)
Error    4111 -  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  5285:                         Name (T0_0, 0x00)
Error    4111 -  Creating a named object in a While loop ^ 

./dsdt_fixed.txt  5347:                                 Name (T0_0, 0x00)
Error    4111 -          Creating a named object in a While loop ^ 

ASL Input:  ./dsdt_fixed.txt - 7572 lines, 237989 bytes, 3129 keywords
Compilation complete. 5 Errors, 2 Warnings, 0 Remarks, 776 Optimizations
                        Store (And (Arg0, 0xFFFF), _T_0)
Fixed                           Store (And (Arg0, 0xFFFF), T0_0)


Found an issue
Found                           If (LEqual (_T_0, 0x01))
Fixed                           If (LEqual (T0_0, 0x01))


Found an issue
Found                               If (LEqual (_T_0, 0x02))
Fixed                               If (LEqual (T0_0, 0x02))


Found an issue
Found                                   If (LEqual (_T_0, 0x03))
Fixed                                   If (LEqual (T0_0, 0x03))


Found an issue
Found                           Name (_T_0, 0x00)
Fixed                           Name (T0_0, 0x00)


Found an issue
Found                           Store (And (Arg0, 0xFFFF), _T_0)
Fixed                           Store (And (Arg0, 0xFFFF), T0_0)


Found an issue
Found                           If (LEqual (_T_0, 0x01))
Fixed                           If (LEqual (T0_0, 0x01))


Found an issue
Found                               If (LEqual (_T_0, 0x11))
Fixed                               If (LEqual (T0_0, 0x11))


Found an issue
Found                                   If (LEqual (_T_0, 0x12))
Fixed                                   If (LEqual (T0_0, 0x12))


Found an issue
Found                                       If (LEqual (_T_0, 0x13))
Fixed                                       If (LEqual (T0_0, 0x13))


Found an issue
Found                                           If (LEqual (_T_0, 0x14))
Fixed                                           If (LEqual (T0_0, 0x14))


Found an issue
Found                                               If (LEqual (_T_0, 0x15))
Fixed                                               If (LEqual (T0_0, 0x15))


Found an issue
Found                                                   If (LEqual (_T_0, 0x16))
Fixed                                                   If (LEqual (T0_0, 0x16))


Found an issue
Found                           Name (_T_0, 0x00)
Fixed                           Name (T0_0, 0x00)


Found an issue
Found                           Store (And (Arg0, 0xFFFF), _T_0)
Fixed                           Store (And (Arg0, 0xFFFF), T0_0)


Found an issue
Found                           If (LEqual (_T_0, 0x14))
Fixed                           If (LEqual (T0_0, 0x14))


Found an issue
Found                               If (LEqual (_T_0, 0x15))
Fixed                               If (LEqual (T0_0, 0x15))


Found an issue
Found                                   If (LEqual (_T_0, 0x16))
Fixed                                   If (LEqual (T0_0, 0x16))


Found an issue
Found                                   Name (_T_0, 0x00)
Fixed                                   Name (T0_0, 0x00)


Found an issue
Found                                   Store (And (Arg0, 0xFF), _T_0)
Fixed                                   Store (And (Arg0, 0xFF), T0_0)


Found an issue
Found                                   If (LEqual (_T_0, 0x00))
Fixed                                   If (LEqual (T0_0, 0x00))


Found an issue
Found                                       If (LEqual (_T_0, 0x01))
Fixed                                       If (LEqual (T0_0, 0x01))


Found an issue
Found                                           If (LEqual (_T_0, 0x02))
Fixed                                           If (LEqual (T0_0, 0x02))


Done




We are done patching, press any key to try to compile the fixed DSDT




Compiling done, if it worked, you have now a patched DSDT in dsdt.aml
If the compiling went wrong, you could force to build it with ./DSDT\ Patcher -f (try this DSDT at your own risk)

2009_08_08_105128.zip

Link to comment
Share on other sites

  • 3 weeks later...
Will patching the dsdt enable me to boot without cpus=1 or have I completely misunderstood?

 

Thanks

 

If you apply the right patches and recompile it, it will. You also need a dsdt aware bootloader, or if your l33t you can recompile your bios file with the new dsdt and flash it to your motherboard.

Link to comment
Share on other sites

If you apply the right patches and recompile it, it will. You also need a dsdt aware bootloader, or if your l33t you can recompile your bios file with the new dsdt and flash it to your motherboard.

 

 

Thanks a lot. I'm currently running 10.5.7 on a ASRock P43D1600Twins-1394 board; got it working by installing iDeneb plus a number of patches included in iPC 10.5.6. Been running fine for months now; the cpus=1 is the only problem really. I wonder if it'd just be better to wait for SL before I start messing with it?!

Link to comment
Share on other sites

Hi All,

 

I need some suggestions,

 

While compiling i get one error:

" 33DB4D5B-1FF7-401C-9657-7441C03DD766"

Error 4095 - syntax error, unexpected PARSEOP_STRING_LITERAL ^

 

The method containing this string is as below:

 

 

 

Method (_OSC, 4, NotSerialized)

{

If (LEqual (Arg0, Z012))

{

"33DB4D5B-1FF7-401C-9657-7441C03DD766"

CreateDWordField (Arg3, 0x00, CDW1)

CreateDWordField (Arg3, 0x04, CDW2)

CreateDWordField (Arg3, 0x08, CDW3)

Store (CDW2, SUPP)

Store (CDW3, CTRL)

If (LNotEqual (And (SUPP, 0x16), 0x16))

{

And (CTRL, 0x1E)

}

 

And (CTRL, 0x1D, CTRL)

If (Not (And (CDW1, 0x01)))

{

If (And (CTRL, 0x01))

{

Store (0x00, \_SB.PCI0.RP02.HPCE)

Store (0x01, \_SB.PCI0.RP02.HPCS)

}

 

If (And (CTRL, 0x04))

{

Store (0x00, \_SB.PCI0.RP02.PMCE)

Store (0x01, \_SB.PCI0.RP02.PMCS)

}

}

 

You can find the proper source code from the PCI FIRMWARE SPECIFICATION, REV. 3.0, chapter 4.5. _OSC �" A Mechanism for Exposing PCI Express

Capabilities Supported by an Operating System, paragraphe 4.5.3 "Exemple" on the last pages.

 

In fact de Intel ASL assembler, and the Microsoft one, not properly disassemble the ToUUID fonction.

You get :

If (LEqual (Arg0, Z012))
			 {
				 "33DB4D5B-1FF7-401C-9657-7441C03DD766"

instead of :

If(LEqual(Arg0,ToUUID("33DB4D5B-1FF7-401C-9657-7441C03DD766")))
{

 

Next, And (CTRL, 0x1E) should be changed to And (CTRL, 0x1E, CTRL)

 

I also get a warning within this method

 

And (CTRL, 0x1E)

Warning 1105 - ^ Result is not used, operator has no effect

 

 

Apart from this please suggest how to return value for _PRT

 

 

in Device (PEGP)

{

Name (_ADR, 0x00010000)

Method (_PRT, 0, NotSerialized)

{

If (GPIC)

{

Return (Package (0x04)

{

Package (0x04)

{

0xFFFF,

0x00,

0x00,

0x10

},

 

Package (0x04)

{

0xFFFF,

0x01,

0x00,

0x11

},

 

Package (0x04)

{

0xFFFF,

0x02,

0x00,

0x12

},

 

Package (0x04)

{

0xFFFF,

0x03,

0x00,

0x13

}

})

}

}

 

as i get - Not all control paths return a value

 

 

Please help me. :)

 

I don't know, but since this just simple warnings...

 

If I have well understand :

The _PIC(x) Method : This control method is used by Windows 2000 and later versions to report the current interrupt model to the BIOS.

 

_PIC(0) for PIC mode

_PIC(1) for ACPI mode

 

This mode is stored into the GPIC variable :

Name (\GPIC, 0x00)
Method (\_PIC, 1, NotSerialized)
{
 Store (Arg0, GPIC)
}

 

"if(GPIC)" mean "if not in PIC mode", that is "if is using APIC".

In case of APIC, you can use static interrupt routing,

like in your code :

 

"Package (0x04){0xFFFF,0x00,0x00,0x10}"

means

"slot 0 + any function, INTA, static node: the 8259 prog int ctrl, interrupt number 16"

 

 

Else you are configured using the standart PIC mode,

and then for compability with Win98 you should devine int-link-node.

 

So, assuming you are using Linux or XP or above, you can suppress the "if" condition.

Link to comment
Share on other sites

 Share

×
×
  • Create New...