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 |