Lines Matching refs:idx
65 int idx; in get_free_idx() local
70 for (idx = 0; idx < GDT_ENTRY_TLS_ENTRIES; idx++) in get_free_idx()
71 if (!t->arch.tls_array[idx].present) in get_free_idx()
72 return idx + GDT_ENTRY_TLS_MIN; in get_free_idx()
94 int idx; in load_TLS() local
96 for (idx = GDT_ENTRY_TLS_MIN; idx < GDT_ENTRY_TLS_MAX; idx++) { in load_TLS()
98 &to->thread.arch.tls_array[idx - GDT_ENTRY_TLS_MIN]; in load_TLS()
107 curr->tls.entry_number = idx; in load_TLS()
203 int idx, int flushed) in set_tls_entry() argument
207 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) in set_tls_entry()
210 t->arch.tls_array[idx - GDT_ENTRY_TLS_MIN].tls = *info; in set_tls_entry()
211 t->arch.tls_array[idx - GDT_ENTRY_TLS_MIN].present = 1; in set_tls_entry()
212 t->arch.tls_array[idx - GDT_ENTRY_TLS_MIN].flushed = flushed; in set_tls_entry()
220 int idx, ret = -EFAULT; in arch_copy_tls() local
231 idx = info.entry_number; in arch_copy_tls()
233 ret = set_tls_entry(new, &info, idx, 0); in arch_copy_tls()
240 int idx) in get_tls_entry() argument
247 if (idx < GDT_ENTRY_TLS_MIN || idx > GDT_ENTRY_TLS_MAX) in get_tls_entry()
250 if (!t->arch.tls_array[idx - GDT_ENTRY_TLS_MIN].present) in get_tls_entry()
253 *info = t->arch.tls_array[idx - GDT_ENTRY_TLS_MIN].tls; in get_tls_entry()
261 !t->arch.tls_array[idx - GDT_ENTRY_TLS_MIN].flushed)) { in get_tls_entry()
274 info->entry_number = idx; in get_tls_entry()
281 int idx, ret; in SYSCALL_DEFINE1() local
289 idx = info.entry_number; in SYSCALL_DEFINE1()
291 if (idx == -1) { in SYSCALL_DEFINE1()
292 idx = get_free_idx(current); in SYSCALL_DEFINE1()
293 if (idx < 0) in SYSCALL_DEFINE1()
294 return idx; in SYSCALL_DEFINE1()
295 info.entry_number = idx; in SYSCALL_DEFINE1()
297 if (put_user(idx, &user_desc->entry_number)) in SYSCALL_DEFINE1()
304 return set_tls_entry(current, &info, idx, 1); in SYSCALL_DEFINE1()
312 int ptrace_set_thread_area(struct task_struct *child, int idx, in ptrace_set_thread_area() argument
323 return set_tls_entry(child, &info, idx, 0); in ptrace_set_thread_area()
329 int idx, ret; in SYSCALL_DEFINE1() local
334 if (get_user(idx, &user_desc->entry_number)) in SYSCALL_DEFINE1()
337 ret = get_tls_entry(current, &info, idx); in SYSCALL_DEFINE1()
351 int ptrace_get_thread_area(struct task_struct *child, int idx, in ptrace_get_thread_area() argument
360 ret = get_tls_entry(child, &info, idx); in ptrace_get_thread_area()