Jump to content

What is SleepEnabler.kext?


meklort

Recommended Posts

The one and *only* thing that SleepEnabler does is tell XNU (the kernel) that it can *try* to sleep.

This is what normally happens...
The user (or a program) tells the computer to sleep.
1) XNU checks to see if it has any power management driver, if not it say "no, not gonna happen."
2) XNU checks to see if the power management driver told xnu that everything was setup. If not, it says no.
3) XNU checks to see if the power management driver told xnu that it has a function to stop the cpu. If not, it says no.
4) XNU calls the cpu stop function. The function returns 0 for success. If not, xnu says no.
5) XNU goes to sleep if all of the above happens.

So... what sleep enabler does is this.
1) It tells the kernel that there is a power management driver. If it tells xnu that it provides the wrong version of power management, XNU will panic and yell at you.
2) It tells the kernel that the power management driver is done initializing everything.
3) it tells the kernel to call the half function it provides.
4) the halt function does absolutely nothing but returns 0.

In other words. SleepEnabler tells XNU that it can go to sleep. It doesn't tell it how to sleep. It doesn't tell it how to wake. If you're machine goes to sleep fine, don't mess with SleepEnabler, if it doesn't wake up properly, *also* don't mess with SleepEnabler, it's not the problems, something else is.

Now, for those of you using any machine that can run a vanilla kernel (read: intel cpu), you should *never* use SleepEnabler. Apple's power management kexts already doe everything listed here, and if you do install SleepEnabler bad things can happen. What that really means is people running any intel processor, even atoms and celerons (they do need a binary kernel patch though) don't need to use this kext.

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...