summaryrefslogblamecommitdiff
path: root/include/asm-x86/segment.h
blob: 3c9b306bc4bfe4d9c746e15932d6df610290fd64 (plain) (tree)
1
2
3
4
5
6
7
8


                           




                        




                           















                                                               
      
#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