diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/chschd.c | 6 | ||||
-rw-r--r-- | src/include/scheduler.h | 7 |
2 files changed, 7 insertions, 6 deletions
diff --git a/src/chschd.c b/src/chschd.c index 45b6c266c..7ad33d82f 100644 --- a/src/chschd.c +++ b/src/chschd.c @@ -26,11 +26,7 @@ /** @cond never*/
-static ReadyList rlist;
-
-#ifndef CH_CURRP_REGISTER_CACHE
-Thread *currp;
-#endif
+ReadyList rlist;
#ifdef CH_USE_SYSTEMTIME
volatile t_time stime;
diff --git a/src/include/scheduler.h b/src/include/scheduler.h index c56773ee1..89bc37292 100644 --- a/src/include/scheduler.h +++ b/src/include/scheduler.h @@ -41,8 +41,13 @@ typedef struct { ThreadsQueue r_queue;
t_prio r_prio;
t_cnt r_preempt;
+#ifndef CH_CURRP_REGISTER_CACHE
+ Thread *r_current;
+#endif
} ReadyList;
+extern ReadyList rlist;
+
/*
* Scheduler APIs.
*/
@@ -70,7 +75,7 @@ extern "C" { #ifdef CH_CURRP_REGISTER_CACHE
register Thread *currp asm(CH_CURRP_REGISTER_CACHE);
#else
-extern Thread *currp;
+#define currp rlist.r_current
#endif
/**
|