diff options
author | jeff <jeff@FreeBSD.org> | 2008-04-25 05:18:50 +0000 |
---|---|---|
committer | jeff <jeff@FreeBSD.org> | 2008-04-25 05:18:50 +0000 |
commit | 14b586bf964970197e12228d127a713b7db7abcb (patch) | |
tree | ae275695b8c2f48f9a96c11fe4405ef85fe1bc79 /sys/arm | |
parent | 3cd35a205135ce8a15349a035286650c3452cafd (diff) | |
download | FreeBSD-src-14b586bf964970197e12228d127a713b7db7abcb.zip FreeBSD-src-14b586bf964970197e12228d127a713b7db7abcb.tar.gz |
- Add an integer argument to idle to indicate how likely we are to wake
from idle over the next tick.
- Add a new MD routine, cpu_wake_idle() to wakeup idle threads who are
suspended in cpu specific states. This function can fail and cause the
scheduler to fall back to another mechanism (ipi).
- Implement support for mwait in cpu_idle() on i386/amd64 machines that
support it. mwait is a higher performance way to synchronize cpus
as compared to hlt & ipis.
- Allow selecting the idle routine by name via sysctl machdep.idle. This
replaces machdep.cpu_idle_hlt. Only idle routines supported by the
current machine are permitted.
Sponsored by: Nokia
Diffstat (limited to 'sys/arm')
-rw-r--r-- | sys/arm/arm/machdep.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/sys/arm/arm/machdep.c b/sys/arm/arm/machdep.c index f4779b7..4bd7886 100644 --- a/sys/arm/arm/machdep.c +++ b/sys/arm/arm/machdep.c @@ -326,12 +326,19 @@ cpu_est_clockrate(int cpu_id, uint64_t *rate) } void -cpu_idle(void) +cpu_idle(int busy) { cpu_sleep(0); } int +cpu_idle_wakeup(int cpu) +{ + + return (0); +} + +int fill_regs(struct thread *td, struct reg *regs) { struct trapframe *tf = td->td_frame; |