Age | Commit message (Collapse) | Author |
|
Interrupts are always disabled on context switch/load. As a result, there
is no need to make the processor flags part of the context.
|
|
|
|
|
|
|
|
This function dumps the stack trace of a thread from its TCB. In order to
do that, the base pointer is now included in the TCB, along with the stack
and instruction pointers.
|
|
Move the loading functions to the .init section, since they're only used
when starting the scheduler. In addition, improve stack tracing through
the new tcb_start function.
|
|
This change removes the current thread member from the run queues, and moves
the responsibility of maintaining it to the architecture specific tcb module.
For the x86 architecture, the TCB functions use a per-CPU pointer that can
be read and set in a single instruction, making it interrupt-safe and thus
migration-safe.
|
|
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.
|