Jump to content

DSDT fixes for Gigabyte boards


iSoprano
 Share

1,908 posts in this topic

Recommended Posts

For shutdown you need this:

    OperationRegion (PMRS, SystemIO, 0x0430, 0x1)
   Field (PMRS, ByteAcc, NoLock, Preserve)
   {
               ,   4,
        SLPE,   1
   }

 

and this in method PTS

        If (LEqual (Arg0, 0x05))
       {
           Store (Zero, SLPE)
           Sleep(0x10)
       }

 

/edit

Address 0x430 is PMBASE+30h if someone tries to use this on something other than a Gigabyte board

 

 

Was on page 49.....

 

On a side note I was able to change to either iMac7,1 or MacPro3,1 and get a full range of speedstep working and my geekbench score is back where it should be.....

 

Thanks everyone

Link to comment
Share on other sites

What is it that you looking for?

 

Edit: I think that the latest Chameleon modifications are the hot new thing now.

 

Greetings Master Chief. I've been following your excellent work for a while now without questions. I have the GA-EP45-UD3L working perfectly with vanilla speedstep but I'm getting ready to upgrade my C2D E6750 with a C2Q Q8400 cpu. I'm getting ready to swap but can't find a recent DSDT speedstep section for the Q8400. Can you give me some advise on where to find a recent speedstep section for this CPU?

 

Thanks in advance!

 

Chaca

Link to comment
Share on other sites

Greetings Master Chief. I've been following your excellent work for a while now without questions. I have the GA-EP45-UD3L working perfectly with vanilla speedstep but I'm getting ready to upgrade my C2D E6750 with a C2Q Q8400 cpu. I'm getting ready to swap but can't find a recent DSDT speedstep section for the Q8400. Can you give me some advise on where to find a recent speedstep section for this CPU?

 

Thanks in advance!

 

Chaca

Hi Chaca,

 

Shouldn't be too difficult since both CPU's have a [stock] clock speed of 2.66GHz. The most obvious change is that you are going to need four instead of two processor blocks in your DSDT. And booting with your current _PSS data won't hurt, but you will have to update it yes. I however can't help you with this, but the P-State calculator would be step one – to obtain the required values. And I presume that the Q8400 has fewer P-States, but you'll figure that out soon enough.

 

You might also want to change your _CST object also since the Q8400 supports not only C1E but also C3E and C4E.

Link to comment
Share on other sites

Was on page 49.....

 

On a side note I was able to change to either iMac7,1 or MacPro3,1 and get a full range of speedstep working and my geekbench score is back where it should be.....

 

Thanks everyone

 

Why Is it necessary to choose or an imac7,1 or a MacPro3,1 ? My box is detected as imac 8,1. Do that means speedstep is not working correctly? Apple supports only two models for that? Sorry if my question its a bit goofy. Just wondering.

Link to comment
Share on other sites

Well in my case it was the speed step would only engage my bottom two multiplier causing the computer to not run As efficiently I added a smbios to my extras folder to inject as the imac7,1 or Macpro3,1 in order to get my full range I am guessing you do not have a smbios in your extra folder and that is why you show the chameleon default of iMac 8,1

Link to comment
Share on other sites

Well in my case it was the speed step would only engage my bottom two multiplier causing the computer to not run As efficiently I added a smbios to my extras folder to inject as the imac7,1 or Macpro3,1 in order to get my full range I am guessing you do not have a smbios in your extra folder and that is why you show the chameleon default of iMac 8,1

 

I understand now. (yes, Im using cham. withour smbios). So those two models are the supported ones to have all the speedstep range? Mileage may vary depending on which processor you have. I guess imac for core2duos and below and macpro for quads (and newer icore's).

Link to comment
Share on other sites

Greetings Master Chief. I've been following your excellent work for a while now without questions. I have the GA-EP45-UD3L working perfectly with vanilla speedstep but I'm getting ready to upgrade my C2D E6750 with a C2Q Q8400 cpu. I'm getting ready to swap but can't find a recent DSDT speedstep section for the Q8400. Can you give me some advise on where to find a recent speedstep section for this CPU?

 

Thanks in advance!

 

Chaca

 

This is my PSS-section for the Q8400, I've only got 4 steps working, but voodoomonitor only gave me 3, so I'm happy. If you have better luck or some magic charm to activate more than these, please reply! :-)

        Method (PSS, 0, NotSerialized) // PSS values for a Q8400
	{
		Return (Package (0x04)
		{
			Package (0x06){Zero,Zero,0x0A,0x0A,0x081D,0x081D}, // x8
			Package (0x06){Zero,Zero,0x0A,0x0A,0x471C,0x471C}, // x7.5
			Package (0x06){Zero,Zero,0x0A,0x0A,0x071A,0x071A}, // x7
			Package (0x06){Zero,Zero,0x0A,0x0A,0x0616,0x0616}  // x6
		})
	}     

Link to comment
Share on other sites

Hi!

Can you please help me with this error? I have nine of thease!!

 

/Desktop/Ny mapp/DSDT.dsl 2041: Name (_ADR, Zero)

Error 4080 - Invalid object type for reserved name, must be ^ (Integer)

 

Are you using the latest compiler right? Try putting a 0 instead of Zero then.

Link to comment
Share on other sites

Hello everyone,

 

OK, for all intense and purposes, lets just consider me a DSDT noob. I have read many of the posts in this tread to get a general idea of what's going on, but it is a bit beyond me (put mildly).

 

My board is a GA-EP45T-DS3R (see sig). Based on knowledge I have gained from various places I have been able to do a bit of modding to create a "working" DSDT for my machine.

 

I would upload my .DSL and .AML files, but when ever I try I get the following error message: "Upload failed. You are not permitted to upload this type of file". I've been an InsanelyMac member for quite a long time, so I don't know why I can't upload files. There is probably a good reason I suppose.

 

Anyway, my question is, is there a "guide" somewhere that has compiled, in one place, all the known fixes that I could use to apply to my board? BlackOSX has created some incredibly awesome guides that are so clear and easy to follow, I'm wondering if there is something similar for DSDT.

 

My goal is to create as complete as possible of a DSDT file (of course) based on the most current BIOS for my board (F4c BETA). I don't mind doing the work, I just need to know what all I need to focus on in order to do this - a kind of "laundry" list of everything I need to change.

 

THANK YOU ALL very much!

Link to comment
Share on other sites

Hello everyone,

 

I would upload my .DSL and .AML files, but when ever I try I get the following error message: "Upload failed. You are not permitted to upload this type of file". I've been an InsanelyMac member for quite a long time, so I don't know why I can't upload files. There is probably a good reason I suppose.

 

Try putting your files in a .tar.gz or .zip if you haven't already.

Link to comment
Share on other sites

I'm using a patched version of PCEFI 10.5. You can find this version in post #1454

Can I remove these lines in 'smbios.plist' ? In other words, Do I need these lines with the UUID fix enabled?

 

<key>SMUUID</key>
<string>862F78AF-9B36-50AF-B67A-ABBA8C14A528</string>

Link to comment
Share on other sites

What does this code do? Can I remove it?

 

PNP0C01 System Board

 

Device (MEM)
{
   Name (_HID, EisaId ("PNP0C01"))
   Method (_CRS, 0, NotSerialized)
   {
       Name (BUF0, ResourceTemplate ()
       {
           Memory32Fixed (ReadWrite,
               0x000F0000,         // Address Base
               0x00004000,         // Address Length
               _Y0B)
           Memory32Fixed (ReadWrite,
               0x000F4000,         // Address Base
               0x00004000,         // Address Length
               _Y0C)
           Memory32Fixed (ReadWrite,
               0x000F8000,         // Address Base
               0x00004000,         // Address Length
               _Y0D)
           Memory32Fixed (ReadWrite,
               0x000FC000,         // Address Base
               0x00004000,         // Address Length
               _Y0E)
           Memory32Fixed (ReadWrite,
               0x00000000,         // Address Base
               0x00040000,         // Address Length
               _Y0A)
           Memory32Fixed (ReadWrite,
               0x00000000,         // Address Base
               0x000A0000,         // Address Length
               )
           Memory32Fixed (ReadWrite,
               0x00100000,         // Address Base
               0x00000000,         // Address Length
               _Y10)
           Memory32Fixed (ReadWrite,
               0xFEC00000,         // Address Base
               0x00001000,         // Address Length
               )
           Memory32Fixed (ReadWrite,
               0xFED10000,         // Address Base
               0x0000E000,         // Address Length
               )
           Memory32Fixed (ReadWrite,
               0xFED20000,         // Address Base
               0x00070000,         // Address Length
               )
           Memory32Fixed (ReadWrite,
               0xFEE00000,         // Address Base
               0x00001000,         // Address Length
               )
           Memory32Fixed (ReadWrite,
               0xFFB00000,         // Address Base
               0x00080000,         // Address Length
               )
           Memory32Fixed (ReadWrite,
               0xFFF00000,         // Address Base
               0x00100000,         // Address Length
               )
           Memory32Fixed (ReadWrite,
               0x000E0000,         // Address Base
               0x00010000,         // Address Length
               _Y0F)
       })
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0A._BAS, ACMM)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0A._LEN, ASSM)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0B._BAS, RMA1)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0B._LEN, RSS1)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0C._BAS, RMA2)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0C._LEN, RSS2)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0D._BAS, RMA3)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0D._LEN, RSS3)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0E._BAS, RMA4)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0E._LEN, RSS4)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0F._BAS, ERMA)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y0F._LEN, ERMS)
       CreateDWordField (BUF0, \_SB.MEM._CRS._Y10._LEN, EXTM)
       Subtract (AMEM, 0x00100000, EXTM)
       If (LNotEqual (ROM1, Zero))
       {
           Store (RMA1, RMA2)
           ShiftLeft (ROM1, 0x08, Local0)
           Store (Local0, RMA1)
           ShiftLeft (RMS1, 0x08, Local0)
           Store (Local0, RSS1)
           Store (0x8000, RSS2)
       }

       If (LNotEqual (ROM2, Zero))
       {
           Store (RMA2, RMA3)
           ShiftLeft (ROM2, 0x08, Local0)
           Store (Local0, RMA2)
           ShiftLeft (RMS2, 0x08, Local0)
           Store (Local0, RSS2)
           Store (0xC000, RSS3)
       }

       If (LNotEqual (ROM3, Zero))
       {
           Store (RMA3, RMA4)
           ShiftLeft (ROM3, 0x08, Local0)
           Store (Local0, RMA3)
           ShiftLeft (RMS3, 0x08, Local0)
           Store (Local0, RSS3)
           Store (0x00010000, RSS4)
       }

       Store (ERMA, Local1)
       If (LGreater (RMA1, 0x000D0000))
       {
           If (LLess (RMA1, 0x000F0000))
           {
               Add (RMA1, RSS1, Local0)
               If (LGreater (Local0, 0x000E0000))
               {
                   If (LGreater (Local0, Local1))
                   {
                       Store (Local0, Local1)
                   }
               }
           }
       }

       If (LGreater (RMA2, 0x000D0000))
       {
           If (LLess (RMA2, 0x000F0000))
           {
               Add (RMA2, RSS2, Local0)
               If (LGreater (Local0, 0x000E0000))
               {
                   If (LGreater (Local0, Local1))
                   {
                       Store (Local0, Local1)
                   }
               }
           }
       }

       If (LGreater (RMA3, 0x000D0000))
       {
           If (LLess (RMA3, 0x000F0000))
           {
               Add (RMA3, RSS3, Local0)
               If (LGreater (Local0, 0x000E0000))
               {
                   If (LGreater (Local0, Local1))
                   {
                       Store (Local0, Local1)
                   }
               }
           }
       }

       If (LGreater (Local1, ERMA))
       {
           Subtract (Local1, ERMA, Local0)
           If (LLessEqual (Local0, 0x00010000))
           {
               Store (Local1, ERMA)
               Subtract (0x00010000, Local0, ERMS)
           }
       }

       Store (AMEM, ACMM)
       And (AMEM, 0x000FFFFF, Local0)
       Subtract (0x00100000, Local0, ASSM)
       Return (BUF0)
   }
}

 

I would be grateful for any help. Thanks!

Link to comment
Share on other sites

Hello Gigabyte users,

 

I have a couple of questions regarding the DSDT patching, and I believe the active people in this thread can help me out (as I’m a complete noob in this field, but learning fast). If it’s a tough thing to explain, I would be really grateful for pointing me to some links where I can find the needed information.

 

First of all, my specs are as follows:

 

Motherboard: Gigabyte GA-P35-S3G

GPU: Galaxy GeForce 7600 GS (PCIe)

Processor: Intel Pentium Dual-Core E5200

OS: OSX Leopard 10.5.8 - For the installation I have used Retail 10.5.4 Leopard with the boot132 method and Chameleon Extra folder; currently updated to 10.5.8; DSDT built with the GUI DSDT Patcher from ~PCWiz.

 

Currently I have experienced a problem which suddenly came out, or I have never noticed it before (I doubt it) - my keyboard Microsoft Wireless Laser 6000 v2.0, started to type itself strange combinations, including turning the Calculator.app on. I thought it’s due to drained battery and replaced it with an ordinary PS/2 (using a PS/2 fix) for the night, until I buy some new batteries. Unfortunately, the battery wasn’t the problem and it continued with the strange input every couple of minutes, which made it completely useless. After a couple of days, I borrowed a nice DSLR camera from a friend, and for my surprise when I plugged the SD Card adapter into the USB slot it turned on for a sec, and then I got the “Your hardware was improperly turned off” or something similar. It seemed that the computer thinks that I have taken out the USB Adapter, when I actually haven’t touched it at all.

 

Since then, I decided to read a little bit for the DSDT as I have had only taken a quick look on the thread, and I thought this could fix my problem.

 

It actually did. I used the latest posted DSDT (for GA-EP35-DS3L) in the first post of the thread. What changed:

 

- I have perfectly working USB ports (keyboard’s working again, memory sticks and SD adaptor working fine, too)

- When I sleep the computer, It turns on with a mouse click (never happened before)

- I have quite a few more spinning beach balls, especially in Safari and Photoshop CS3. Actually PS works horribly slow.

 

I was thinking of getting my DSDT fixed properly for two reasons, - I want to get my system properly working and I’m thinking of upgrading to Snow Leopard next month.

 

Things I want to fix in the DSDT:

 

- Processor

- GPU

- Remove the lines that are not needed (or leave them if it’s not a problem)

 

Please give me a hand on finding a way to edit the info for the Processor and GPU and also to get rid of the unneeded kexts.

 

 

Thanks in advance.

Link to comment
Share on other sites

Probably the best way to do this is to simply read through the thread from page 1 and follow what everyone did. Thats what I just finished doing not long ago to overhaul my DSDT. It takes a quite some time, but its worth it. The quickest way is going to be helping yourself, and the best way is to just start reading.

 

Good Luck!

Link to comment
Share on other sites

What does this code do? Can I remove it?

I would be grateful for any help. Thanks

 

Quick answer:

Device Mem declares your memory resources to the OSPM.

 

According to page 355 of ACPIspec40, this device is only required if you need to dynamically add or subtract memory while system is in use. It seems that the BIOS maps the memory appropriately on boot. How it conveys this to OSX I dont know.

 

However, in my dsdt under device PCI0.EXPL I have a memory declaration. I have searched for info for this device but haven't been able to find anything.

Link to comment
Share on other sites

iSoprano - just wanted to thank you for the dsdt.aml files you posted. Your pre-GFX card DSDT is working a dream for me. Sleep has been a major issue for me, but this has sorted it.

 

Can't tell you how happy I am - many many thanks!!!!

 

If I wanted to improve further to tailor to my specific board (P35C-DS3R) is there anything you would recommend?

 

I don't use the onboard sound and have a core 2 duo cpu (as in sig)

 

Once again....

 

Thank you

Link to comment
Share on other sites

 Share

×
×
  • Create New...