diff options
author | Patrick Williams <iawillia@us.ibm.com> | 2011-03-24 10:28:22 -0500 |
---|---|---|
committer | Patrick Williams <iawillia@us.ibm.com> | 2011-03-24 10:28:22 -0500 |
commit | b2a79686aca623ed5577da9f28ea80ba6d979034 (patch) | |
tree | ac2182ba31ac695b843c6c910f63795b20fc9347 /src/kernel/scheduler.C | |
parent | a9f22d0cc3a200599815f45ba1414eb67f44222b (diff) | |
download | talos-hostboot-b2a79686aca623ed5577da9f28ea80ba6d979034.tar.gz talos-hostboot-b2a79686aca623ed5577da9f28ea80ba6d979034.zip |
Ensure decrementer is initialized for normal task execution.
Diffstat (limited to 'src/kernel/scheduler.C')
-rw-r--r-- | src/kernel/scheduler.C | 7 |
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)); } |