Home
last modified time | relevance | path

Searched refs:fcsr (Results 1 – 20 of 20) sorted by relevance

/linux/arch/loongarch/kernel/
H A Dsignal.c85 uint32_t __user *fcsr = &ctx->fcsr; in copy_fpu_to_sigcontext() local
93 err |= __put_user(current->thread.fpu.fcsr, fcsr); in copy_fpu_to_sigcontext()
105 uint32_t __user *fcsr = &ctx->fcsr; in copy_fpu_from_sigcontext() local
112 err |= __get_user(current->thread.fpu.fcsr, fcsr); in copy_fpu_from_sigcontext()
123 uint32_t __user *fcsr = &ctx->fcsr; in copy_lsx_to_sigcontext() local
132 err |= __put_user(current->thread.fpu.fcsr, fcsr); in copy_lsx_to_sigcontext()
144 uint32_t __user *fcsr = &ctx->fcsr; in copy_lsx_from_sigcontext() local
153 err |= __get_user(current->thread.fpu.fcsr, fcsr); in copy_lsx_from_sigcontext()
164 uint32_t __user *fcsr = &ctx->fcsr; in copy_lasx_to_sigcontext() local
177 err |= __put_user(current->thread.fpu.fcsr, fcsr); in copy_lasx_to_sigcontext()
[all …]
H A Dtraps.c462 static void force_fcsr_sig(unsigned long fcsr, in force_fcsr_sig() argument
467 if (fcsr & FPU_CSR_INV_X) in force_fcsr_sig()
469 else if (fcsr & FPU_CSR_DIV_X) in force_fcsr_sig()
471 else if (fcsr & FPU_CSR_OVF_X) in force_fcsr_sig()
473 else if (fcsr & FPU_CSR_UDF_X) in force_fcsr_sig()
475 else if (fcsr & FPU_CSR_INE_X) in force_fcsr_sig()
481 static int process_fpemu_return(int sig, void __user *fault_addr, unsigned long fcsr) in process_fpemu_return() argument
490 force_fcsr_sig(fcsr, fault_addr, current); in process_fpemu_return()
516 asmlinkage void noinstr do_fpe(struct pt_regs *regs, unsigned long fcsr) in do_fpe() argument
527 write_fcsr(LOONGARCH_FCSR0, fcsr & ~mask_fcsr_x(fcsr)); in do_fpe()
[all …]
H A Dcpu-probe.c33 unsigned long sr, mask, fcsr, fcsr0, fcsr1; in cpu_set_fpu_fcsr_mask() local
35 fcsr = c->fpu_csr0; in cpu_set_fpu_fcsr_mask()
41 fcsr0 = fcsr & mask; in cpu_set_fpu_fcsr_mask()
45 fcsr1 = fcsr | ~mask; in cpu_set_fpu_fcsr_mask()
49 write_fcsr(LOONGARCH_FCSR0, fcsr); in cpu_set_fpu_fcsr_mask()
H A Dprocess.c95 current->thread.fpu.fcsr = boot_cpu_data.fpu_csr0; in start_thread()
141 dst->thread.fpu.fcsr = src->thread.fpu.fcsr; in arch_dup_task_struct()
H A Dgenex.S97 BUILD_HANDLER fpe fpe fcsr
H A Dasm-offsets.c170 OFFSET(THREAD_FCSR, loongarch_fpu, fcsr); in output_thread_fpu_defines()
292 OFFSET(VCPU_FCSR0, kvm_vcpu_arch, fpu.fcsr); in output_kvm_defines()
H A Dkgdb.c135 memcpy(mem, (void *)&current->thread.fpu.fcsr, reg_size); in dbg_get_reg()
176 memcpy((void *)&current->thread.fpu.fcsr, mem, reg_size); in dbg_set_reg()
H A Dptrace.c159 r = membuf_write(&to, &target->thread.fpu.fcsr, sizeof(target->thread.fpu.fcsr)); in fpr_get()
223 &target->thread.fpu.fcsr, fcsr_start, in fpr_set()
/linux/arch/mips/kernel/
H A Dfpu-probe.c51 unsigned long sr, mask, fcsr, fcsr0, fcsr1; in cpu_set_fpu_fcsr_mask() local
53 fcsr = c->fpu_csr31; in cpu_set_fpu_fcsr_mask()
59 fcsr0 = fcsr & mask; in cpu_set_fpu_fcsr_mask()
63 fcsr1 = fcsr | ~mask; in cpu_set_fpu_fcsr_mask()
67 write_32bit_cp1_register(CP1_STATUS, fcsr); in cpu_set_fpu_fcsr_mask()
84 unsigned long sr, fir, fcsr, fcsr0, fcsr1; in cpu_set_fpu_2008() local
91 fcsr = read_32bit_cp1_register(CP1_STATUS); in cpu_set_fpu_2008()
98 fcsr0 = fcsr & ~(FPU_CSR_ABS2008 | FPU_CSR_NAN2008 | in cpu_set_fpu_2008()
103 fcsr1 = fcsr | FPU_CSR_ABS2008 | FPU_CSR_NAN2008; in cpu_set_fpu_2008()
107 write_32bit_cp1_register(CP1_STATUS, fcsr); in cpu_set_fpu_2008()
[all …]
/linux/arch/loongarch/include/asm/
H A Dfpu.h39 asmlinkage int _save_lsx_context(void __user *fpregs, void __user *fcc, void __user *fcsr);
40 asmlinkage int _restore_lsx_context(void __user *fpregs, void __user *fcc, void __user *fcsr);
46 asmlinkage int _save_lasx_context(void __user *fpregs, void __user *fcc, void __user *fcsr);
47 asmlinkage int _restore_lasx_context(void __user *fpregs, void __user *fcc, void __user *fcsr);
63 static inline unsigned long mask_fcsr_x(unsigned long fcsr) in mask_fcsr_x() argument
65 return fcsr & ((fcsr & FPU_CSR_ALL_E) << in mask_fcsr_x()
165 unsigned int fcsr = current->thread.fpu.fcsr; in init_fpu() local
168 _init_fpu(fcsr); in init_fpu()
H A Dprocessor.h85 uint32_t fcsr; member
181 .fcsr = 0, \
H A Dexception.h20 asmlinkage void noinstr do_fpe(struct pt_regs *regs, unsigned long fcsr);
/linux/arch/riscv/kvm/
H A Dvcpu_fp.c95 if (reg_num == KVM_REG_RISCV_FP_F_REG(fcsr)) in kvm_riscv_vcpu_get_reg_fp()
96 reg_val = &cntx->fp.f.fcsr; in kvm_riscv_vcpu_get_reg_fp()
106 if (reg_num == KVM_REG_RISCV_FP_D_REG(fcsr)) { in kvm_riscv_vcpu_get_reg_fp()
109 reg_val = &cntx->fp.d.fcsr; in kvm_riscv_vcpu_get_reg_fp()
144 if (reg_num == KVM_REG_RISCV_FP_F_REG(fcsr)) in kvm_riscv_vcpu_set_reg_fp()
145 reg_val = &cntx->fp.f.fcsr; in kvm_riscv_vcpu_set_reg_fp()
155 if (reg_num == KVM_REG_RISCV_FP_D_REG(fcsr)) { in kvm_riscv_vcpu_set_reg_fp()
158 reg_val = &cntx->fp.d.fcsr; in kvm_riscv_vcpu_set_reg_fp()
/linux/arch/loongarch/include/uapi/asm/
H A Dsigcontext.h40 __u32 fcsr; member
49 __u32 fcsr; member
58 __u32 fcsr; member
H A Dptrace.h42 __u32 fcsr; member
/linux/arch/riscv/include/uapi/asm/
H A Dptrace.h62 __u32 fcsr; member
67 __u32 fcsr; member
72 __u32 fcsr; member
/linux/arch/riscv/kernel/
H A Dasm-offsets.c90 OFFSET(TASK_THREAD_FCSR, task_struct, thread.fstate.fcsr); in asm_offsets()
256 OFFSET(KVM_ARCH_FP_F_FCSR, kvm_cpu_context, fp.f.fcsr); in asm_offsets()
292 OFFSET(KVM_ARCH_FP_D_FCSR, kvm_cpu_context, fp.d.fcsr); in asm_offsets()
489 offsetof(struct task_struct, thread.fstate.fcsr) in asm_offsets()
H A Dhead.S430 csrw fcsr, 0
/linux/tools/testing/selftests/kvm/riscv/
H A Dget-reg-list.c481 case KVM_REG_RISCV_FP_F_REG(fcsr): in vector_id_to_str()
482 return "KVM_REG_RISCV_FP_F_REG(fcsr)"; in vector_id_to_str()
499 case KVM_REG_RISCV_FP_D_REG(fcsr): in vector_id_to_str()
500 return "KVM_REG_RISCV_FP_D_REG(fcsr)"; in vector_id_to_str()
1011 KVM_REG_RISCV | KVM_REG_SIZE_U32 | KVM_REG_RISCV_FP_F | KVM_REG_RISCV_FP_F_REG(fcsr),
1048 KVM_REG_RISCV | KVM_REG_SIZE_U32 | KVM_REG_RISCV_FP_D | KVM_REG_RISCV_FP_D_REG(fcsr),
/linux/Documentation/virt/kvm/
H A Dapi.rst801 __u32 fcsr;
839 __u32 fcsr;
2884 0x8020 0000 0500 0020 fcsr Floating point control and status register
2890 0x8020 0000 06 <index into the __riscv_d_ext_state struct:24> (fcsr)
2891 0x8030 0000 06 <index into the __riscv_d_ext_state struct:24> (non-fcsr)
2901 0x8020 0000 0600 0020 fcsr Floating point control and status register