#define TSS_OFFSET (IDT_OFFSET + (IDT_ENTRIES * 8))
#define TSS_SIZE 102
+#define OFFSET_TSS_ESP0 4
+#define OFFSET_TSS_SS0 8
+#define OFFSET_TSS_SS1 16
+#define OFFSET_TSS_SS2 24
+#define OFFSET_TSS_CS 76
+#define OFFSET_TSS_DS 84
+#define OFFSET_TSS_ES 72
+#define OFFSET_TSS_FS 88
+#define OFFSET_TSS_GS 92
+#define OFFSET_TSS_SS 80
+
+#define CPU_ESP0 (TSS_OFFSET + OFFSET_TSS_ESP0)
+#define CPU_SS0 (TSS_OFFSET + OFFSET_TSS_SS0)
+#define CPU_SS1 (TSS_OFFSET + OFFSET_TSS_SS1)
+#define CPU_SS2 (TSS_OFFSET + OFFSET_TSS_SS2)
+#define CPU_CS (TSS_OFFSET + OFFSET_TSS_CS)
+#define CPU_DS (TSS_OFFSET + OFFSET_TSS_DS)
+#define CPU_ES (TSS_OFFSET + OFFSET_TSS_ES)
+#define CPU_FS (TSS_OFFSET + OFFSET_TSS_FS)
+#define CPU_GS (TSS_OFFSET + OFFSET_TSS_GS)
+#define CPU_SS (TSS_OFFSET + OFFSET_TSS_SS)
+
/* FIXME: Should this be RPL_USER for RPL_DRIVER / RPL_SYSTEM tasks? */
-#define TSS_SEL (0x48 | RPL_USER)
+#define TSS_SEL (0x48)
#define CR0_PG_BIT 0x80000000
#define CR4_PSE_BIT 0x00000010