diff options
Diffstat (limited to 'src/kernel/syscall.C')
| -rw-r--r-- | src/kernel/syscall.C | 9 |
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)); |

