• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1  #ifndef _SYSDEP_TLS_H
2  #define _SYSDEP_TLS_H
3  
4  #ifdef __UM_HOST__
5  
6  /* Change name to avoid conflicts with the original one from <asm/ldt.h>, which
7   * may be named user_desc (but in 2.4 and in header matching its API was named
8   * modify_ldt_ldt_s). */
9  
10  typedef struct um_dup_user_desc {
11  	unsigned int  entry_number;
12  	unsigned int  base_addr;
13  	unsigned int  limit;
14  	unsigned int  seg_32bit:1;
15  	unsigned int  contents:2;
16  	unsigned int  read_exec_only:1;
17  	unsigned int  limit_in_pages:1;
18  	unsigned int  seg_not_present:1;
19  	unsigned int  useable:1;
20  #ifdef __x86_64__
21  	unsigned int  lm:1;
22  #endif
23  } user_desc_t;
24  
25  #else /* __UM_HOST__ */
26  
27  typedef struct user_desc user_desc_t;
28  
29  #endif /* __UM_HOST__ */
30  
31  extern int os_set_thread_area(user_desc_t *info, int pid);
32  extern int os_get_thread_area(user_desc_t *info, int pid);
33  
34  #ifdef __i386__
35  #define GDT_ENTRY_TLS_MIN_I386 6
36  #define GDT_ENTRY_TLS_MIN_X86_64 12
37  #endif
38  
39  #endif /* _SYSDEP_TLS_H */
40