Pip
Architecture-dependent parts of Pip: MAL, IAL and boot
All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros
Data Fields
tss_s Struct Reference

Task State Segment structure . More...

#include <gdt.h>

Data Fields

unsigned prev_tss: 16
 Pointer to the previous TSS entry (updated on a task switch) More...
 
unsigned reserved0: 16
 
unsigned esp0: 32
 Kernel-mode ESP (static) More...
 
unsigned ss0: 16
 Kernel-mode stack segment (static) More...
 
unsigned reserved1: 16
 
unsigned esp1: 32
 Ring-1 ESP (static) More...
 
unsigned ss1: 16
 Ring-1 stack segment (static) More...
 
unsigned reserved2: 16
 
unsigned esp2: 32
 Ring-2 ESP (static) More...
 
unsigned ss2: 16
 Ring-2 stack segment (static) More...
 
unsigned reserved3: 16
 
unsigned cr3: 32
 Page directory address (static) More...
 
unsigned eip: 32
 Execution pointer (prior to task switch) More...
 
unsigned eflags: 32
 CPU flags (prior to task switch) More...
 
unsigned eax: 32
 General register EAX (prior to task switch) More...
 
unsigned ecx: 32
 General register ECX (prior to task switch) More...
 
unsigned edx: 32
 General register EDX (prior to task switch) More...
 
unsigned ebx: 32
 General register EBX (prior to task switch) More...
 
unsigned esp: 32
 User-mode ESP (prior to task switch) More...
 
unsigned ebp: 32
 User-mode EBP (prior to task switch) More...
 
unsigned esi: 32
 General register ESI (prior to task switch) More...
 
unsigned edi: 32
 General register EDI (prior to task switch) More...
 
unsigned es: 16
 Segment selector ES (prior to task switch) More...
 
unsigned reserved4: 16
 
unsigned cs: 16
 Segment selector CS (prior to task switch) More...
 
unsigned reserved5: 16
 
unsigned ss: 16
 Segment selector SS (prior to task switch) More...
 
unsigned reserved6: 16
 
unsigned ds: 16
 Segment selector DS (prior to task switch) More...
 
unsigned reserved7: 16
 
unsigned fs: 16
 Segment selector FS (prior to task switch) More...
 
unsigned reserved8: 16
 
unsigned gs: 16
 Segment selector GS (prior to task switch) More...
 
unsigned reserved9: 16
 
unsigned ldt: 16
 Pointer to the LDT (static) More...
 
unsigned reserved10: 16
 
unsigned trap: 1
 Flag to raise an exception when a task switch to this task occurs (static) More...
 
unsigned reserved11: 15
 
unsigned iomap_base: 16
 IOMMU base. More...
 

Detailed Description

Task State Segment structure .

Field Documentation

◆ cr3

unsigned tss_s::cr3

Page directory address (static)

◆ cs

unsigned tss_s::cs

Segment selector CS (prior to task switch)

◆ ds

unsigned tss_s::ds

Segment selector DS (prior to task switch)

◆ eax

unsigned tss_s::eax

General register EAX (prior to task switch)

◆ ebp

unsigned tss_s::ebp

User-mode EBP (prior to task switch)

◆ ebx

unsigned tss_s::ebx

General register EBX (prior to task switch)

◆ ecx

unsigned tss_s::ecx

General register ECX (prior to task switch)

◆ edi

unsigned tss_s::edi

General register EDI (prior to task switch)

◆ edx

unsigned tss_s::edx

General register EDX (prior to task switch)

◆ eflags

unsigned tss_s::eflags

CPU flags (prior to task switch)

◆ eip

unsigned tss_s::eip

Execution pointer (prior to task switch)

◆ es

unsigned tss_s::es

Segment selector ES (prior to task switch)

◆ esi

unsigned tss_s::esi

General register ESI (prior to task switch)

◆ esp

unsigned tss_s::esp

User-mode ESP (prior to task switch)

◆ esp0

unsigned tss_s::esp0

Kernel-mode ESP (static)

◆ esp1

unsigned tss_s::esp1

Ring-1 ESP (static)

◆ esp2

unsigned tss_s::esp2

Ring-2 ESP (static)

◆ fs

unsigned tss_s::fs

Segment selector FS (prior to task switch)

◆ gs

unsigned tss_s::gs

Segment selector GS (prior to task switch)

◆ iomap_base

unsigned tss_s::iomap_base

IOMMU base.

◆ ldt

unsigned tss_s::ldt

Pointer to the LDT (static)

◆ prev_tss

unsigned tss_s::prev_tss

Pointer to the previous TSS entry (updated on a task switch)

◆ reserved0

unsigned tss_s::reserved0

◆ reserved1

unsigned tss_s::reserved1

◆ reserved10

unsigned tss_s::reserved10

◆ reserved11

unsigned tss_s::reserved11

◆ reserved2

unsigned tss_s::reserved2

◆ reserved3

unsigned tss_s::reserved3

◆ reserved4

unsigned tss_s::reserved4

◆ reserved5

unsigned tss_s::reserved5

◆ reserved6

unsigned tss_s::reserved6

◆ reserved7

unsigned tss_s::reserved7

◆ reserved8

unsigned tss_s::reserved8

◆ reserved9

unsigned tss_s::reserved9

◆ ss

unsigned tss_s::ss

Segment selector SS (prior to task switch)

◆ ss0

unsigned tss_s::ss0

Kernel-mode stack segment (static)

◆ ss1

unsigned tss_s::ss1

Ring-1 stack segment (static)

◆ ss2

unsigned tss_s::ss2

Ring-2 stack segment (static)

◆ trap

unsigned tss_s::trap

Flag to raise an exception when a task switch to this task occurs (static)


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