Task State Segment.
More...
Task State Segment.
The Task State Segment is more or less deprecated, we use it only to tell the cpu what stack pointer to use when handling interrupts. This is done using the Interrupt Stack Table (IST).
- See also
- OSDev Wiki TTS
◆ TSS_IST_EXCEPTION
The IST index to use for exceptions.
Definition at line 40 of file tss.h.
◆ TSS_IST_DOUBLE_FAULT
The IST index to use for double faults.
Definition at line 45 of file tss.h.
◆ TSS_IST_NMI
The IST index to use for non-maskable interrupts.
Definition at line 50 of file tss.h.
◆ TSS_IST_INTERRUPT
The IST index to use for other interrupts.
Definition at line 55 of file tss.h.
◆ tss_ist_t
Interrupt Stack Table indices.
| Enumerator |
|---|
| TSS_IST_NONE | |
| TSS_IST1 | |
| TSS_IST2 | |
| TSS_IST3 | |
| TSS_IST4 | |
| TSS_IST5 | |
| TSS_IST6 | |
| TSS_IST7 | |
| TSS_IST_COUNT | |
Definition at line 24 of file tss.h.
◆ tss_load()
Load the TSS.
Loads the TSS using the ltr instruction, the TSS must already be present in the GDT.
◆ tss_init()
| void tss_init |
( |
tss_t * |
tss | ) |
|
Initialize a TSS structure.
- Parameters
-
| tss | The TSS structure to initialize. |
Definition at line 5 of file tss.c.
◆ tss_ist_load()
Load a stack into an IST entry.
- Parameters
-
| tss | The TSS structure to load the IST into. |
| ist | The IST index to load the stack into. |
| stack | The stack to load into the TSS. |
Definition at line 21 of file tss.c.