add cpuidle support to haiku
by yongcong for Haiku
In modern Operating Systems, power efficiency is one of the important areas. Many OSs make use of both Macro and Micro technology to improve its power efficiency. The former includes suspend to ram, suspend to disk etc. The later includes the so called tickless, cpufreq and cpuidle. Generally speaking, cpufreq is used to change the clock speed of the CPUs based on system load while cpuidle is used to put CPU into deeper idle states(for example, C2, C3 state on x86) when idle. Currently, haiku lacks of deeper CPU idle state support. For example, on x86 during idle haiku only calls hlt instruction[1] which put CPU into C1 state. This project will add cpuidle support to haiku, including platform and driver independent framework and platform dependent drivers. This project will benefit haiku in power efficiency and will extends laptop's battery life under haiku.