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