diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2007-10-17 18:04:40 +0200 |
---|---|---|
committer | Thomas Gleixner <tglx@inhelltoy.tec.linutronix.de> | 2007-10-17 20:16:47 +0200 |
commit | f6a2e7f2012eeced1dbf093bb98a1c38fee91f78 (patch) | |
tree | fab3e6186fa8a0ccde831d34e504e70f7d497361 /include/asm-x86/ldt.h | |
parent | 686d8c63d530a5cfdbab2523825e37b904be56f9 (diff) | |
download | talos-op-linux-f6a2e7f2012eeced1dbf093bb98a1c38fee91f78.tar.gz talos-op-linux-f6a2e7f2012eeced1dbf093bb98a1c38fee91f78.zip |
x86: unify include/asm/ldt_32/64.h
The additional struct member of user_desc can be made conditional for
64 bit compiles.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'include/asm-x86/ldt.h')
-rw-r--r-- | include/asm-x86/ldt.h | 51 |
1 files changed, 39 insertions, 12 deletions
diff --git a/include/asm-x86/ldt.h b/include/asm-x86/ldt.h index 3d9cc20d2ba4..20c597242b53 100644 --- a/include/asm-x86/ldt.h +++ b/include/asm-x86/ldt.h @@ -1,13 +1,40 @@ -#ifdef __KERNEL__ -# ifdef CONFIG_X86_32 -# include "ldt_32.h" -# else -# include "ldt_64.h" -# endif -#else -# ifdef __i386__ -# include "ldt_32.h" -# else -# include "ldt_64.h" -# endif +/* + * ldt.h + * + * Definitions of structures used with the modify_ldt system call. + */ +#ifndef _ASM_X86_LDT_H +#define _ASM_X86_LDT_H + +/* Maximum number of LDT entries supported. */ +#define LDT_ENTRIES 8192 +/* The size of each LDT entry. */ +#define LDT_ENTRY_SIZE 8 + +#ifndef __ASSEMBLY__ +/* + * Note on 64bit base and limit is ignored and you cannot set DS/ES/CS + * not to the default values if you still want to do syscalls. This + * call is more for 32bit mode therefore. + */ +struct user_desc { + unsigned int entry_number; + unsigned int base_addr; + unsigned int limit; + unsigned int seg_32bit:1; + unsigned int contents:2; + unsigned int read_exec_only:1; + unsigned int limit_in_pages:1; + unsigned int seg_not_present:1; + unsigned int useable:1; +#ifdef __x86_64__ + unsigned int lm:1; +#endif +}; + +#define MODIFY_LDT_CONTENTS_DATA 0 +#define MODIFY_LDT_CONTENTS_STACK 1 +#define MODIFY_LDT_CONTENTS_CODE 2 + +#endif /* !__ASSEMBLY__ */ #endif |