Lines Matching refs:idx
22 int idx; in get_free_idx() local
24 for (idx = 0; idx < GDT_ENTRY_TLS_ENTRIES; idx++) in get_free_idx()
25 if (desc_empty(&t->tls_array[idx])) in get_free_idx()
26 return idx + GDT_ENTRY_TLS_MIN; in get_free_idx()
82 static void set_tls_desc(struct task_struct *p, int idx, in set_tls_desc() argument
86 struct desc_struct *desc = &t->tls_array[idx - GDT_ENTRY_TLS_MIN]; in set_tls_desc()
112 int do_set_thread_area(struct task_struct *p, int idx, in do_set_thread_area() argument
124 if (idx == -1) in do_set_thread_area()
125 idx = info.entry_number; in do_set_thread_area()
131 if (idx == -1 && can_allocate) { in do_set_thread_area()
132 idx = get_free_idx(); in do_set_thread_area()
133 if (idx < 0) in do_set_thread_area()
134 return idx; in do_set_thread_area()
135 if (put_user(idx, &u_info->entry_number)) in do_set_thread_area()
139 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) in do_set_thread_area()
142 set_tls_desc(p, idx, &info, 1); in do_set_thread_area()
157 static void fill_user_desc(struct user_desc *info, int idx, in fill_user_desc() argument
162 info->entry_number = idx; in fill_user_desc()
176 int do_get_thread_area(struct task_struct *p, int idx, in do_get_thread_area() argument
181 if (idx == -1 && get_user(idx, &u_info->entry_number)) in do_get_thread_area()
184 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) in do_get_thread_area()
187 fill_user_desc(&info, idx, in do_get_thread_area()
188 &p->thread.tls_array[idx - GDT_ENTRY_TLS_MIN]); in do_get_thread_area()