#ifndef _ASM_X86_SEGMENT_H_ #define _ASM_X86_SEGMENT_H_ #ifdef CONFIG_X86_32 # include "segment_32.h" #else # include "segment_64.h" #endif #ifndef CONFIG_PARAVIRT #define get_kernel_rpl() 0 #endif /* User mode is privilege level 3 */ #define USER_RPL 0x3 /* LDT segment has TI set, GDT has it cleared */ #define SEGMENT_LDT 0x4 #define SEGMENT_GDT 0x0 /* Bottom two bits of selector give the ring privilege level */ #define SEGMENT_RPL_MASK 0x3 /* Bit 2 is table indicator (LDT/GDT) */ #define SEGMENT_TI_MASK 0x4 #define IDT_ENTRIES 256 #define GDT_SIZE (GDT_ENTRIES * 8) #define GDT_ENTRY_TLS_ENTRIES 3 #define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8) #endif