xref: /openbmc/linux/arch/x86/kvm/tss.h (revision b2441318)
1b2441318SGreg Kroah-Hartman /* SPDX-License-Identifier: GPL-2.0 */
237817f29SIzik Eidus #ifndef __TSS_SEGMENT_H
337817f29SIzik Eidus #define __TSS_SEGMENT_H
437817f29SIzik Eidus 
537817f29SIzik Eidus struct tss_segment_32 {
637817f29SIzik Eidus 	u32 prev_task_link;
737817f29SIzik Eidus 	u32 esp0;
837817f29SIzik Eidus 	u32 ss0;
937817f29SIzik Eidus 	u32 esp1;
1037817f29SIzik Eidus 	u32 ss1;
1137817f29SIzik Eidus 	u32 esp2;
1237817f29SIzik Eidus 	u32 ss2;
1337817f29SIzik Eidus 	u32 cr3;
1437817f29SIzik Eidus 	u32 eip;
1537817f29SIzik Eidus 	u32 eflags;
1637817f29SIzik Eidus 	u32 eax;
1737817f29SIzik Eidus 	u32 ecx;
1837817f29SIzik Eidus 	u32 edx;
1937817f29SIzik Eidus 	u32 ebx;
2037817f29SIzik Eidus 	u32 esp;
2137817f29SIzik Eidus 	u32 ebp;
2237817f29SIzik Eidus 	u32 esi;
2337817f29SIzik Eidus 	u32 edi;
2437817f29SIzik Eidus 	u32 es;
2537817f29SIzik Eidus 	u32 cs;
2637817f29SIzik Eidus 	u32 ss;
2737817f29SIzik Eidus 	u32 ds;
2837817f29SIzik Eidus 	u32 fs;
2937817f29SIzik Eidus 	u32 gs;
3037817f29SIzik Eidus 	u32 ldt_selector;
3137817f29SIzik Eidus 	u16 t;
3237817f29SIzik Eidus 	u16 io_map;
3337817f29SIzik Eidus };
3437817f29SIzik Eidus 
3537817f29SIzik Eidus struct tss_segment_16 {
3637817f29SIzik Eidus 	u16 prev_task_link;
3737817f29SIzik Eidus 	u16 sp0;
3837817f29SIzik Eidus 	u16 ss0;
3937817f29SIzik Eidus 	u16 sp1;
4037817f29SIzik Eidus 	u16 ss1;
4137817f29SIzik Eidus 	u16 sp2;
4237817f29SIzik Eidus 	u16 ss2;
4337817f29SIzik Eidus 	u16 ip;
4437817f29SIzik Eidus 	u16 flag;
4537817f29SIzik Eidus 	u16 ax;
4637817f29SIzik Eidus 	u16 cx;
4737817f29SIzik Eidus 	u16 dx;
4837817f29SIzik Eidus 	u16 bx;
4937817f29SIzik Eidus 	u16 sp;
5037817f29SIzik Eidus 	u16 bp;
5137817f29SIzik Eidus 	u16 si;
5237817f29SIzik Eidus 	u16 di;
5337817f29SIzik Eidus 	u16 es;
5437817f29SIzik Eidus 	u16 cs;
5537817f29SIzik Eidus 	u16 ss;
5637817f29SIzik Eidus 	u16 ds;
5737817f29SIzik Eidus 	u16 ldt;
5837817f29SIzik Eidus };
5937817f29SIzik Eidus 
6037817f29SIzik Eidus #endif
61