Lines Matching refs:idx
25 int idx; in get_free_idx() local
27 for (idx = 0; idx < GDT_ENTRY_TLS_ENTRIES; idx++) in get_free_idx()
28 if (desc_empty(&t->tls_array[idx])) in get_free_idx()
29 return idx + GDT_ENTRY_TLS_MIN; in get_free_idx()
85 static void set_tls_desc(struct task_struct *p, int idx, in set_tls_desc() argument
89 struct desc_struct *desc = &t->tls_array[idx - GDT_ENTRY_TLS_MIN]; in set_tls_desc()
115 int do_set_thread_area(struct task_struct *p, int idx, in do_set_thread_area() argument
128 if (idx == -1) in do_set_thread_area()
129 idx = info.entry_number; in do_set_thread_area()
135 if (idx == -1 && can_allocate) { in do_set_thread_area()
136 idx = get_free_idx(); in do_set_thread_area()
137 if (idx < 0) in do_set_thread_area()
138 return idx; in do_set_thread_area()
139 if (put_user(idx, &u_info->entry_number)) in do_set_thread_area()
143 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) in do_set_thread_area()
146 set_tls_desc(p, idx, &info, 1); in do_set_thread_area()
153 modified_sel = (idx << 3) | 3; in do_set_thread_area()
196 static void fill_user_desc(struct user_desc *info, int idx, in fill_user_desc() argument
201 info->entry_number = idx; in fill_user_desc()
215 int do_get_thread_area(struct task_struct *p, int idx, in do_get_thread_area() argument
221 if (idx == -1 && get_user(idx, &u_info->entry_number)) in do_get_thread_area()
224 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) in do_get_thread_area()
227 index = idx - GDT_ENTRY_TLS_MIN; in do_get_thread_area()
231 fill_user_desc(&info, idx, &p->thread.tls_array[index]); in do_get_thread_area()