tss.h 661 B

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