alistair23-linux/include/asm-x86/segment.h

31 lines
669 B
C
Raw Normal View History

#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