summaryrefslogtreecommitdiff
path: root/arch/x86/machine/lapic.c
diff options
context:
space:
mode:
authorRichard Braun <rbraun@sceen.net>2012-11-19 01:19:20 +0100
committerRichard Braun <rbraun@sceen.net>2012-11-19 01:19:20 +0100
commitc1d914895fa08f5263a1c6421e65c82622b2fd59 (patch)
tree4fd1865bb7c746a4b4ab5379b5f616cbdb430ff4 /arch/x86/machine/lapic.c
parent426d69f9c87875cc8d6b48f1f096f904c1998896 (diff)
kern/thread: preliminary scheduling implementation
This change adds periodic timer interrupt reporting to the thread module, basic thread selection, and context switching. It currently only applies to the main processor. The x86/tcb module has been drastically simplified as a side effect.
Diffstat (limited to 'arch/x86/machine/lapic.c')
-rw-r--r--arch/x86/machine/lapic.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/x86/machine/lapic.c b/arch/x86/machine/lapic.c
index c2a2b3a..a7931cf 100644
--- a/arch/x86/machine/lapic.c
+++ b/arch/x86/machine/lapic.c
@@ -22,6 +22,7 @@
#include <kern/printk.h>
#include <kern/stddef.h>
#include <kern/stdint.h>
+#include <kern/thread.h>
#include <machine/cpu.h>
#include <machine/lapic.h>
#include <machine/pmap.h>
@@ -320,6 +321,8 @@ void
lapic_intr_timer(struct trap_frame *frame)
{
(void)frame;
+
+ thread_tick();
lapic_eoi();
}