summaryrefslogtreecommitdiff
path: root/kern/kernel.c
AgeCommit message (Collapse)Author
2012-12-12Simplify requirements on interrupts during initializationRichard Braun
Don't involve the pmap module directly, as there could be others. Make the cpu module completely responsible for synchronizing all processors on kernel entry so that interrupts can be explicitely enabled there.
2012-12-12kern/thread: support multiprocessor schedulingRichard Braun
In practice, this merely means an idle thread now exists for each CPU, and threads can be preempted and rescheduled on each of them. There is currently no migration between processors.
2012-12-11Adjust interrupts configuration on kernel entryRichard Braun
2012-11-19kern/thread: preliminary scheduling implementationRichard Braun
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.
2012-11-09Implement preliminary thread contextRichard Braun
Three new modules are added : - kern/task: Tasks are thread groups and resource containers for their threads. - kern/thread: The well known scheduling unit. - x86/tcb: The architecture specific thread control block. The kernel currently loads a single thread context on the main processor.
2012-09-30Initial commitRichard Braun