#ifndef __SEGMENT_DESCRIPTOR_H #define __SEGMENT_DESCRIPTOR_H struct segment_descriptor { u16 limit_low; u16 base_low; u8 base_mid; u8 type : 4; u8 system : 1; u8 dpl : 2; u8 present : 1; u8 limit_high : 4; u8 avl : 1; u8 long_mode : 1; u8 default_op : 1; u8 granularity : 1; u8 base_high; } __attribute__((packed)); #ifdef CONFIG_X86_64 /* LDT or TSS descriptor in the GDT. 16 bytes. */ struct segment_descriptor_64 { struct segment_descriptor s; u32 base_higher; u32 pad_zero; }; #endif #endif