interrupts, timer, keyboard, segments, lots of kernel code
[bootcensus] / src / tss.h
1 #ifndef TSS_H_
2 #define TSS_H_
3
4 #include <inttypes.h>
5
6 struct task_state {
7         uint32_t prev_task;
8         uint32_t esp0, ss0;     /* we only ever set these two values */
9         uint32_t esp1, ss1;
10         uint32_t esp2, ss2;
11         uint32_t cr3;
12         uint32_t eip;
13         uint32_t eflags;
14         uint32_t eax, ecx, edx, ebx;
15         uint32_t esp, ebp, esi, edi;
16         uint32_t es, cs, ss, ds, fs, gs;
17         uint32_t ldt_sel;
18         uint16_t trap, iomap_addr;
19 } __attribute__((packed));
20
21 #endif  /* TSS_H_ */