Jump to content

[DSDT] Gigabyte's Motherboard's - MacPro style


stickpin
 Share

63 posts in this topic

Recommended Posts

I did port of great DSDT research that Master Chief did for Asus P5K PRO to Gigabyte's motherboard's.

This DSDT for my GA-EP45-UD3LR (ICH10R) only a template for things that possible to do with your DSDT.

 

Still work in progress, but this is what i done so far:

 

  • All devices renamed to MacPro3,1 style.
  • Removed unused devices. (Floppy, Com, LPT, IDE (JMicron), etc...)
  • USB fixed.
  • SATA fixed.
  • Sleep fixed.
  • Shutdown fixed.
  • Restart fixed.
  • Native Speed Stepping (DSDT based on my Q9550).
  • GFX injection.
  • NEW HDEF (Sound) Injection. Thanks alot to THE KiNG!
  • New Mac only devices added. (SBUS, EC, etc...)
  • Restart works with OSXRestart.kext by Master Chief. (Not necessary anymore)

WARNING:

Pay attention: IDE is removed! CPU's PSS values and GFX injection.

You CAN'T use it AS IS!

 

Thanks alot to Master Chief to GREAT research!

 

Enjoy! :P

 

Version 1.0:

DSDT_GA_EP45_UD3LR_V1.0.zip

 

Change log 1.0 to 1.1:

  • New HDEF injection method. Thanks alot to THE KiNG!

Version 1.1:

DSDT_GA_EP45_UD3LR_V1.1.zip

 

Kext's used for 1.1:

Change log 1.1 to 1.2:

  • DSDT Cleanup
  • Final fixes
  • Optimizations

Version 1.2:

DSDT_GA_EP45_UD3LR_V1.2.zip

 

Kext's used for 1.2:

  • Like 1
Link to comment
Share on other sites

Can you help me with this please?

This is my power states

qxw7yq.png

 

What is each line represent here? so i cam make my own?

		   
				Package (0x06) { 0x0B0F, 0x00017318, 0x10, 0x10, 0x4822, Zero }, 
				Package (0x06) { 0x0A68, 0x00014FF0, 0x10, 0x10, 0x081F, One }, 
				Package (0x06) { 0x09C2, 0x000130B0, 0x10, 0x10, 0x471D, 0x02 }, 
				Package (0x06) { 0x091B, 0x00011170, 0x10, 0x10, 0x071B, 0x03 }

 

Thank you for your dsdt.

Link to comment
Share on other sites

Stickpin,

 

Thanx for this great thread. I'll read further and test your DSDT with my hardware (will implement my CPU specific PSS and CSS) and report it back.

 

 

 

Can you help me with this please?

This is my power states

qxw7yq.png

 

What is each line represent here? so i cam make my own?

		   
				Package (0x06) { 2997, 0x10, 0x10, 0x4822, Zero }, 
				Package (0x06) { , , 0x10, 0x10, 0x081F, One }, 
				Package (0x06) { , , 0x10, 0x10, 0x471D, 0x02 }, 
				Package (0x06) { , , 0x10, 0x10, 0x071B, 0x03 }

 

Thank you for your dsdt.

 

hi :rolleyes:

 

your code should look like this based on the above VoodooMonitor Info:

 

		   
				Package (0x06) { 2997, 0x10, 0x10, 0x092A, Zero }, 
				Package (0x06) { 2664, 0x10, 0x10, 0x0829, One }, 
				Package (0x06) { 2331, 0x10, 0x10, 0x0727, 0x02 }, 
				Package (0x06) { 1998, 0x10, 0x10, 0x0625, 0x03 }

Link to comment
Share on other sites

I did another few tweak to HDEF posted yesterday by THE KiNG, ill post updates DSDT later today.

 

Working now on understanding of SATA "Orange Icon" problem, to get rid of another legacy kext. Looks like somehow need to remove Hot Plug flag on PR device and it will fix the problem. If someone know and did some research, please let me know.

Link to comment
Share on other sites

I did another few tweak to HDEF posted yesterday by THE KiNG, ill post updates DSDT later today.

 

Working now on understanding of SATA "Orange Icon" problem, to get rid of another legacy kext. Looks like somehow need to remove Hot Plug flag on PR device and it will fix the problem. If someone know and did some research, please let me know.

 

I'll post my DSDT SATA part tonight and you could take some code if you find it useful. With this code (actually it's well known and wide spread) i don't have an orange icons for my internal HDs -- System Profiler reports them as internal SATA.

Link to comment
Share on other sites

I did another few tweak to HDEF posted yesterday by THE KiNG, ill post updates DSDT later today.

 

Working now on understanding of SATA "Orange Icon" problem, to get rid of another legacy kext. Looks like somehow need to remove Hot Plug flag on PR device and it will fix the problem. If someone know and did some research, please let me know.

 

 

If you change this

Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			Device (PRT0)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)
				{
					Return (MCBN (Arg2, "1"))
				}
			}

To this

Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x81, 0x26, 0x00, 0x00
						}
					}, Local0)
				MCDP (Arg2, RefOf (Local0))
				Return (Local0)
			}

			Device (PRT0)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)
				{
					Return (MCBN (Arg2, "1"))
				}
			}

 

Then the problem will be fixed. no more orange icons and unknown ahci device. All credit to Master Chief.

 

hi :(

 

your code should look like this based on the above VoodooMonitor Info:

 

		   
				Package (0x06) { 2997, 0x10, 0x10, 0x092A, Zero }, 
				Package (0x06) { 2664, 0x10, 0x10, 0x0829, One }, 
				Package (0x06) { 2331, 0x10, 0x10, 0x0727, 0x02 }, 
				Package (0x06) { 1998, 0x10, 0x10, 0x0625, 0x03 }

 

 

But, whats that long number in the other code?

0x00017318
0x00014FF0
0x000130B0					
0x00011170

Link to comment
Share on other sites

But, whats that long number in the other code?

0x00017318
0x00014FF0
0x000130B0					
0x00011170

 

Right :-), i forgot to say that those hex values are for the CPU power consumption. If you have 4 P-states then you end up with 4 different power consumption values. For example, CPU running @ 2,9GHz consumes 65W, and so on. Personally, I don't have those in my CPU P-state description, and my system is OK and SpeedStepping.

Link to comment
Share on other sites

If you change this

Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			Device (PRT0)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)
				{
					Return (MCBN (Arg2, "1"))
				}
			}

To this

Device (SATA)
		{
			Name (_ADR, 0x001F0002)
			Method (_DSM, 4, NotSerialized)
			{
				Store (Package (0x02)
					{
						"device-id", 
						Buffer (0x04)
						{
							0x81, 0x26, 0x00, 0x00
						}
					}, Local0)
				MCDP (Arg2, RefOf (Local0))
				Return (Local0)
			}

			Device (PRT0)
			{
				Name (_ADR, Zero)
				Method (_DSM, 4, NotSerialized)
				{
					Return (MCBN (Arg2, "1"))
				}
			}

 

Then the problem will be fixed. no more orange icons and unknown ahci device. All credit to Master Chief.

 

 

 

 

But, whats that long number in the other code?

0x00017318
0x00014FF0
0x000130B0					
0x00011170

 

This SATA code is workaround, you turn your natively detected ICH10 SATA to ESB2, and ESB2 (ICH6) as faw as i know doesn't support Hot Plug at all, that why you icons is Internal one. What im trying to do is to turn off Hot Plug on natively detected ICH10. ;)

Link to comment
Share on other sites

Thanks a lot for sharing this with us stickpin, highly appreciated!

 

I have a EP45-DS3LR with Q9450, 8800 GT and 8 GB RAM.

 

I take your DSDT and change p-states and GFX injection and then compile, it works great except that shutdown fix does not seem to work, anything more I need to deviate from your DSDT? I have the newest bios firmware.

 

With this DSDT can you use vanilla kext for the built-in lan? Is the AFP/SMB and Bonjour working correctly?

 

I guess you still have to use legacy kext for audio?

 

One last question, do you have the hdcp lag with your 9500 GT? If so can you remove it via DSDT somehow?

 

Thanks for your great work!

Link to comment
Share on other sites

This SATA code is workaround, you turn your natively detected ICH10 SATA to ESB2, and ESB2 (ICH6) as faw as i know doesn't support Hot Plug at all, that why you icons is Internal one. What im trying to do is to turn off Hot Plug on natively detected ICH10. :)

 

 

OK, I have ICH9. What i should change in SATA to have ICH9 natively?

Link to comment
Share on other sites

Thanks a lot for sharing this with us stickpin, highly appreciated!

 

I have a EP45-DS3LR with Q9450, 8800 GT and 8 GB RAM.

 

I take your DSDT and change p-states and GFX injection and then compile, it works great except that shutdown fix does not seem to work, anything more I need to deviate from your DSDT? I have the newest bios firmware.

I added my kext's to first post, so you can compate to mine.

 

With this DSDT can you use vanilla kext for the built-in lan? Is the AFP/SMB and Bonjour working correctly?

No there's no bonjour support, i need to find some real mac with Realtek LAN to get more info/dumps from there.

 

I guess you still have to use legacy kext for audio?

Yes for now. :) See first post.

 

One last question, do you have the hdcp lag with your 9500 GT? If so can you remove it via DSDT somehow?
I dont have any bluray to test it, so hard to say if i have lags or not.

 

OK, I have ICH9. What i should change in SATA to have ICH9 natively?

You can't, there's no real mac with ICH9, so the closest chip to ICH9 its ICH10, not because of number, but as i saw in intel doc's its almost the same at SATA.

 

Ill post my second rig DSDT later, its ICH9 based. :D

Link to comment
Share on other sites

You can't, there's no real mac with ICH9, so the closest chip to ICH9 its ICH10, not because of number, but as i saw in intel doc's its almost the same at SATA.

 

Ill post my second rig DSDT later, its ICH9 based. :)

 

 

OK, I managed to cheat my SATA to ICH10, the problem is that even if it says ICH10 on system profiler i have got orange disk icons. Am i doing somthing wrong?

2l8zvy0.png

Link to comment
Share on other sites

Hey Stickpin I get a lot of errors when trying to compile

 

 

EP45-UD3L F7 BIOS

Q9550

4GB 0CZ MEM

2 SATA DVDRW DRIVES

1 500GB SATA HD

DYNES DX-PCI2PF PCI Express Firewire 800 card

 

here is my log

 

Use new IASL

 

OK, I managed to cheat my SATA to ICH10, the problem is that even if it says ICH10 on system profiler i have got orange disk icons. Am i doing somthing wrong?

This exactly what im trying to fix by removing Hot Plug flag from it. :D

Link to comment
Share on other sites

I'm using a GA-945GCM-S2L with GMA950 enabled by DSDT. My problem is that the monitor doesn't wake from sleep when I'm using the 64bit kernel. I hear the HDD and fans spinning up but monitor doesn't start.

 

Sleep and wake up work perfectly when I boot into 32bit mode. Could that still be a DSDT issue? Or is it a driver issue, since these are Apple's first 64bit drivers for the GMA950!!

 

I think I've seen some similar problems on the Apple forums from people with some other cards too.

 

Thanks in advance

Link to comment
Share on other sites

Working now on understanding of SATA "Orange Icon" problem, to get rid of another legacy kext. Looks like somehow need to remove Hot Plug flag on PR device and it will fix the problem. If someone know and did some research, please let me know.

Hi stickpin

 

I also would like to try and understand the native ICH10 orange icon issue without having to resort to the DSDT workaround of setting the device-id to a lesser ICH. Your Hot Plug flag sounds interesting. Can I help somehow?

 

EDIT: I am not using your DSDT as I am still trying to refine my own, but I will look at THe KiNG's revised HDEF code. Can you point me to where you found it?

Link to comment
Share on other sites

@Stickpin

 

In voodoomonitor under p-states I can see 3 states with the following multiplers: 6,7,8. Does that mean I should remove p-states for multiplers 6.5 and 7.5 in the dsdt?

 

p-state.png

 

@All

 

Is idle sleep (auto sleep) working for you? I know the CD/DVD drive can be changed to fix this problem. Anyone experience this? Any solution for it yet?

Link to comment
Share on other sites

This exactly what im trying to fix by removing Hot Plug flag from it. :)
Wouldn't it be better to preserve the native hot plug capability of the chipset to be able to mount and unmount external eSATA drives, and instead just fix the cosmetic orange icon issue in DSDT instead of additional kext?
Link to comment
Share on other sites

Wouldn't it be better to preserve the native hot plug capability of the chipset to be able to mount and unmount external eSATA drives, and instead just fix the cosmetic orange icon issue in DSDT instead of additional kext?

After doing some reading, I now understand that hot plug is a native feature of ICH10. As we are making our machines as close as possible to a real Mac, I have to ask if real Mac's allow hot plugging of SATA drives? If so, then yes, it would be better to preserve the feature.

Link to comment
Share on other sites

After doing some reading, I now understand that hot plug is a native feature of ICH10. As we are making our machines as close as possible to a real Mac, I have to ask if real Mac's allow hot plugging of SATA drives? If so, then yes, it would be better to preserve the feature.

 

You can check MacPro3,1 and MacPro4,1 IOReg... youll see that all sata drives got HotPlug turned off... as i said before, it should be per sata port config. :D

Link to comment
Share on other sites

You can check MacPro3,1 and MacPro4,1 IOReg... youll see that all sata drives got HotPlug turned off... as i said before, it should be per sata port config. :D

Thanks for the confirmation. I will stick with using the OrangeIcon fix as d00d suggests but I am interested in the process of enabling/disabling the Hot Plug option through DSDT to see what difference it makes, even if I don't make it a permanent change :)

Link to comment
Share on other sites

 Share

×
×
  • Create New...