1 /* SPDX-License-Identifier: GPL-2.0 */ 2 #ifndef __TSS_SEGMENT_H 3 #define __TSS_SEGMENT_H 4 5 struct tss_segment_32 { 6 u32 prev_task_link; 7 u32 esp0; 8 u32 ss0; 9 u32 esp1; 10 u32 ss1; 11 u32 esp2; 12 u32 ss2; 13 u32 cr3; 14 u32 eip; 15 u32 eflags; 16 u32 eax; 17 u32 ecx; 18 u32 edx; 19 u32 ebx; 20 u32 esp; 21 u32 ebp; 22 u32 esi; 23 u32 edi; 24 u32 es; 25 u32 cs; 26 u32 ss; 27 u32 ds; 28 u32 fs; 29 u32 gs; 30 u32 ldt_selector; 31 u16 t; 32 u16 io_map; 33 }; 34 35 struct tss_segment_16 { 36 u16 prev_task_link; 37 u16 sp0; 38 u16 ss0; 39 u16 sp1; 40 u16 ss1; 41 u16 sp2; 42 u16 ss2; 43 u16 ip; 44 u16 flag; 45 u16 ax; 46 u16 cx; 47 u16 dx; 48 u16 bx; 49 u16 sp; 50 u16 bp; 51 u16 si; 52 u16 di; 53 u16 es; 54 u16 cs; 55 u16 ss; 56 u16 ds; 57 u16 ldt; 58 }; 59 60 #endif 61