diff options
Diffstat (limited to 'arch/x86/um/shared/sysdep/tls.h')
-rw-r--r-- | arch/x86/um/shared/sysdep/tls.h | 38 |
1 files changed, 35 insertions, 3 deletions
diff --git a/arch/x86/um/shared/sysdep/tls.h b/arch/x86/um/shared/sysdep/tls.h index 4d8f75262370..db2ae9c12e23 100644 --- a/arch/x86/um/shared/sysdep/tls.h +++ b/arch/x86/um/shared/sysdep/tls.h @@ -1,5 +1,37 @@ +#ifndef _SYSDEP_TLS_H +#define _SYSDEP_TLS_H + +# ifndef __KERNEL__ + +/* Change name to avoid conflicts with the original one from <asm/ldt.h>, which + * may be named user_desc (but in 2.4 and in header matching its API was named + * modify_ldt_ldt_s). */ + +typedef struct um_dup_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 +} user_desc_t; + +# else /* __KERNEL__ */ + +# include <ldt.h> +typedef struct user_desc user_desc_t; + +# endif /* __KERNEL__ */ + #ifdef __i386__ -#include "tls_32.h" -#else -#include "tls_64.h" +#define GDT_ENTRY_TLS_MIN_I386 6 +#define GDT_ENTRY_TLS_MIN_X86_64 12 #endif + +#endif /* _SYSDEP_TLS_H */ |