diff options
author | Jens Arnold <amiconn@rockbox.org> | 2005-08-26 22:52:31 +0000 |
---|---|---|
committer | Jens Arnold <amiconn@rockbox.org> | 2005-08-26 22:52:31 +0000 |
commit | 6d54d6c0884fb7aadbaecb41a86adf8c328e05e9 (patch) | |
tree | b969d37bb172efdece89296a02236b863ef38394 /firmware | |
parent | a2224dfbfab05f663ab3afb6ae314b2a30a20d40 (diff) | |
download | rockbox-6d54d6c0884fb7aadbaecb41a86adf8c328e05e9.tar.gz rockbox-6d54d6c0884fb7aadbaecb41a86adf8c328e05e9.zip |
SH1: Tiny optimisation of the thread scheduler.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7406 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/thread.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/firmware/thread.c b/firmware/thread.c index 8834666b54..a8c5ab752f 100644 --- a/firmware/thread.c +++ b/firmware/thread.c @@ -20,6 +20,7 @@ #include <stdbool.h> #include "thread.h" #include "panic.h" +#include "system.h" #include "kernel.h" #include "cpu.h" @@ -196,7 +197,7 @@ static inline void load_context(const void* addr) #endif -/*--------------------------------------------------------------------------- +/*--------------------------------------------------------------------------- * Switch thread in round robin fashion. *--------------------------------------------------------------------------- */ @@ -215,7 +216,7 @@ void switch_thread(void) #ifdef CPU_COLDFIRE asm volatile ("stop #0x2000"); #elif CONFIG_CPU == SH7034 - SBYCR &= 0x7F; + and_b(0x7F, &SBYCR); asm volatile ("sleep"); #elif CONFIG_CPU == TCC730 /* Sleep mode is triggered by the SYS instr on CalmRisc16. @@ -357,4 +358,4 @@ int thread_stack_usage(int threadnum) return ((thread_stack_size[threadnum] - i * sizeof(int)) * 100) / thread_stack_size[threadnum]; -} +} |