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