summaryrefslogtreecommitdiffstats
path: root/src/kernel/scheduler.C
diff options
context:
space:
mode:
Diffstat (limited to 'src/kernel/scheduler.C')
-rw-r--r--src/kernel/scheduler.C7
1 files changed, 6 insertions, 1 deletions
diff --git a/src/kernel/scheduler.C b/src/kernel/scheduler.C
index 3aab660b3..48902de7c 100644
--- a/src/kernel/scheduler.C
+++ b/src/kernel/scheduler.C
@@ -26,7 +26,12 @@ void Scheduler::setNextRunnable()
if (NULL == t)
{
t = CpuManager::getCurrentCPU()->idle_task;
- // Set short decrementer.
+ // TODO: Set short decrementer.
+ register uint64_t decrementer = TimeManager::getTimeSliceCount();
+ asm volatile("mtdec %0" :: "r"(decrementer));
+ }
+ else // Set normal timeslice to decrementer.
+ {
register uint64_t decrementer = TimeManager::getTimeSliceCount();
asm volatile("mtdec %0" :: "r"(decrementer));
}
OpenPOWER on IntegriCloud