aboutsummaryrefslogtreecommitdiff
path: root/kernel/kernel.c
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2012-11-03 15:41:54 +0000
committerDimitri Sokolyuk <demon@dim13.org>2012-11-03 15:41:54 +0000
commit0738c5a55346a870b0d79b20a402fe627b111d2e (patch)
tree028480b77aa6b60ce6aae1cd1a0680ca942f6a91 /kernel/kernel.c
parent6ecd5db7fa3647f6a2ed707cf0d36ebc27eba795 (diff)
RQ display
Diffstat (limited to 'kernel/kernel.c')
-rw-r--r--kernel/kernel.c14
1 files changed, 13 insertions, 1 deletions
diff --git a/kernel/kernel.c b/kernel/kernel.c
index 2dda71d..7d307f5 100644
--- a/kernel/kernel.c
+++ b/kernel/kernel.c
@@ -92,7 +92,7 @@ ISR(TIMER1_COMPB_vect, ISR_NAKED)
{
pusha();
- /* reschedule current task if it've used its time slice */
+ /* reschedule current task if it had used all its time slice */
if (kern.cur == TAILQ_FIRST(&kern.rq)) {
TAILQ_REMOVE(&kern.rq, kern.cur, r_link);
TAILQ_INSERT_TAIL(&kern.rq, kern.cur, r_link);
@@ -286,3 +286,15 @@ reboot(void)
{
kern.reboot = 1;
}
+
+void
+fetchrq(uint8_t *data, uint8_t len)
+{
+ struct task *tp;
+
+ memset(data, 0, len);
+ TAILQ_FOREACH(tp, &kern.rq, r_link) {
+ if (tp->id < len)
+ data[tp->id] = 1;
+ }
+}