summaryrefslogtreecommitdiffstats
path: root/src/kernel/syscall.C
diff options
context:
space:
mode:
authorPatrick Williams <iawillia@us.ibm.com>2010-06-07 11:32:45 -0500
committerPatrick Williams <iawillia@us.ibm.com>2010-06-07 11:32:45 -0500
commit6db79851d2f8664216d85ba73246699d8aae94a7 (patch)
tree4fbdb939af7fd48d72d728064259525095f80bfc /src/kernel/syscall.C
parentb64188ed609f06ec8b476768f009153472237012 (diff)
downloadtalos-hostboot-6db79851d2f8664216d85ba73246699d8aae94a7.tar.gz
talos-hostboot-6db79851d2f8664216d85ba73246699d8aae94a7.zip
Add scheduler and calls from dispatch interrupt.
Diffstat (limited to 'src/kernel/syscall.C')
-rw-r--r--src/kernel/syscall.C9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/kernel/syscall.C b/src/kernel/syscall.C
index d59ea1a03..0b591f575 100644
--- a/src/kernel/syscall.C
+++ b/src/kernel/syscall.C
@@ -1,10 +1,17 @@
#include <kernel/console.H>
+#include <kernel/cpu.H>
+#include <kernel/cpumgr.H>
+#include <kernel/scheduler.H>
extern "C"
void kernel_execute_decrementer()
{
//printk("Decrementer.\n");
-
+
+ Scheduler* s = CpuManager::getCurrentCPU()->scheduler;
+ s->returnRunnable();
+ s->setNextRunnable();
+
// Resync decrementer.
register uint64_t decrementer = 0x0f000000;
asm volatile("mtdec %0" :: "r"(decrementer));
OpenPOWER on IntegriCloud