} __attribute__((packed));
struct cpu {
- u8_t cpu_stack0[STACK0_SIZE];
segment_descriptor_t cpu_gdt[GDT_ENTRIES];
segment_descriptor_t cpu_idt[IDT_ENTRIES];
tss32_t cpu_tss;
#define GDT_ENTRIES 16
#define IDT_ENTRIES 256
-#define STACK0_SIZE CONFIG_KERNEL_STACK_SIZE
-#define STACK0_TOP STACK0_SIZE
-#define GDT_OFFSET STACK0_SIZE
+#define GDT_OFFSET 0
#define IDT_OFFSET (GDT_OFFSET + (GDT_ENTRIES * 8))
#define TSS_OFFSET (IDT_OFFSET + (IDT_ENTRIES * 8))
#define TSS_SIZE 102
+/* FIXME: Should this be RPL_USER for RPL_DRIVER / RPL_SYSTEM tasks? */
#define TSS_SEL (0x48 | RPL_USER)
#define CR0_PG_BIT 0x80000000