| #ifndef __TSS_SEGMENT_H | |
| #define __TSS_SEGMENT_H | |
| struct tss_segment_32 { | |
| u32 prev_task_link; | |
| u32 esp0; | |
| u32 ss0; | |
| u32 esp1; | |
| u32 ss1; | |
| u32 esp2; | |
| u32 ss2; | |
| u32 cr3; | |
| u32 eip; | |
| u32 eflags; | |
| u32 eax; | |
| u32 ecx; | |
| u32 edx; | |
| u32 ebx; | |
| u32 esp; | |
| u32 ebp; | |
| u32 esi; | |
| u32 edi; | |
| u32 es; | |
| u32 cs; | |
| u32 ss; | |
| u32 ds; | |
| u32 fs; | |
| u32 gs; | |
| u32 ldt_selector; | |
| u16 t; | |
| u16 io_map; | |
| }; | |
| struct tss_segment_16 { | |
| u16 prev_task_link; | |
| u16 sp0; | |
| u16 ss0; | |
| u16 sp1; | |
| u16 ss1; | |
| u16 sp2; | |
| u16 ss2; | |
| u16 ip; | |
| u16 flag; | |
| u16 ax; | |
| u16 cx; | |
| u16 dx; | |
| u16 bx; | |
| u16 sp; | |
| u16 bp; | |
| u16 si; | |
| u16 di; | |
| u16 es; | |
| u16 cs; | |
| u16 ss; | |
| u16 ds; | |
| u16 ldt; | |
| }; | |
| #endif |