1/* SPDX-License-Identifier: GPL-2.0 */
2#ifndef __TSS_SEGMENT_H
3#define __TSS_SEGMENT_H
4
5struct 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
35struct 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