-struct mp_desc_table {
- struct fake_descriptor idt[IDTSZ]; /* IDT */
- struct fake_descriptor gdt[GDTSZ]; /* GDT */
- struct fake_descriptor ldt[LDTSZ]; /* LDT */
- struct i386_tss ktss;
- struct i386_tss dbtss;
-};
+typedef struct cpu_desc_table {
+ struct fake_descriptor idt[IDTSZ] __attribute__ ((aligned (16)));
+ struct fake_descriptor gdt[GDTSZ] __attribute__ ((aligned (16)));
+ struct i386_tss ktss __attribute__ ((aligned (16)));
+ struct i386_tss dbtss __attribute__ ((aligned (16)));
+ struct sysenter_stack sstk;
+} cpu_desc_table_t;
+
+typedef struct cpu_desc_table64 {
+ struct fake_descriptor64 idt[IDTSZ] __attribute__ ((aligned (16)));
+ struct fake_descriptor gdt[GDTSZ] __attribute__ ((aligned (16)));
+ struct x86_64_tss ktss __attribute__ ((aligned (16)));
+ struct sysenter_stack sstk __attribute__ ((aligned (16)));
+ uint8_t dfstk[PAGE_SIZE] __attribute__ ((aligned (16)));
+} cpu_desc_table64_t;