Automatic merge of rsync://rsync.kernel.org/pub/scm/linux/kernel/git/gregkh/driver...
[linux-2.6/verdex.git] / include / asm-x86_64 / ldt.h
blob9ef647b890d2c55949cabe8b7697c553f9756a52
1 /*
2 * ldt.h
4 * Definitions of structures used with the modify_ldt system call.
5 */
6 #ifndef _LINUX_LDT_H
7 #define _LINUX_LDT_H
9 /* Maximum number of LDT entries supported. */
10 #define LDT_ENTRIES 8192
11 /* The size of each LDT entry. */
12 #define LDT_ENTRY_SIZE 8
14 #ifndef __ASSEMBLY__
15 /* Note on 64bit base and limit is ignored and you cannot set
16 DS/ES/CS not to the default values if you still want to do syscalls. This
17 call is more for 32bit mode therefore. */
18 struct user_desc {
19 unsigned int entry_number;
20 unsigned int base_addr;
21 unsigned int limit;
22 unsigned int seg_32bit:1;
23 unsigned int contents:2;
24 unsigned int read_exec_only:1;
25 unsigned int limit_in_pages:1;
26 unsigned int seg_not_present:1;
27 unsigned int useable:1;
28 unsigned int lm:1;
31 #define MODIFY_LDT_CONTENTS_DATA 0
32 #define MODIFY_LDT_CONTENTS_STACK 1
33 #define MODIFY_LDT_CONTENTS_CODE 2
35 #endif /* !__ASSEMBLY__ */
36 #endif