|
Contiki 3.x
|
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. | |
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.
1.8.6