kernel: Rework cpuidle module

* Create new interface for cpuidle modules (similar to the cpufreq
   interface)
 * Generic cpuidle module is no longer needed
 * Fix and update Intel C-State module
This commit is contained in:
Pawel Dziepak
2013-11-25 23:50:27 +01:00
parent 0e94a12f8e
commit 7db89e8dc3
22 changed files with 356 additions and 339 deletions
+11 -6
View File
@@ -17,12 +17,6 @@
#include <arch/cpu.h>
// define PAUSE, if not done in arch/cpu.h
#ifndef PAUSE
# define PAUSE()
#endif
struct kernel_args;
namespace BKernel {
@@ -114,6 +108,17 @@ cpu_topology_node* get_cpu_topology(void);
status_t increase_cpu_performance(int delta, bool allowBoost);
status_t decrease_cpu_performance(int delta);
void cpu_idle(void);
void cpu_wait(int32* variable, int32 test);
static inline void
cpu_pause(void)
{
arch_cpu_pause();
}
void _user_clear_caches(void *address, size_t length, uint32 flags);
bool _user_cpu_enabled(int32 cpu);
status_t _user_set_cpu_enabled(int32 cpu, bool enabled);