Xyris  0.5
tss_entry Struct Reference

#include <tss.hpp>

Data Fields

uint32_t prev
 
uint32_t esp0
 
uint32_t ss0
 
uint32_t esp1
 
uint32_t ss1
 
uint32_t esp2
 
uint32_t ss2
 
uint32_t cr3
 
uint32_t eip
 
uint32_t eflags
 
uint32_t eax
 
uint32_t ecx
 
uint32_t edx
 
uint32_t ebx
 
uint32_t esp
 
uint32_t ebp
 
uint32_t esi
 
uint32_t edi
 
uint32_t es
 
uint32_t cs
 
uint32_t ss
 
uint32_t ds
 
uint32_t fs
 
uint32_t gs
 
uint32_t ldt
 
uint16_t trap
 
uint16_t iomap_base
 

Detailed Description

The Task State Segment (TSS) is a special data structure for x86 processors which holds information about a task. The TSS is primarily suited for hardware multitasking, where each individual process has its own TSS. In Software multitasking, one or two TSS's are also generally used, as they allow for entering Ring 0 code after an interrupt. (OSDev Wiki)

Thanks to OSDev Wiki for this section of code.

Definition at line 26 of file tss.hpp.

Field Documentation

◆ cr3

uint32_t tss_entry::cr3

Definition at line 34 of file tss.hpp.

◆ cs

uint32_t tss_entry::cs

Definition at line 46 of file tss.hpp.

◆ ds

uint32_t tss_entry::ds

Definition at line 48 of file tss.hpp.

◆ eax

uint32_t tss_entry::eax

Definition at line 37 of file tss.hpp.

◆ ebp

uint32_t tss_entry::ebp

Definition at line 42 of file tss.hpp.

◆ ebx

uint32_t tss_entry::ebx

Definition at line 40 of file tss.hpp.

◆ ecx

uint32_t tss_entry::ecx

Definition at line 38 of file tss.hpp.

◆ edi

uint32_t tss_entry::edi

Definition at line 44 of file tss.hpp.

◆ edx

uint32_t tss_entry::edx

Definition at line 39 of file tss.hpp.

◆ eflags

uint32_t tss_entry::eflags

Definition at line 36 of file tss.hpp.

◆ eip

uint32_t tss_entry::eip

Definition at line 35 of file tss.hpp.

◆ es

uint32_t tss_entry::es

Definition at line 45 of file tss.hpp.

◆ esi

uint32_t tss_entry::esi

Definition at line 43 of file tss.hpp.

◆ esp

uint32_t tss_entry::esp

Definition at line 41 of file tss.hpp.

◆ esp0

uint32_t tss_entry::esp0

Definition at line 28 of file tss.hpp.

◆ esp1

uint32_t tss_entry::esp1

Definition at line 30 of file tss.hpp.

◆ esp2

uint32_t tss_entry::esp2

Definition at line 32 of file tss.hpp.

◆ fs

uint32_t tss_entry::fs

Definition at line 49 of file tss.hpp.

◆ gs

uint32_t tss_entry::gs

Definition at line 50 of file tss.hpp.

◆ iomap_base

uint16_t tss_entry::iomap_base

Definition at line 53 of file tss.hpp.

◆ ldt

uint32_t tss_entry::ldt

Definition at line 51 of file tss.hpp.

◆ prev

uint32_t tss_entry::prev

Definition at line 27 of file tss.hpp.

◆ ss

uint32_t tss_entry::ss

Definition at line 47 of file tss.hpp.

◆ ss0

uint32_t tss_entry::ss0

Definition at line 29 of file tss.hpp.

◆ ss1

uint32_t tss_entry::ss1

Definition at line 31 of file tss.hpp.

◆ ss2

uint32_t tss_entry::ss2

Definition at line 33 of file tss.hpp.

◆ trap

uint16_t tss_entry::trap

Definition at line 52 of file tss.hpp.


The documentation for this struct was generated from the following file: