Contiki 3.x
Data Fields
tss Struct Reference

Task State Segment. More...

#include <cpu/x86/mm/tss.h>

Data Fields

uint32_t prev_tsk
 The selector of the task that called this one, if applicable.
 
uint32_t esp0
 Stack pointer for ring 0 code in this task.
 
uint32_t ss0
 Stack segment selector for ring 0 code in this task.
 
uint32_t esp1
 Stack pointer for ring 1 code in this task.
 
uint32_t ss1
 Stack segment selector for ring 1 code in this task.
 
uint32_t esp2
 Stack pointer for ring 2 code in this task.
 
uint32_t ss2
 Stack segment selector for ring 2 code in this task.
 
uint32_t cr3
 CR3 for this task when paging is enabled.
 
uint32_t eip
 Stored instruction pointer value.
 
uint32_t eflags
 Settings for EFLAGS register.
 
uint32_t eax
 General purpose register values.
 
uint32_t es
 Segment register selector values.
 
uint32_t ldt
 Selector for Local Descriptor Table.
 
uint16_t t
 Debug-related flag.
 
uint16_t iomap_base
 Offset from base of TSS to base of IO permission bitmap, if one is installed.
 

Detailed Description

Task State Segment.

Used by the CPU to manage switching between different protection domains (tasks). The current task is referenced by the Task Register. When the CPU switches away from a task due to a far call, etc., it updates the associated in-memory TSS with the current state of the task. It then loads CPU state from the TSS for the new task. See Intel Combined Manual, Vol. 3, Chapter 7 for more details.

Definition at line 45 of file tss.h.