summaryrefslogtreecommitdiff
path: root/arch/x86/machine/tcb_asm.S
AgeCommit message (Collapse)Author
2018-01-06x86/tcb: minor context switch optimizationRichard Braun
Interrupts are always disabled on context switch/load. As a result, there is no need to make the processor flags part of the context.
2017-06-15x86/tcb: describe stack alignment ABI constraints on amd64Richard Braun
2017-06-14x86: improve TCB load and context switchRichard Braun
2017-06-02x86/tcb: add commentsRichard Braun
2013-06-03x86/tcb: new tcb_trace functionRichard Braun
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.
2012-12-31x86/tcb: improve thread loadingRichard Braun
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.
2012-12-28kern/thread: make thread_current migration-safeRichard Braun
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.
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.