2 * x86 TSS data structure and routines
3 * Copyright (c) 2001,2004 David H. Hovemeyer <daveho@cs.umd.edu>
6 * This is free software. You are permitted to use,
7 * redistribute, and modify it as specified in the file "COPYING".
14 * Source: _Protected Mode Software Architecture_ by Tom Shanley,
19 * NOTE: all reserved fields must be set to zero.
24 * Link to nested task. For example, if an interrupt is handled
25 * by a task gate, the link field will contain the selector for
26 * the TSS of the interrupted task.
31 /* Stacks for privilege levels. esp0/ss0 specifies the kernel stack. */
42 /* Page directory register. */
45 /* General processor registers. */
57 /* Segment registers and padding. */
71 /* GDT selector for the LDT descriptor. */
76 * The debug trap bit causes a debug exception upon a switch
77 * to the task specified by this TSS.
80 uint_t reserved12 : 15;
82 /* Offset in the TSS specifying where the io map is located. */
87 void Set_Kernel_Stack_Pointer(ulong_t esp0);
91 /* JRL THIS FUCKING SUCKS */
95 ushort_t GetTR_Selector();
101 #endif /* GEEKOS_TSS_H */