summaryrefslogtreecommitdiffstats
path: root/src/kernel/cpumgr.C
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2010-09-20 17:00:48 -0500
committerPatrick Williams <iawillia@us.ibm.com>2010-09-20 17:00:48 -0500
commit706838262ce47efeb8f983920a218460b81f2dc3 (patch)
treedb6e090416ff83ca5f83916f080927393c16cb3e /src/kernel/cpumgr.C
parent365cd29d695d853c8f4be97a9a97bfd37836bbe1 (diff)
downloadtalos-hostboot-706838262ce47efeb8f983920a218460b81f2dc3.tar.gz
talos-hostboot-706838262ce47efeb8f983920a218460b81f2dc3.zip
Add skeleton of timebase manager.
Diffstat (limited to 'src/kernel/cpumgr.C')
-rw-r--r--src/kernel/cpumgr.C7
1 files changed, 3 insertions, 4 deletions
diff --git a/src/kernel/cpumgr.C b/src/kernel/cpumgr.C
index bfb6b5af9..6d58b5b72 100644
--- a/src/kernel/cpumgr.C
+++ b/src/kernel/cpumgr.C
@@ -7,6 +7,7 @@
#include <kernel/console.H>
#include <util/singleton.H>
#include <kernel/ppcarch.H>
+#include <kernel/timemgr.H>
cpu_t* CpuManager::cv_cpus[CpuManager::MAXCPUS] = { NULL };
@@ -69,8 +70,7 @@ void CpuManager::startCPU(ssize_t i)
{
ppc_setSPRG3((uint64_t) cv_cpus[i]->idle_task);
- // TODO: Set up decrementer properly.
- register uint64_t decrementer = 0x0f000000;
+ register uint64_t decrementer = TimeManager::getTimeSliceCount();
asm volatile("mtdec %0" :: "r"(decrementer));
}
return;
@@ -80,8 +80,7 @@ void CpuManager::startSlaveCPU(cpu_t* cpu)
{
ppc_setSPRG3((uint64_t) cpu->idle_task);
- // TODO: Set up decrementer properly.
- register uint64_t decrementer = 0x0f000000;
+ register uint64_t decrementer = TimeManager::getTimeSliceCount();
asm volatile("mtdec %0" :: "r"(decrementer));
return;
OpenPOWER on IntegriCloud