1 #ifndef _ASM_X86_SEGMENT_H_
2 #define _ASM_X86_SEGMENT_H_
5 # include "segment_32.h"
7 # include "segment_64.h"
10 #ifndef CONFIG_PARAVIRT
11 #define get_kernel_rpl() 0
14 /* User mode is privilege level 3 */
16 /* LDT segment has TI set, GDT has it cleared */
17 #define SEGMENT_LDT 0x4
18 #define SEGMENT_GDT 0x0
20 /* Bottom two bits of selector give the ring privilege level */
21 #define SEGMENT_RPL_MASK 0x3
22 /* Bit 2 is table indicator (LDT/GDT) */
23 #define SEGMENT_TI_MASK 0x4
25 #define IDT_ENTRIES 256
26 #define GDT_SIZE (GDT_ENTRIES * 8)
27 #define GDT_ENTRY_TLS_ENTRIES 3
28 #define TLS_SIZE (GDT_ENTRY_TLS_ENTRIES * 8)