summaryrefslogtreecommitdiffstats
path: root/include/arch/x86_64/processor.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/arch/x86_64/processor.h')
-rw-r--r--include/arch/x86_64/processor.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/arch/x86_64/processor.h b/include/arch/x86_64/processor.h
index 7363c41..5e878b9 100644
--- a/include/arch/x86_64/processor.h
+++ b/include/arch/x86_64/processor.h
@@ -51,6 +51,7 @@ enum
#define GDT_OFFSET_KERNEL_CODE (GDT_ENTRY_KERNEL_CODE * sizeof(segment_descriptor_t))
#define GDT_OFFSET_KERNEL_DATA (GDT_ENTRY_KERNEL_DATA * sizeof(segment_descriptor_t))
+#define GDT_OFFSET_USER_NULL (GDT_ENTRY_USER_NULL * sizeof(segment_descriptor_t))
#define GDT_OFFSET_USER_DATA (GDT_ENTRY_USER_DATA * sizeof(segment_descriptor_t))
#define GDT_OFFSET_USER_CODE (GDT_ENTRY_USER_CODE * sizeof(segment_descriptor_t))
#define GDT_OFFSET_TSS (GDT_ENTRY_TSS_LOW * sizeof(segment_descriptor_t))
@@ -60,7 +61,9 @@ typedef struct jove_Processor
physptr_t pdir;
struct jove_ObjectDirectory *odir;
+ __attribute__((aligned(0x10)))
segment_descriptor_t gdt[GDT_ENTRY_COUNT];
+
struct {
uint16_t length;
uint64_t base;
@@ -70,7 +73,9 @@ typedef struct jove_Processor
uint64_t base;
} __attribute__((packed)) idtr;
+ __attribute__((aligned(0x10)))
tss_t tss;
+
tcb_t *tcb;
} processor_t;