GNU Linux-libre 4.19.286-gnu1
[releases.git] / arch / x86 / kvm / tss.h
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