/linux/tools/perf/util/ |
H A D | thread.h | 32 DECLARE_RC_STRUCT(thread) { in DECLARE_RC_STRUCT() 33 /** @maps: mmaps associated with this thread. */ in DECLARE_RC_STRUCT() 36 /** @tid: thread ID number unique to a machine. */ in DECLARE_RC_STRUCT() 38 /** @ppid: parent process of the process this thread belongs to. */ in DECLARE_RC_STRUCT() 41 int guest_cpu; /* For QEMU thread */ in DECLARE_RC_STRUCT() 44 * @exited: Has the thread had an exit event. Such threads are usually in DECLARE_RC_STRUCT() 73 struct thread *thread__new(pid_t pid, pid_t tid); 74 int thread__init_maps(struct thread *thread, struct machine *machine); 75 void thread__delete(struct thread *threa 31 DECLARE_RC_STRUCT(thread) DECLARE_RC_STRUCT() argument 81 __thread__zput(struct thread ** thread) __thread__zput() argument 87 thread__zput(thread) global() argument 95 thread__set_comm(struct thread * thread,const char * comm,u64 timestamp) thread__set_comm() argument 129 thread__maps(struct thread * thread) thread__maps() argument 134 thread__set_maps(struct thread * thread,struct maps * maps) thread__set_maps() argument 139 thread__pid(const struct thread * thread) thread__pid() argument 144 thread__set_pid(struct thread * thread,pid_t pid_) thread__set_pid() argument 149 thread__tid(const struct thread * thread) thread__tid() argument 154 thread__set_tid(struct thread * thread,pid_t tid) thread__set_tid() argument 159 thread__ppid(const struct thread * thread) thread__ppid() argument 164 thread__set_ppid(struct thread * thread,pid_t ppid) thread__set_ppid() argument 169 thread__cpu(const struct thread * thread) thread__cpu() argument 174 thread__set_cpu(struct thread * thread,int cpu) thread__set_cpu() argument 179 thread__guest_cpu(const struct thread * thread) thread__guest_cpu() argument 184 thread__set_guest_cpu(struct thread * thread,int guest_cpu) thread__set_guest_cpu() argument 189 thread__refcnt(struct thread * thread) thread__refcnt() argument 194 thread__set_exited(struct thread * thread,bool exited) thread__set_exited() argument 199 thread__comm_set(const struct thread * thread) thread__comm_set() argument 204 thread__set_comm_set(struct thread * thread,bool set) thread__set_comm_set() argument 209 thread__var_comm_len(const struct thread * thread) thread__var_comm_len() argument 214 thread__set_comm_len(struct thread * thread,int len) thread__set_comm_len() argument 219 thread__namespaces_list(struct thread * thread) thread__namespaces_list() argument 224 thread__namespaces_list_empty(const struct thread * thread) thread__namespaces_list_empty() argument 229 thread__namespaces_lock(struct thread * thread) thread__namespaces_lock() argument 234 thread__comm_list(struct thread * thread) thread__comm_list() argument 239 thread__comm_lock(struct thread * thread) thread__comm_lock() argument 244 thread__db_id(const struct thread * thread) thread__db_id() argument 249 thread__set_db_id(struct thread * thread,u64 db_id) thread__set_db_id() argument 254 thread__priv(struct thread * thread) thread__priv() argument 259 thread__set_priv(struct thread * thread,void * p) thread__set_priv() argument 264 thread__ts(struct thread * thread) thread__ts() argument 269 thread__set_ts(struct thread * thread,struct thread_stack * ts) thread__set_ts() argument 274 thread__nsinfo(struct thread * thread) thread__nsinfo() argument 279 thread__srccode_state(struct thread * thread) thread__srccode_state() argument 284 thread__filter(const struct thread * thread) thread__filter() argument 289 thread__set_filter(struct thread * thread,bool filter) thread__set_filter() argument 294 thread__filter_entry_depth(const struct thread * thread) thread__filter_entry_depth() argument 299 thread__set_filter_entry_depth(struct thread * thread,int depth) thread__set_filter_entry_depth() argument 304 thread__lbr_stitch_enable(const struct thread * thread) thread__lbr_stitch_enable() argument 309 thread__set_lbr_stitch_enable(struct thread * thread,bool en) thread__set_lbr_stitch_enable() argument 314 thread__lbr_stitch(struct thread * thread) thread__lbr_stitch() argument 319 thread__set_lbr_stitch(struct thread * thread,struct lbr_stitch * lbrs) thread__set_lbr_stitch() argument 324 thread__is_filtered(struct thread * thread) thread__is_filtered() argument [all...] |
H A D | thread.c | 10 #include "thread.h" 11 #include "thread-stack.h" 22 int thread__init_maps(struct thread *thread, struct machine *machine) in thread__init_maps() argument 24 pid_t pid = thread__pid(thread); in thread__init_maps() 26 if (pid == thread__tid(thread) || pid == -1) { in thread__init_maps() 27 thread__set_maps(thread, maps__new(machine)); in thread__init_maps() 29 struct thread *leader = machine__findnew_thread(machine, pid, pid); in thread__init_maps() 32 thread__set_maps(thread, maps__get(thread__maps(leader))); in thread__init_maps() 37 return thread__maps(thread) in thread__init_maps() 45 struct thread *thread; thread__new() local 92 thread__delete(struct thread * thread) thread__delete() argument 131 thread__get(struct thread * thread) thread__get() argument 141 thread__put(struct thread * thread) thread__put() argument 149 __thread__namespaces(struct thread * thread) __thread__namespaces() argument 157 thread__namespaces(struct thread * thread) thread__namespaces() argument 168 __thread__set_namespaces(struct thread * thread,u64 timestamp,struct perf_record_namespaces * event) __thread__set_namespaces() argument 192 thread__set_namespaces(struct thread * thread,u64 timestamp,struct perf_record_namespaces * event) thread__set_namespaces() argument 203 thread__comm(struct thread * thread) thread__comm() argument 211 thread__exec_comm(struct thread * thread) thread__exec_comm() argument 234 ____thread__set_comm(struct thread * thread,const char * str,u64 timestamp,bool exec) ____thread__set_comm() argument 259 __thread__set_comm(struct thread * thread,const char * str,u64 timestamp,bool exec) __thread__set_comm() argument 270 thread__set_comm_from_proc(struct thread * thread) thread__set_comm_from_proc() argument 287 __thread__comm_str(struct thread * thread) __thread__comm_str() argument 297 thread__comm_str(struct thread * thread) thread__comm_str() argument 308 __thread__comm_len(struct thread * thread,const char * comm) __thread__comm_len() argument 318 thread__comm_len(struct thread * thread) thread__comm_len() argument 334 thread__fprintf(struct thread * thread,FILE * fp) thread__fprintf() argument 340 thread__insert_map(struct thread * thread,struct map * map) thread__insert_map() argument 366 thread__prepare_access(struct thread * thread) thread__prepare_access() argument 380 thread__clone_maps(struct thread * thread,struct thread * parent,bool do_maps_clone) thread__clone_maps() argument 396 thread__fork(struct thread * thread,struct thread * parent,u64 timestamp,bool do_maps_clone) thread__fork() argument 412 thread__find_cpumode_addr_location(struct thread * thread,u64 addr,struct addr_location * al) thread__find_cpumode_addr_location() argument 430 thread__main_thread(struct machine * machine,struct thread * thread) thread__main_thread() argument 441 thread__memcpy(struct thread * thread,struct machine * machine,void * buf,u64 ip,int len,bool * is64bit) thread__memcpy() argument 474 thread__free_stitch_list(struct thread * thread) thread__free_stitch_list() argument [all...] |
H A D | thread-stack.h | 14 struct thread; 54 struct thread *thread; member 82 int thread_stack__event(struct thread *thread, int cpu, u32 flags, u64 from_ip, 85 void thread_stack__set_trace_nr(struct thread *thread, int cpu, u64 trace_nr); 86 void thread_stack__sample(struct thread *thread, int cpu, struct ip_callchain *chain, 88 void thread_stack__sample_late(struct thread *thread, int cpu, 91 void thread_stack__br_sample(struct thread *thread, int cpu, 93 void thread_stack__br_sample_late(struct thread *thread, int cpu, 96 int thread_stack__flush(struct thread *thread); 97 void thread_stack__free(struct thread *thread); [all …]
|
H A D | thread-stack.c | 113 static inline bool thread_stack__per_cpu(struct thread *thread) in thread_stack__per_cpu() argument 115 return !(thread__tid(thread) || thread__pid(thread)); in thread_stack__per_cpu() 136 static int thread_stack__init(struct thread_stack *ts, struct thread *thread, in thread_stack__init() argument 158 if (thread__maps(thread) && maps__machine(thread__maps(thread))) { in thread_stack__init() 159 struct machine *machine = maps__machine(thread__maps(thread)); in thread_stack__init() 173 static struct thread_stack *thread_stack__new(struct thread *thread, int cpu, in thread_stack__new() argument 178 struct thread_stack *ts = thread__ts(thread), *new_ts; in thread_stack__new() 182 if (thread_stack__per_cpu(thread) && cpu > 0) in thread_stack__new() 192 free(thread__ts(thread)); in thread_stack__new() 193 thread__set_ts(thread, new_ts); in thread_stack__new() [all …]
|
H A D | db-export.c | 13 #include "thread.h" 18 #include "thread-stack.h" 62 int db_export__thread(struct db_export *dbe, struct thread *thread, in db_export__thread() argument 63 struct machine *machine, struct thread *main_thread) in db_export__thread() 67 if (thread__db_id(thread)) in db_export__thread() 70 thread__set_db_id(thread, ++dbe->thread_last_db_id); in db_export__thread() 76 return dbe->export_thread(dbe, thread, main_thread_db_id, in db_export__thread() 83 struct thread *thread) in __db_export__comm() argument 94 db_export__comm(struct db_export * dbe,struct comm * comm,struct thread * thread) db_export__comm() argument 134 db_export__comm_thread(struct db_export * dbe,struct comm * comm,struct thread * thread) db_export__comm_thread() argument 211 call_path_from_sample(struct db_export * dbe,struct machine * machine,struct thread * thread,struct perf_sample * sample,struct evsel * evsel) call_path_from_sample() argument 294 db_export__threads(struct db_export * dbe,struct thread * thread,struct thread * main_thread,struct machine * machine,struct comm ** comm_ptr) db_export__threads() argument 352 struct thread *thread = al->thread; db_export__sample() local 532 struct thread *thread = machine__find_thread(machine, pid, tid); db_export__pid_tid() local [all...] |
/linux/arch/mips/include/asm/ |
H A D | asmmacro-32.h | 16 .macro fpu_save_single thread tmp=t0 20 s.d $f0, THREAD_FPR0(\thread) 21 s.d $f2, THREAD_FPR2(\thread) 22 s.d $f4, THREAD_FPR4(\thread) 23 s.d $f6, THREAD_FPR6(\thread) 24 s.d $f8, THREAD_FPR8(\thread) 25 s.d $f10, THREAD_FPR10(\thread) 26 s.d $f12, THREAD_FPR12(\thread) 27 s.d $f14, THREAD_FPR14(\thread) 28 s.d $f16, THREAD_FPR16(\thread) [all …]
|
H A D | asmmacro-64.h | 17 .macro cpu_save_nonscratch thread 18 LONG_S s0, THREAD_REG16(\thread) 19 LONG_S s1, THREAD_REG17(\thread) 20 LONG_S s2, THREAD_REG18(\thread) 21 LONG_S s3, THREAD_REG19(\thread) 22 LONG_S s4, THREAD_REG20(\thread) 23 LONG_S s5, THREAD_REG21(\thread) 24 LONG_S s6, THREAD_REG22(\thread) 25 LONG_S s7, THREAD_REG23(\thread) 26 LONG_S sp, THREAD_REG29(\thread) [all …]
|
H A D | asmmacro.h | 84 .macro fpu_save_16even thread tmp=t0 88 sdc1 $f0, THREAD_FPR0(\thread) 89 sdc1 $f2, THREAD_FPR2(\thread) 90 sdc1 $f4, THREAD_FPR4(\thread) 91 sdc1 $f6, THREAD_FPR6(\thread) 92 sdc1 $f8, THREAD_FPR8(\thread) 93 sdc1 $f10, THREAD_FPR10(\thread) 94 sdc1 $f12, THREAD_FPR12(\thread) 95 sdc1 $f14, THREAD_FPR14(\thread) 96 sdc1 $f16, THREAD_FPR16(\thread) [all …]
|
H A D | dsp.h | 41 tsk->thread.dsp.dspr[0] = mfhi1(); \ 42 tsk->thread.dsp.dspr[1] = mflo1(); \ 43 tsk->thread.dsp.dspr[2] = mfhi2(); \ 44 tsk->thread.dsp.dspr[3] = mflo2(); \ 45 tsk->thread.dsp.dspr[4] = mfhi3(); \ 46 tsk->thread.dsp.dspr[5] = mflo3(); \ 47 tsk->thread.dsp.dspcontrol = rddsp(DSP_MASK); \ 58 mthi1(tsk->thread.dsp.dspr[0]); \ 59 mtlo1(tsk->thread.dsp.dspr[1]); \ 60 mthi2(tsk->thread.dsp.dspr[2]); \ [all …]
|
/linux/Documentation/translations/zh_CN/mm/ |
H A D | mmu_notifier.rst | 43 CPU-thread-0 {尝试写到addrA} 44 CPU-thread-1 {尝试写到addrB} 45 CPU-thread-2 {} 46 CPU-thread-3 {} 47 DEV-thread-0 {读取addrA并填充设备TLB} 48 DEV-thread-2 {读取addrB并填充设备TLB} 50 CPU-thread-0 {COW_step0: {mmu_notifier_invalidate_range_start(addrA)}} 51 CPU-thread-1 {COW_step0: {mmu_notifier_invalidate_range_start(addrB)}} 52 CPU-thread-2 {} 53 CPU-thread-3 {} [all …]
|
/linux/arch/powerpc/kernel/ptrace/ |
H A D | ptrace-adv.c | 10 struct pt_regs *regs = task->thread.regs; in user_enable_single_step() 13 task->thread.debug.dbcr0 &= ~DBCR0_BT; in user_enable_single_step() 14 task->thread.debug.dbcr0 |= DBCR0_IDM | DBCR0_IC; in user_enable_single_step() 22 struct pt_regs *regs = task->thread.regs; in user_enable_block_step() 25 task->thread.debug.dbcr0 &= ~DBCR0_IC; in user_enable_block_step() 26 task->thread.debug.dbcr0 = DBCR0_IDM | DBCR0_BT; in user_enable_block_step() 34 struct pt_regs *regs = task->thread.regs; in user_disable_single_step() 43 task->thread.debug.dbcr0 &= ~(DBCR0_IC | DBCR0_BT); in user_disable_single_step() 47 if (!DBCR_ACTIVE_EVENTS(task->thread.debug.dbcr0, in user_disable_single_step() 48 task->thread.debug.dbcr1)) { in user_disable_single_step() [all …]
|
H A D | ptrace-noadv.c | 12 struct pt_regs *regs = task->thread.regs; in user_enable_single_step() 21 struct pt_regs *regs = task->thread.regs; in user_enable_block_step() 30 struct pt_regs *regs = task->thread.regs; in user_disable_single_step() 68 dabr_fake = ((child->thread.hw_brk[0].address & (~HW_BRK_TYPE_DABR)) | in ptrace_get_debugreg() 69 (child->thread.hw_brk[0].type & HW_BRK_TYPE_DABR)); in ptrace_get_debugreg() 82 struct thread_struct *thread = &task->thread; in ptrace_set_debugreg() local 121 bp = thread->ptrace_bps[0]; in ptrace_set_debugreg() 125 thread->ptrace_bps[0] = NULL; in ptrace_set_debugreg() 142 thread->ptrace_bps[0] = bp; in ptrace_set_debugreg() 143 thread->hw_brk[0] = hw_brk; in ptrace_set_debugreg() [all …]
|
H A D | ptrace-tm.c | 28 tm_save_sprs(&tsk->thread); in flush_tmregs_to_thread() 34 return task->thread.ckpt_regs.msr | task->thread.fpexc_mode; in get_user_ckpt_msr() 39 task->thread.ckpt_regs.msr &= ~MSR_DEBUGCHANGE; in set_user_ckpt_msr() 40 task->thread.ckpt_regs.msr |= msr & MSR_DEBUGCHANGE; in set_user_ckpt_msr() 46 set_trap(&task->thread.ckpt_regs, trap); in set_user_ckpt_trap() 63 if (!MSR_TM_ACTIVE(target->thread.regs->msr)) in tm_cgpr_active() 97 if (!MSR_TM_ACTIVE(target->thread.regs->msr)) in tm_cgpr_get() 104 membuf_write(&to, &target->thread.ckpt_regs, sizeof(struct user_pt_regs)); in tm_cgpr_get() 144 if (!MSR_TM_ACTIVE(target->thread.regs->msr)) in tm_cgpr_set() 152 &target->thread.ckpt_regs, in tm_cgpr_set() [all …]
|
/linux/tools/perf/tests/ |
H A D | dwarf-unwind.c | 16 #include "thread.h" 65 int test_dwarf_unwind__thread(struct thread *thread); 67 int test_dwarf_unwind__krava_3(struct thread *thread); 68 int test_dwarf_unwind__krava_2(struct thread *thread); 69 int test_dwarf_unwind__krava_1(struct thread *thread); 112 NO_TAIL_CALL_ATTRIBUTE noinline int test_dwarf_unwind__thread(struct thread *threa argument 146 struct thread *thread = *(struct thread **)p1; test_dwarf_unwind__compare() local 162 test_dwarf_unwind__krava_3(struct thread * thread) test_dwarf_unwind__krava_3() argument 181 test_dwarf_unwind__krava_2(struct thread * thread) test_dwarf_unwind__krava_2() argument 190 test_dwarf_unwind__krava_1(struct thread * thread) test_dwarf_unwind__krava_1() argument 203 struct thread *thread; test__dwarf_unwind() local [all...] |
/linux/drivers/md/dm-vdo/ |
H A D | thread-utils.c | 21 struct thread { struct 37 struct thread *thread = arg; in thread_starter() local 39 thread->thread_task = current; in thread_starter() 41 hlist_add_head(&thread->thread_links, &thread_list); in thread_starter() 44 thread->thread_function(thread->thread_data); in thread_starter() 46 complete(&thread->thread_done); in thread_starter() 51 const char *name, struct thread **new_thread) in vdo_create_thread() 56 struct thread *thread; in vdo_create_thread() local 59 result = vdo_allocate(1, struct thread, __func__, &thread); in vdo_create_thread() 65 thread->thread_function = thread_function; in vdo_create_thread() [all …]
|
/linux/arch/parisc/kernel/ |
H A D | asm-offsets.c | 49 DEFINE(TASK_REGS, offsetof(struct task_struct, thread.regs)); in main() 50 DEFINE(TASK_PT_PSW, offsetof(struct task_struct, thread.regs.gr[ 0])); in main() 51 DEFINE(TASK_PT_GR1, offsetof(struct task_struct, thread.regs.gr[ 1])); in main() 52 DEFINE(TASK_PT_GR2, offsetof(struct task_struct, thread.regs.gr[ 2])); in main() 53 DEFINE(TASK_PT_GR3, offsetof(struct task_struct, thread.regs.gr[ 3])); in main() 54 DEFINE(TASK_PT_GR4, offsetof(struct task_struct, thread.regs.gr[ 4])); in main() 55 DEFINE(TASK_PT_GR5, offsetof(struct task_struct, thread.regs.gr[ 5])); in main() 56 DEFINE(TASK_PT_GR6, offsetof(struct task_struct, thread.regs.gr[ 6])); in main() 57 DEFINE(TASK_PT_GR7, offsetof(struct task_struct, thread.regs.gr[ 7])); in main() 58 DEFINE(TASK_PT_GR8, offsetof(struct task_struct, thread.regs.gr[ 8])); in main() [all …]
|
/linux/drivers/mailbox/ |
H A D | mtk-cmdq-mailbox.c | 72 struct cmdq_thread *thread; member 82 struct cmdq_thread *thread; member 115 static int cmdq_thread_suspend(struct cmdq *cmdq, struct cmdq_thread *thread) in cmdq_thread_suspend() argument 119 writel(CMDQ_THR_SUSPEND, thread->base + CMDQ_THR_SUSPEND_TASK); in cmdq_thread_suspend() 122 if (!(readl(thread->base + CMDQ_THR_ENABLE_TASK) & CMDQ_THR_ENABLED)) in cmdq_thread_suspend() 125 if (readl_poll_timeout_atomic(thread->base + CMDQ_THR_CURR_STATUS, in cmdq_thread_suspend() 128 (u32)(thread->base - cmdq->base)); in cmdq_thread_suspend() 135 static void cmdq_thread_resume(struct cmdq_thread *thread) in cmdq_thread_resume() argument 137 writel(CMDQ_THR_RESUME, thread->base + CMDQ_THR_SUSPEND_TASK); in cmdq_thread_resume() 160 static int cmdq_thread_reset(struct cmdq *cmdq, struct cmdq_thread *thread) in cmdq_thread_reset() argument [all …]
|
/linux/tools/perf/scripts/python/ |
H A D | stat-cpi.py | 10 def get_key(time, event, cpu, thread): argument 11 return "%d-%s-%d-%d" % (time, event, cpu, thread) 13 def store_key(time, cpu, thread): argument 20 if (thread not in threads): 21 threads.append(thread) 23 def store(time, event, cpu, thread, val, ena, run): argument 27 store_key(time, cpu, thread) 28 key = get_key(time, event, cpu, thread) 31 def get(time, event, cpu, thread): argument 32 key = get_key(time, event, cpu, thread) [all …]
|
/linux/Documentation/mm/ |
H A D | mmu_notifier.rst | 39 CPU-thread-0 {try to write to addrA} 40 CPU-thread-1 {try to write to addrB} 41 CPU-thread-2 {} 42 CPU-thread-3 {} 43 DEV-thread-0 {read addrA and populate device TLB} 44 DEV-thread-2 {read addrB and populate device TLB} 46 CPU-thread-0 {COW_step0: {mmu_notifier_invalidate_range_start(addrA)}} 47 CPU-thread-1 {COW_step0: {mmu_notifier_invalidate_range_start(addrB)}} 48 CPU-thread-2 {} 49 CPU-thread-3 {} [all …]
|
/linux/arch/s390/kernel/ |
H A D | process.c | 92 dst->thread.kfpu_flags = 0; in arch_dup_task_struct() 101 dst->thread.ri_cb = NULL; in arch_dup_task_struct() 102 dst->thread.gs_cb = NULL; in arch_dup_task_struct() 103 dst->thread.gs_bc_cb = NULL; in arch_dup_task_struct() 120 p->thread.ksp = (unsigned long) frame; in copy_thread() 122 save_access_regs(&p->thread.acrs[0]); in copy_thread() 125 memset(&p->thread.per_user, 0, sizeof(p->thread.per_user)); in copy_thread() 126 memset(&p->thread.per_event, 0, sizeof(p->thread.per_event)); in copy_thread() 128 p->thread.per_flags = 0; in copy_thread() 130 p->thread.user_timer = 0; in copy_thread() [all …]
|
H A D | guarded_storage.c | 17 kfree(tsk->thread.gs_cb); in guarded_storage_release() 18 kfree(tsk->thread.gs_bc_cb); in guarded_storage_release() 25 if (!current->thread.gs_cb) { in gs_enable() 33 current->thread.gs_cb = gs_cb; in gs_enable() 41 if (current->thread.gs_cb) { in gs_disable() 43 kfree(current->thread.gs_cb); in gs_disable() 44 current->thread.gs_cb = NULL; in gs_disable() 55 gs_cb = current->thread.gs_bc_cb; in gs_set_bc_cb() 60 current->thread.gs_bc_cb = gs_cb; in gs_set_bc_cb() 71 gs_cb = current->thread.gs_bc_cb; in gs_clear_bc_cb() [all …]
|
/linux/tools/lib/perf/ |
H A D | evsel.c | 57 int idx, thread; in perf_evsel__alloc_fd() local 60 for (thread = 0; thread < nthreads; thread++) { in perf_evsel__alloc_fd() 61 int *fd = FD(evsel, idx, thread); in perf_evsel__alloc_fd() 87 static int get_group_fd(struct perf_evsel *evsel, int cpu_map_idx, int thread, int *group_fd) in get_group_fd() argument 104 fd = FD(leader, cpu_map_idx, thread); in get_group_fd() 117 int idx, thread, err = 0; in perf_evsel__open() local 148 for (thread = 0; thread < threads->nr; thread++) { in perf_evsel__open() 151 evsel_fd = FD(evsel, idx, thread); in perf_evsel__open() 157 err = get_group_fd(evsel, idx, thread, &group_fd); in perf_evsel__open() 162 threads->map[thread].pid, in perf_evsel__open() [all …]
|
/linux/arch/sh/kernel/cpu/sh4/ |
H A D | fpu.c | 84 :"0"((char *)(&tsk->thread.xstate->hardfpu.status)), in save_fpu() 134 :"0" (tsk->thread.xstate), "r" (FPSCR_RCHG) in restore_fpu() 230 if ((tsk->thread.xstate->hardfpu.fpscr & FPSCR_CAUSE_ERROR)) in ieee_fpe_handler() 232 denormal_to_double(&tsk->thread.xstate->hardfpu, in ieee_fpe_handler() 248 hx = tsk->thread.xstate->hardfpu.fp_regs[n]; in ieee_fpe_handler() 249 hy = tsk->thread.xstate->hardfpu.fp_regs[m]; in ieee_fpe_handler() 250 fpscr = tsk->thread.xstate->hardfpu.fpscr; in ieee_fpe_handler() 260 | tsk->thread.xstate->hardfpu.fp_regs[n + 1]; in ieee_fpe_handler() 262 | tsk->thread.xstate->hardfpu.fp_regs[m + 1]; in ieee_fpe_handler() 264 tsk->thread.xstate->hardfpu.fp_regs[n] = llx >> 32; in ieee_fpe_handler() [all …]
|
/linux/arch/mips/kernel/ |
H A D | asm-offsets.c | 116 OFFSET(THREAD_REG16, task_struct, thread.reg16); in output_thread_defines() 117 OFFSET(THREAD_REG17, task_struct, thread.reg17); in output_thread_defines() 118 OFFSET(THREAD_REG18, task_struct, thread.reg18); in output_thread_defines() 119 OFFSET(THREAD_REG19, task_struct, thread.reg19); in output_thread_defines() 120 OFFSET(THREAD_REG20, task_struct, thread.reg20); in output_thread_defines() 121 OFFSET(THREAD_REG21, task_struct, thread.reg21); in output_thread_defines() 122 OFFSET(THREAD_REG22, task_struct, thread.reg22); in output_thread_defines() 123 OFFSET(THREAD_REG23, task_struct, thread.reg23); in output_thread_defines() 124 OFFSET(THREAD_REG29, task_struct, thread.reg29); in output_thread_defines() 125 OFFSET(THREAD_REG30, task_struct, thread.reg30); in output_thread_defines() [all …]
|
/linux/arch/s390/include/asm/ |
H A D | fpu.h | 165 struct thread_struct *thread = ¤t->thread; in load_user_fpu_regs() local 167 if (!thread->ufpu_flags) in load_user_fpu_regs() 169 load_fpu_state(&thread->ufpu, thread->ufpu_flags); in load_user_fpu_regs() 170 thread->ufpu_flags = 0; in load_user_fpu_regs() 173 static __always_inline void __save_user_fpu_regs(struct thread_struct *thread, int flags) in __save_user_fpu_regs() argument 175 save_fpu_state(&thread->ufpu, flags); in __save_user_fpu_regs() 176 __atomic_or(flags, &thread->ufpu_flags); in __save_user_fpu_regs() 181 struct thread_struct *thread = ¤t->thread; in save_user_fpu_regs() local 184 mask = __atomic_or(KERNEL_FPC | KERNEL_VXR, &thread->kfpu_flags); in save_user_fpu_regs() 185 flags = ~READ_ONCE(thread->ufpu_flags) & (KERNEL_FPC | KERNEL_VXR); in save_user_fpu_regs() [all …]
|