Jump to content
VegasKarma

Master Chief's P5K PRO ACPI Warfare

908 posts in this topic

Recommended Posts

YAYYYY!!! sound! 2.7 seems to have fixed whatever issues I was having. IRQNoFlags did need to be removed to eliminate sounds sound crackling and whole-system hiccups I was getting about every 10 seconds. So..thanks to MC for all his work; except for now I'm two weeks behind on TV shows and podcasts that I have to catch up on!

Amen!

 

 

Master Chief, I salute you for your knowledge and your work for hackintosh community. People with P5K boards are lucky that they have you for making their systems close to a real Mac. Just wondering about people like me who are having Gigabyte boards that we don't have someone like you to help us out. I know you don't like people veering off-topic...just wanted to congratulate you mate...

 

cheers :D

Thanks mate!

 

And yes sir, there are people working on Gigabyte boards. A lot even. And I'll try to add as much info as I can share, but it is taking a lot of time to do it right.

 

Hi Master Chief,

 

I have some question about SpeedStep.

I include in my dsdt (base on your 2.7 version adapt for a P5Q Pro), cst and p-states extract with everest on windows and it work under MacOs using Imac 9.1 data in smbios.plist.

 

Can I use them if I try to put MacPro 3.1 or 4.1 in smbios.plist ?

 

regards,

Barnum

 

My dsdt : dsdt_clean.rar

I don't have the time to look at your DSDT but of course. The P5Q PRO is not only an awesome motherboard, but also very close to a MacPro3,1. Using MacPro4,1 might however be a little over the top.... only use it with a Intel Core i7 (Nehalem) CPU on board.

Share this post


Link to post
Share on other sites
Advertisement

SO if my dsdt processor part (_PDS, _OST, _CST, etc method) work with Imac 9.1, they should work with MacPro3.1 data ?

 

Regards

Barnum

 

PS: I modify my dsdt with all your modification and it's work on my P5Q PRO, you really do a good job for every one who have P5K and P5Q also

thanks again.

Share this post


Link to post
Share on other sites
SO if my dsdt processor part (_PDS, _OST, _CST, etc method) work with Imac 9.1, they should work with MacPro3.1 data ?

 

Regards

Barnum

 

PS: I modify my dsdt with all your modification and it's work on my P5Q PRO, you really do a good job for every on who have P5K and P5Q also

thanks again.

In can. It's not really processor independent, but your Intel Core 2 duo E8200 screams for iMac9,1 (not 4 cores).

 

You would be amazed by the speed of a simple Q9300. It runs great at speeds up to 3GHz – with active/proper CPU cooling of course. And thus if you can afford it – a real bargain these days – then get one!

Share this post


Link to post
Share on other sites

DSDT V2.8 Released Today!

 

A great new release is now available from post #3 (see attachments). And like I said in one of my previous posts; DSDT V2.7 is a great starting point for further cleanups and code optimizations. It sure is because that's what DSDT V2.8 is all about. Just look at the new and improved _PDC and _OSC Methods.

 

Method _CST is also rewritten, and a part of it is moved to CPU2 – saying hello to vanilla Intel SpeedStep Technology support (screen shots depicting the result: before / after full CST activation).

 

Method MCTH is no more, and its parent – Method OSFL – has been stripped to a bare minimum (who needs Windows checks?).

 

Method _S3D is cleaned up (no more checks for Windows Millennium).

 

And to sum it all up; you'll also find a bunch of new comments which hopefully help you to understand things (better).

 

Note: The archive includes two diff files; one against DSDT v2.7 and the other against the vanilla DSDT (BIOS v1303).

Share this post


Link to post
Share on other sites

@parcival39: Thanks man!

 

And we are getting somewhere, be it slowly. My next targets will be (in random order):

 

1) Fix the sound assertions in kernel.log (currently only 2 here).

2) Make auto sleep work with TSSTcorp DVD drives.

3) I want my warm start to work without OpenHaltRestart.kext

4) .... I forgot this one (to be filled in at a later time).

 

I'm pretty sure that these are going to take some time, but remind me to get a new hack the day that these are fixed... I just got to have something to fool around with :(

Share this post


Link to post
Share on other sites

@Master Chief

 

Tried the wake from sleep via apple keyboard on a gigabyte board... no go. With the changes, EHCI shows up as external, so no power management.

 

Anyways, As I have said before... really impressed Master Chief.

 

So much so that I have purchased a P5K board on ebay to replace my ep35-ds3p. There are just too many differences in the DSDT's to use many of your improvements. At least not without quite a bit of tinkering. I have already downloaded the latest bios rom for the board and used ACPI patcher to generate the DSDT. Comparing this to yours is just soooo much easier.

 

Keep up the good work and thank you for your contributions to the community!

Share this post


Link to post
Share on other sites

Master Chief,

 

which extra kext do you still use with your last DSDT ?

network ?

audio ?

hard disk orange icons correction ?

 

Just an other question, do you still have some modify kext in you S/L/E directory

 

regards,

Barnum

Share this post


Link to post
Share on other sites
Master Chief,

 

which extra kext do you still use with your last DSDT ?

network ?

audio ?

hard disk orange icons correction ?

 

Just an other question, do you still have some modify kext in you S/L/E irectory

 

regards,

Barnum

 

I will update the file in post #3 when I have a little time for it Done! And yes I still have three kexts in /System/Library/Extensions/ (to prevent errors in kernel.log).

 

Note: The following SIOR leftovers will be removed in DSDT v2.9

 

OperationRegion: SMRG

Field: SMRG,

Method: SCMD, SBYT, WBYT, WWRD, RSBT, RBYT, RWRD, RBLK, WBLK

 

Just to give you guys & gals a head start :)

 

@Master Chief

Keep up the good work and thank you for your contributions to the community!

Thank you. I will. And let us know when your new motherboard is ready for our fixes :)

Share this post


Link to post
Share on other sites

I had some more time and thus the following ASOC leftovers will also be removed in DSDT v2.9

 

OperationRegion: RAMW and IOB2

Field: RAMW and IOB2

Method: ISMI, GNVS, SNVS, GMAX, GMDX, GCAX, GCDX

 

Note: Remove that empty Scope (\) {} also.

Share this post


Link to post
Share on other sites

Hi Master Chief,

 

I just want to say thanks for all the work you've put into this!

 

After trying several install methods I ended up with a simple solution that so far hasn't missed a beat (well, since about 10 hours ago). It even sleeps and wakes from keyboard which has been the Holy Grail for me for a long time.

 

I did a retail install from usb stick to HD, loaded Chameleon 2 RC3 and then copied your dsdt.aml into root (same CPU so thought I'd give it a go without editing), copied the kexts, fixed the permissions, rebooted and it ran through perfectly.

 

I've updated to 10.6.1 and have copied everything from my old 10.5.7 system disk using migration assistant with no problems.

 

I just have one small question, would there be much to be gained from your 2.9 release, whenever that may be, or would I be better off staying with what I've got considering I can't find any faults (yet)??

 

thanks!

Share this post


Link to post
Share on other sites

tried your 2.8, i have better speedstep but system for somereason becomes laggy

then i tried to keep only your cpu part and merge it with mine dsl=no lag but no good speedstemp/temps

then the opposite, but also the result was the same as before (better temps/speedstep but lag again

 

console doesn't show anything strange, maybe something conflicts or doesnt excist in my mobo and your .dsl

before i remove the GFX0 from DEVICE P0P1, i couldn't even move the mouse!

i load it with efi keys again, now its ok

 

why did u add 5 PRT devices? (renamed from CHN, but there was only CHN1)

 

i tried to add also the smbus code with mine dsl but it's not possible to compile, lot of errors

there are also some lines in your dsl, outside the smbus/bus0 DEVICES, loaded through other devices that i dont have or u renamed...etc

anyway thanks for your time, maybe at the next dsl, i will make also an extra folder with your kexts and i will boot to test

 

right now i only have 4 in /extra : uuid.kext, fakesmc, ionetworking, openhaltrestart

and nothing hacked in S/L/E

 

system is very fast, i have: 7100 score in geekbench, i just want to be sure that there is nothing more to test/add :)

and i care for the temps also, cause i do a lot of rendering

Share this post


Link to post
Share on other sites
Hi Master Chief,

 

I just want to say thanks for all the work you've put into this!

 

After trying several install methods I ended up with a simple solution that so far hasn't missed a beat (well, since about 10 hours ago). It even sleeps and wakes from keyboard which has been the Holy Grail for me for a long time.

 

I did a retail install from usb stick to HD, loaded Chameleon 2 RC3 and then copied your dsdt.aml into root (same CPU so thought I'd give it a go without editing), copied the kexts, fixed the permissions, rebooted and it ran through perfectly.

 

I've updated to 10.6.1 and have copied everything from my old 10.5.7 system disk using migration assistant with no problems.

 

I just have one small question, would there be much to be gained from your 2.9 release, whenever that may be, or would I be better off staying with what I've got considering I can't find any faults (yet)??

 

thanks!

Your are welcome. Great to see another person being happy. Saying thanks is so easy, but not too common here in this forum. Thank you for saying thanks!

 

And this topic is all about sharing information, code (DSDT/KEXTS) and helping you et all to experiment and learn new stuff. Even I am still learning new things and I am more than happy to share my findings for as long as people like you love it, because I tell you it takes loads of time. In short: Get cracking by removing the extra left overs.

 

Sometimes things go boom – oh yeah – but this is also part of the learning curve. The good news is that you can always go back to a working dsdt.aml by booting with the -s flag and restoring the file :)

 

Ah there's my cup of coffee. Hmmm... Eh yes. We will rip more out and remind this: Every thing I do here is with a purpose!

 

Good luck!

 

tried your 2.8, i have better speedstep but system for somereason becomes laggy then i tried to keep only your cpu part and merge it with mine dsl=no lag but no good speedstemp/temps then the opposite, but also the result was the same as before (better temps/speedstep but lag again

You might need to modify my processor block first. Let's take a look at the first few lines:

    Scope (_PR) // Processor scope (namespace).
   {
       Name (NCPU, [color="#008000"][b]0x04[/b][/color]) // Number of CPU cores.
       Name (CFGD, [color="#FF0000"][b]0x01000007[/b][/color]) // Default value.

       Processor (CPU1, 0x01, [color="#FF0000"][b]0x00000810[/b][/color], 0x06)
       {
           OperationRegion (STBL, SystemMemory, [color="#FF0000"][b]0xCFF8E0D0[/b][/color], [color="#FF0000"][b]0x01D2[/b][/color]) // IST table region in memory.

The value in green is fine since you have a quad core CPU, but this might not be the case for other people!

 

The values in red are most likely your first suspects, because they should match your ACPI table in your BIOS.

console doesn't show anything strange, maybe something conflicts or doesnt excist in my mobo and your .dsl before i remove the GFX0 from DEVICE P0P1, i couldn't even move the mouse! i load it with efi keys again, now its ok

Like I said before: Do not inject GFX stuff from your DSDT.

 

why did u add 5 PRT devices? (renamed from CHN, but there was only CHN1)

 

i tried to add also the smbus code with mine dsl but it's not possible to compile, lot of errors

there are also some lines in your dsl, outside the smbus/bus0 DEVICES, loaded through other devices that i dont have or u renamed...etc

My goals is the get my DSDT as close as possible to a real Mac and thus I had to rename devices, and so should you. Listen. Many people were surprised by my SBUS/EC hacks, thinking to not need them, but they found out why a while later. Or the people that keep duplicating code in their DSDT for no apparent reason. Oh yeah.... there's a lot of bull {censored} going on here and there, and anything is allowed if it make things work. Surprise surprise.... NOT in my book! In short follow the leader (me) and you will be fine (big fat funny grin) but don't take it too seriously of course :)

 

anyway thanks for your time, maybe at the next dsl, i will make also an extra folder with your kexts and i will boot to test

 

right now i only have 4 in /extra : uuid.kext, fakesmc, ionetworking, openhaltrestart

and nothing hacked in S/L/E

You better use PlatformUUID.kext instead of uuid.kext (unity) and not have ionetworking there but use the Yukon2 kext in /S*/L*/Extensions/. Also, you only need OpenHaltRestart.kext for reboots (warm boot) with my dsdt which is one step closer to removing the for mentioned kext.

 

I guess that you don't need LegacyAHCIPort.kext because you changed the device-id, but I'm more surprised that you don't use my LegacyACPI_SMC_PP.kext and LegacyAGPM.kext since I wasn't really wasting my time making these you know :)

Share this post


Link to post
Share on other sites
I guess that you don't need LegacyAHCIPort.kext because you changed the device-id, but I'm more surprised that you don't use my LegacyACPI_SMC_PP.kext and LegacyAGPM.kext since I wasn't really wasting my time making these you know :P

thanks for the fast reply :)

yes i use the dsdt edit and no need for any kext (appear as INTEL ESB2)

i will take your advice about the other kexts also, it;s just that my goal is to bring it closer to real mac, and lot of loading kexts make me afraid :P

 

as for the temps, i think that i am OK.

even Bios will show cpu:44C, (temp in BIOS is IDLE or Full load?)

in Snow, idle is around 45-47 for each core.

I have good cooler but my case is very small, and i'm also OC from 2.4-->3.0ghz (1.235V in Bios)

 

I'm also interested in any BIOS settings that i should take care.

I have everything enabled in the CPU, except max CPUID,

at Jumpfree i have only changed the FSB,voltages etc / but the ratio is still set to AUTO, so it can speedstepping

Share this post


Link to post
Share on other sites

@ Master Chief

 

MC, do you think you could post some supplemental files like an IORegistryExplorer.app (.ioreg) file, ioreg dump, and perhaps a SystemProfiler.app (.spx) file?

 

Thanks,

kDawg

 

I a Gigabyte user so I'm trying to process some of the tips you've shared from this post. Particularly C & P state implementation.

Share this post


Link to post
Share on other sites

can we avoid deleting (maybe assign in different irqs?) the irqs from PIC,TIMR devices?

as i said to Chief, with these irqs system is laggy,sound is choppy and also boot is 20sec slower with errors about mdworer :dyld shared region etc

by deleting these, the problem is fixed, no lag,sound ok, boot ok but i msr tools shows different speedstep/voltage calculations

Share this post


Link to post
Share on other sites
@ Master Chief

 

MC, do you think you could post some supplemental files like an IORegistryExplorer.app (.ioreg) file, ioreg dump, and perhaps a SystemProfiler.app (.spx) file?

 

Thanks,

kDawg

 

I a Gigabyte user so I'm trying to process some of the tips you've shared from this post. Particularly C & P state implementation.

There's no need for it. My DSDT is all you need. And .ioreg et all shows stuff that I am not willing to share with anyone.

 

 

can we avoid deleting (maybe assign in different irqs?) the irqs from PIC,TIMR devices?

as i said to Chief, with these irqs system is laggy,sound is choppy and also boot is 20sec slower with errors about mdworer :dyld shared region etc

by deleting these, the problem is fixed, no lag,sound ok, boot ok but i msr tools shows different speedstep/voltage calculations

I don't need to remove these IRQ's – I wonder why some need to remove these while others, including me, do not.

 

Edit: I should add that I disabled the serial/Firewire ports in my BIOS. Less IRQ's in use so to speak. Might not be really important, but who knows.

 

It might however just be the _PIC Method being called on your motherboard. and not on P5K PRO boards. Here's what the ACPI specs says about it:

 

The \_PIC optional method is to report to the BIOS the current interrupt model used by the OS. This control method returns nothing. The argument passed into the method signifies the interrupt model OSPM has chosen, PIC mode, APIC mode, or SAPIC mode. Notice that calling this method is optional for OSPM. If the method is never called, the BIOS must assume PIC mode. It is important that the BIOS save the value passed in by OSPM for later use during wake operations.

_PIC(x):

 

_PIC(0) => PIC Mode

_PIC(1) => APIC Mode

_PIC(2) => SAPIC Mode

_PIC(3-n) => Reserved

 

And Name (PICM, Zero) is the same for both boards, but it might get changed somewhere. I was already wondering about these snippets:

			Method (_PRT, 0, NotSerialized)
		{
			If (PICM)
			{
				Return (AR00)
			}

			Return (PR00)
		}

Which looking at it seems to select either a APIC or PIC IRQ table. And that would explain the lags.

Share this post


Link to post
Share on other sites
About Chameleon

I personally cannot use Chameleon v2 RC3 simply because it won't even boot (anymore) from a USB stick when my 1TB SAMSUNG HD103SJ is connected to any SATA port of the motherboard. I don't have this problem with the 1TB SAMSUNG HD103UJ so it must be related to the GUID partition simply because I installed Snow Leopard from the very same USB stick on the very same HD. A bug was filed on May 06, 2009, 01:21:50 PM but the Chameleon developers have yet to fix it.

 

Yes, it must be some GUID related issue i believe. Unfortunately the provided partition table is not enough to fix this issue.

What you may do is either add some debug output for the booter and try to catch the stage where it hangs. The other option is sending me your disk and i can debug/hunt/fix the error.

Share this post


Link to post
Share on other sites

@ Master Chief

 

I wanted to report that my current nForce chipset MOBO DSDT is only fixed for RTC (for CMOS reset fix) and HDEF (for audio with AD1988b legacy kext) and find that without OpenHaltRestart.kext in /Extra, I can cold start and shutdown without any problem but selecting Restart (warm boot) in the Apple menu gives me the same result selecting Sleep.....i.e. the display goes black but the PC fans stay on and then the display cannot be woken up.......I need to reboot to get the display back.......I find this interesting......

 

FYI in /S/L/E I have no additional kexts (Legacy or other non-Apple 10.6.x kexts) and in /Extra I only have:

 

VoodooMonitor.kext

nForceIOATAFamily.kext

AppleNForceATA.kext

AD1988bFix.kext

lspcidrv.kext

 

with optionally OpenHaltRestart.kext for warm boot (Restart) capability......I used to have PlatformUUID too.....but have encountered no problems so far in not using it......but I can always drop it back in if I do......

 

I would like to test your "I think that warm boot (restarts) can be achieved with a simple DSDT patch because all this kext does, really, is to store 0xfe in the keyboard controller (port 64)" idea by modding my DSDT.aml as you suggest......to see if it has any effect on Sleep as well.....

 

I do not want to take this thread off-topic, so please PM me about it......

 

Cheers

verdant

Share this post


Link to post
Share on other sites
Yes, it must be some GUID related issue i believe. Unfortunately the provided partition table is not enough to fix this issue.

What you may do is either add some debug output for the booter and try to catch the stage where it hangs. The other option is sending me your disk and i can debug/hunt/fix the error.

Hi zef. Yes I still have the drive, and yes I will look into it at a later time, but I am rather busy at the time. Thanks for the reply here!

 

@ Master Chief

 

I wanted to report that my current nForce chipset MOBO DSDT is only fixed for RTC (for CMOS reset fix) and HDEF (for audio with AD1988b legacy kext) and find that without OpenHaltRestart.kext in /Extra, I can cold start and shutdown without any problem but selecting Restart (warm boot) in the Apple menu gives me the same result selecting Sleep.....i.e. the display goes black but the PC fans stay on and then the display cannot be woken up.......I need to reboot to get the display back.......I find this interesting......

 

FYI in /S/L/E I have no additional kexts (Legacy or other non-Apple 10.6.x kexts) and in /Extra I only have:

 

VoodooMonitor.kext

nForceIOATAFamily.kext

AppleNForceATA.kext

AD1988bFix.kext

lspcidrv.kext

 

with optionally OpenHaltRestart.kext for warm boot (Restart) capability......I used to have PlatformUUID too.....but have encountered no problems so far in not using it......but I can always drop it back in if I do......

 

I would like to test your "I think that warm boot (restarts) can be achieved with a simple DSDT patch because all this kext does, really, is to store 0xfe in the keyboard controller (port 64)" idea by modding my DSDT.aml as you suggest......to see if it has any effect on Sleep as well.....

 

I do not want to take this thread off-topic, so please PM me about it......

 

Cheers

verdant

To fix sleep you first have to understand what the OSPM does. Let's start by adding a handy list (for everyone with PC insomnia):

 

1) OSPM decides (through a policy scheme) to place the system into a sleeping state.

2) _TTS(Sx) is run, where Sx is the desired sleep state to enter.

3) OSPM notifies all native device drivers of the sleep state transition.

4) _PTS is run.

5) OSPM readies system for the sleep state transition.

6) _GTS is run.

7) OSPM writes the sleep vector and the system enters the specified Sx sleep state.

8) System Wakes up.

9) _BFS is run.

10) OSPM readies system for the return from the sleep state transition.

11) _WAK is run.

12) OSPM notifies all native device drivers of the return from the sleep state transition.

13) _TTS(0) is run to indicate the return to the S0 state.

 

Now note the red parts here because I can assure you that the problem is right there. You only have to find it. Which should be easy – with my latest DSDT – because I already did the dirty work :D

Share this post


Link to post
Share on other sites
Hi zef. Yes I still have the drive, and yes I will look into it at a later time, but I am rather busy at the time. Thanks for the reply here!

 

To fix sleep you first have to understand what the OSPM does. Let's start by adding a handy list (for everyone with PC insomnia):

 

1) OSPM decides (through a policy scheme) to place the system into a sleeping state.

2) _TTS(Sx) is run, where Sx is the desired sleep state to enter.

3) OSPM notifies all native device drivers of the sleep state transition.

4) _PTS is run.

5) OSPM readies system for the sleep state transition.

6) _GTS is run.

7) OSPM writes the sleep vector and the system enters the specified Sx sleep state.

8) System Wakes up.

9) _BFS is run.

10) OSPM readies system for the return from the sleep state transition.

11) _WAK is run.

12) OSPM notifies all native device drivers of the return from the sleep state transition.

13) _TTS(0) is run to indicate the return to the S0 state.

 

Now note the red parts here because I can assure you that the problem is right there. You only have to find it. Which should be easy �" with my latest DSDT �" because I already did the dirty work ;)

 

OK I will look at it after some brain energising.......

Share this post


Link to post
Share on other sites

Hi,

could you please post the link for CPU-i client app, since I'm using the kext you posted for CPU-i and the actual client application doesn't work on my system? (application quits unexpectedly before even showing its window).

It seems the versions I found on this forum do not work for me.

Judging from kernel logs kext loads fine.

 

Thanks!

Share this post


Link to post
Share on other sites

Hi chief; I modded my DSDT (P5K-VM) using yours as a guide. Everything seems fine except for sleep; It goes to sleep but it wakes up by itself right after, USB devices need to be replugged and CMOS get reseted (I had this CMOS problem before adding SBUS and EC devices, but the computer was able to sleep). In the system log says "wake reason = UHC5 EHC1 HDEF EC EHC2".

Both boards (VM and Pro) are quite similar at least their DSDTs, so I guess might not be so difficult to find out the problem.

Could you suggest me how to track it?

Thanks!

 

Another thing; if I use your CPU definition secction (using my own CST and PSS tables) I get +10 degree temps. Probably CSTates are not loading.

 

EDITED: I attached the wrong file!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.

×