Go to the documentation of this file.
2 #ifndef _ASM_X86_DESC_DEFS_H
3 #define _ASM_X86_DESC_DEFS_H
12 #include <linux/types.h>
37 #define GDT_ENTRY_INIT(flags, base, limit) { { { \
38 .a = ((limit) & 0xffff) | (((base) & 0xffff) << 16), \
39 .b = (((base) & 0xff0000) >> 16) | (((flags) & 0xf0ff) << 8) | \
40 ((limit) & 0xf0000) | ((base) & 0xff000000), \
60 #define PTR_LOW(x) ((unsigned long long)(x) & 0xFFFF)
61 #define PTR_MIDDLE(x) (((unsigned long long)(x) >> 16) & 0xFFFF)
62 #define PTR_HIGH(x) ((unsigned long long)(x) >> 32)
84 #define gate_offset(g) ((g).offset_low | ((unsigned long)(g).offset_middle << 16) | ((unsigned long)(g).offset_high << 32))
85 #define gate_segment(g) ((g).segment)
90 #define gate_offset(g) (((g).b & 0xffff0000) | ((g).a & 0x0000ffff))
91 #define gate_segment(g) ((g).a >> 16)