Jump to content

Master Chief's P5K PRO ACPI Warfare


VegasKarma
 Share

908 posts in this topic

Recommended Posts

Congrats Master Chief good job!

Restart works just fine now on my lappie(have to test on rest of my hw, but i bet will work)

Would be nice if we can put this fix on DSDT, hope is possible...

 

Thanks. :)

Thank you for the confirmation.

 

Newsflash: A new dedicated thread for OSXRestart.kext can now be found here. Just to make room for other stuff here ;)

Link to comment
Share on other sites

Here we go, Gigabyte's DSDT based on your (Master Chief) DSDT research.

My board is EP45-UD3LR (ICH10R).

 

Should be useful for all Gigabyte boards, IMO.

 

Size with GFX and HDEF only 94KB. ;)

 

@Stickpin

 

I went through your DSDT and it seems you're using a lot of stuff the Gigabye boards can't take advantage of such as the ASSB references and BIOS operation region to name a couple. We can only use MasterChief's ideas as concepts. His patches arn't one for translations to all motherboards.

Link to comment
Share on other sites

@Stickpin

 

I went through your DSDT and it seems you're using a lot of stuff the Gigabye boards can't take advantage of such as the ASSB references and BIOS operation region to name a couple. We can only use MasterChief's ideas as concepts. His patches arn't one for translations to all motherboards.

You are right. Some parts cannot be used. I was however too busy to have a look at it myself, and thus I am glad that you stepped in.

 

@Stickpin: My dsdt.aml is 365 bytes smaller, and yes that's with: GFX, PATA, FRWR (FireWire) and some experimental patches.

Link to comment
Share on other sites

@Stickpin

 

I went through your DSDT and it seems you're using a lot of stuff the Gigabye boards can't take advantage of such as the ASSB references and BIOS operation region to name a couple. We can only use MasterChief's ideas as concepts. His patches arn't one for translations to all motherboards.

 

Yes, you are right its work in progress, but most of the stuff do works.

Some regions do need some small tweaking.

Ill post report later.

Link to comment
Share on other sites

Yes, you are right its work in progress, but most of the stuff do works.

Some regions do need some small tweaking.

Ill post report later.

 

can you wake from sleep without the setting in 'Energy Saver' -> 'Start up automatically after a power failure' ? (assuming you're loading AppleLPC.kext)

Link to comment
Share on other sites

Status report to DSDT that i posted previously:

 

Stuff that already made and works:

- Fixed Device Tree (IOReg) - MacPro3,1 like style.

- Removed unused devices.

- USB Fix.

- SATA Fix.

- Sleep Fix (Yes Sleep works without any kexts).

- Restart works with new OSXRestart.kext.

- Native Speed Stepping (DSDT based on my Q9550)

- New devices added like SBUS (Based on Master Chief)

 

Stuff to fix:

- Proper Shutdown.

- Review and tweak (re-port) some values that native for ASUS boards only.

- Clean up.

 

Enjoy! ;)

 

p.s. Sorry for posting this DSDT in P5K thread.

Link to comment
Share on other sites

Hi all, I have a P5Q-EM with the lastest original bios 2203, there is anyone that can help me to mod this bios? The lastest modded bios is really old.. I want to install a retail version of snow leopard 10.6.

This isn't about BIOS mods, DSDT patching only.

 

I can't find an ISO with 10.6.2 retail version.. there is the way to update an original copy of the 10.6 golden master (10a432) without problems after reboot? Or.. can you gimme a link of 10.6.2 relese?

Please read post #3 and #384 – No links to/discussions about illegal material. Retail only. Thank you.

Link to comment
Share on other sites

Master Chief, I see one of the ways you were able to dramatically cut down on file size is eliminating the LNKA-LNKH references in the PCI Routing Tables. How were able to determine this was OK to do? Just wondering.

 

I also noticed you reference ACPI spec 3a instead of 4 or even 3b. Is there a reason? I can see they reference these changes:

Major specification revision. Clock Domains, x2APIC Support, Logical Processor Idling, Corrected Platform Error Polling Table, Maximum System Characteristics Table, Power Metering and Budgeting, IPMI Operation Region, USB3 Support in _PLD, Re-evaluation of _PPC acknowledgement via _OST, Thermal Model Enhancements, _OSC at \_SB, Wake Alarm Device, Battery Related Extensions, Memory Bandwidth Monitoring and Reporting, ACPI Hardware Error Interfaces, D3hot.

Is it because your board was written to 3.0 specs?

 

Also I'm not sure you're aware that you can get rid of the AppleHDAController in your audio setup. It's not needed. So you should be able to delete your LegacyHDAController.kext and delete references to it, if any, in your LegacyHDAPlatformDriver.kext. Apple HDA doesn't require it.

See here.

 

I have yet to try out this new DSDT HDEF patch however. Pardon the condensed code. It's bound to trip people up but I find it vastly easier to read, especially in forums. I actually think the ACPI compiler should be rewritten to include readability fixes like this. I'd do it myself but I don't have the chops.

Method (_DSM, 4, NotSerialized)
{
   Store (Package (0x08)
       {
           "subsystem-id"          ,Buffer (0x01){0xA0, 0x00, 0x00, 0x00}, 
           "subsystem-vendor-id"   ,Buffer (0x04){0x6B, 0x10, 0x10, 0x10}, 
           "layout-id"             ,Buffer (0x01){0x0C, 0x00, 0x00, 0x00},
           "PinConfigurations"     ,Buffer (0x00){}
       }, Local0)
   DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
   Return (Local0)
}

Link to comment
Share on other sites

Master Chief, I see one of the ways you were able to dramatically cut down on file size is eliminating the LNKA-LNKH references in the PCI Routing Tables. How were able to determine this was OK to do? Just wondering.

Take a look at _PIC :)

 

I also noticed you reference ACPI spec 3a instead of 4 or even 3b. Is there a reason?

...

Is it because your board was written to 3.0 specs?

No. It's because Apple is using ACPI CA (build 20071219) in OS X – developed before the newer/latest specifications.

 

Also I'm not sure you're aware that you can get rid of the AppleHDAController in your audio setup. It's not needed....

Thanks, but I don't have it anymore – removed it after Snow Leopard.

 

Oh. And good job THe KiNG!

 

p.s. I had to write this reply three times due to the fact that the layout was all messing up!!!

Link to comment
Share on other sites

EUREKA!

 

I just fixed this old problem in my DSDT:

 

- Capabilities: [50] Vendor Specific Information <?>

+ Capabilities: [50] PCIe advanced features <?>

 

I also have the SATA LED heartbeat working. Which is great fun, but unfortunately for us... FireWire is still not hot pluggable. What a bummer. Anyway. I am making progress, be it slow, but we're not there yet and thus... later folks!

 

Update: I had a long day, with plenty of other things popping up, but I managed to write one additional patch... to locate the DVD drive. It might still be impossible to fix FireWire like this, or by me, but I will give it another shot after a few hours of sleep.

Link to comment
Share on other sites

Master Chief

thank for great job!

just find this thread couple days ago, and some, may be lame question arrived.

in SATA section you cut all info, that take care about drives timing (I saw about same situation in realMacs dsdt), could you explain why?

Thanks again

Link to comment
Share on other sites

Master Chief

thank for great job!

just find this thread couple days ago, and some, may be lame question arrived.

in SATA section you cut all info, that take care about drives timing (I saw about same situation in realMacs dsdt), could you explain why? Thanks again

Oh boy Where should I start.

 

1) We obviously don't need it.

2) We don't use (legacy) IDE but ACPI.

3) We're not running Microsoft Windows, but OS X.

4) The DSDT code was written for Windows.

5) OS X is capable of using native ACPI registers.

6) Read the ICHn datasheet and find text like this: "These registers are only used for legacy operation. Software must not use these registers when running AHCI."

7) There are two controller, but we only use one (D31:F2).

8) Now re-read the ACPI specification, knowing that we're not using IDE but ACPI and thus Methods like: _GTM (Get Timing) and _STM (Set Timing) et all can be removed.

 

But most importantly, do a little research yourself next time, and ask specific questions because this is how I read it:

 

"in SATA section you cut all info" – Correct.

 

", that take care about drives timing" – Incorrect.

 

"(I saw about same situation in realMacs dsdt)," – That can be the case yes,

 

" could you explain why?" – Rather not. Too many of these questions and I won't have free time anymore. But I am am a nice guy, so I gave you your answers. However, for the next person, please, do a little research yourself! That is after all were the links are for in post #3.

 

Hi Master Chief,

 

Your last modifications work well on my P5Q pro, here is my last dsdt for people who have the same motherboard than me.

 

thanks

dsdt_3.2.dsl.zip

Thank you for your confirmation, and for sharing your work (so that others here can have a look at it, and use it).

Link to comment
Share on other sites

Hello!

 

Master Chief, do you have some kind of log about the removable devices from DSDT?

 

I mean, devices that aren't used under OSX (maybe some Methods, too?) I wiped PS2M,PS2K,FDC,MC97 already... it's ok?

 

 

Thank you! BTW, my mobo is an Asus p5ld2-vm, but most of the names are the same as p5k.

Link to comment
Share on other sites

Hello!

 

Master Chief, do you have some kind of log about the removable devices from DSDT?

 

I mean, devices that aren't used under OSX (maybe some Methods, too?) I wiped PS2M,PS2K,FDC,MC97 already... it's ok?

 

 

Thank you! BTW, my mobo is an Asus p5ld2-vm, but most of the names are the same as p5k.

But of course. Just download the latest update and take a look at: diff-bios-1303-v32.txt

There you'll find each and every change.

Link to comment
Share on other sites

But of course. Just download the latest update and take a look at: diff-bios-1303-v32.txt

There you'll find each and every change.

 

Hello again, Master Chief!

 

I've done a lot of cleaning comparing my dsdt against yours (V3.2), however, there are a couple of Devices that I have some doubts:

 

1.- What should I do with this? Right now I have just added the bold lines. What's with the others? Should I uncomment them? My hack is MacPro3,1 if it matters...

 

[b]Device (MCEH) // Renamed from: MCH[/b]
		{
			/* FIX or REMOVE me!!! 
			Replaced with MacPro3,1 data
			Name (_HID, EisaId ("PNP0C01"))
			Name (_UID, 0x0A)
			Name (_CRS, ResourceTemplate ()
			{
				Memory32Fixed (ReadWrite,
					0xFED14000,		 // Address Base
					0x00006000,		 // Address Length
					)
			}) */

			[b]Name (_HID, EisaId ("APP0006"))[/b]
			// Name (_GPE, 0x17)
			[b]Name (_STA, 0x0B)[/b]
		}

 

2.- One called PCIE (not ^PCIE as in your dsdt, this was wiped already). It's inside a Scope so I'm not sure about deleting it... Here it is in action...

 

Scope (\_SB)
		{
			[b]Device (PCIE)[/b]
			{
				Name (_HID, EisaId ("PNP0C02"))
				Name (_CRS, ResourceTemplate ()
				{
					Memory32Fixed (ReadWrite,
						0xE0000000,		 // Address Base
						0x10000000,		 // Address Length
						)
				})
			}
		}

 

Many thanks in advance! ;)

Link to comment
Share on other sites

Hello again, Master Chief!

 

I've done a lot of cleaning comparing my dsdt against yours (V3.2), however, there are a couple of Devices that I have some doubts:

 

1.- What should I do with this? Right now I have just added the bold lines. What's with the others? Should I uncomment them? My hack is MacPro3,1 if it matters...

 

 ... see post 472

 

2.- One called PCIE (not ^PCIE as in your dsdt, this was wiped already). It's inside a Scope so I'm not sure about deleting it... Here it is in action...

 

 ... see post 472

Many thanks in advance! :D

For now, use what I use. And the use of Scope (\_SB) here is the same as ^PCIE. It's the same.

Link to comment
Share on other sites

playing with last DSDT posted here, find out that MCID method id not working, ta least for USB devices (id-device in system remain ICH9 related, instead ICH10, we try to inject)

is somebody have same issues, or I just so "lucky"?

Also found in console log

11/28/09 10:38:37 PM kernel Assert failed: err == 0  exit file: /SourceCache/AppleMCEDriver/AppleMCEDriver-117.4.0/AppleMCEDriver.cpp line: 359 error: -536870212 ( 0xe00002bc )

as I understand it's regards to MCEH device, but have no idea how to deal with it.

Link to comment
Share on other sites

playing with last DSDT posted here, find out that MCID method id not working, ta least for USB devices (id-device in system remain ICH9 related, instead ICH10, we try to inject) is somebody have same issues, or I just so "lucky"?

MCID is working great. Or else people would have complained long before you. Please add the failing code, otherwise I cannot do much for you.

 

Also found in console log

11/28/09 10:38:37 PM kernel Assert failed: err == 0  exit file: /SourceCache/AppleMCEDriver/AppleMCEDriver-117.4.0/AppleMCEDriver.cpp line: 359 error: -536870212 ( 0xe00002bc )

as I understand it's regards to MCEH device, but have no idea how to deal with it.

First add a signature (My Controls) because I have no idea what CPU/hardware you are using. And what model identifier do you have in smbios.plist? I'm guessing that you are using Chameleon V2 RC3 since there's no way of telling it without a signature.

 

Edit: I noticed your new signature, thanks, but what model identifier are you using? Code snippet?

Link to comment
Share on other sites

MCID is working great. Or else people would have complained long before you. Please add the failing code, otherwise I cannot do much for you.

 

 

First add a signature (My Controls) because I have no idea what CPU/hardware you are using. And what model identifier do you have in smbios.plist? I'm guessing that you are using Chameleon V2 RC3 since there's no way of telling it without a signature.

 

So, according MCID, I just took you DSDT with follow lines regard USB

           Device (UHC1) // Renamed from: USB0
           {
               Name (_ADR, 0x001D0000)
               Name (_PRW, Package (0x02)// Power Resources for Wake 
                   0x03, 
                   0x04
               })
               Name (_S3D, 0x02) // S3 Device State

               // Newly added: USB_RES�'USB Resume Enable Register.
               OperationRegion (BAR0, PCI_Config, 0xC4, One)  
               Field (BAR0, ByteAcc, NoLock, Preserve)
               {
                   USBW,   2, Offset (0x01)
               }

               Method (_PSW, 1, NotSerialized) // Power State Wake.
               {
                // Set bit 0-1 based on Arg0 (0 disable- or 1 enable wake capabilities).
               Multiply (0x03, Arg0, USBW)
               }

               Method (_DSM, 4, NotSerialized) // Device Specific Method.
               {
                  [color="#ff0000"] Return (MCID (Arg2, 0x3A34))[/color]
               }
           }

but, as you can see in attached pic, I stil have ICH9 dev-id in SystemProfile, with no correct errata field in IOReg (for UCHI it should be 0xe800 as I remember)

0_1b4f6_6ba439a9_XL.jpg

but if I do it with DTGP method it inject ids properly.

That where my question came from.

As I saw in code MCID method is quite elegant and clear, thats why I surprised, it not working properly (at least for me)

EDIT: Same story with dev-ids for EHCI, where you didn't add any ids and it's also show up as ICH9 device (also with no proper errata code), but Apple have no support for ICH9, as I think

EDIT2: As I check again same story with SATA device. You try add ICH6 ids (i try with ICH8) but it still show up as ICH9 (2922:8086)

 

regarding MCEH device

I add siganture (sorry that didn't it before), so I talking about Hack#1 wth ASUS P5K Pro board with model MacPro 2.2 (filled with ACPI_SMC legacy kext and smbios.plist)

As I understand AppleMCEDriver is related to AppleTyMCEDriver.kext (thats as I understand coming since 10.5.7 update regarding MacPro4.1 support), but even if I add this kext, it didn't load and give no changes to log.

Hope I didn't annoy you so much.

Link to comment
Share on other sites

So, according MCID, I just took you DSDT with follow lines regard USB

	see post #476

but, as you can see in attached pic, I stil have ICH9 dev-id in SystemProfile, with no correct errata field in IOReg (for UCHI it should be 0xe800 as I remember) but if I do it with DTGP method it inject ids properly.

That where my question came from.

As I saw in code MCID method is quite elegant and clear, thats why I surprised, it not working properly (at least for me)

Please attach your DSDT.

 

Hope I didn't annoy you so much.

Not at all, but use a codebox instead of code – which is shorter, and then color works :mellow:

 

p.s. You don't also set device-id's in com.apple.Boot.plist do you?

Link to comment
Share on other sites

 Share

×
×
  • Create New...