Lines Matching refs:sc
39 static int (*save_fp_context32)(struct sigcontext32 __user *sc);
40 static int (*restore_fp_context32)(struct sigcontext32 __user *sc);
42 extern asmlinkage int _save_fp_context32(struct sigcontext32 __user *sc);
43 extern asmlinkage int _restore_fp_context32(struct sigcontext32 __user *sc);
81 static int copy_fp_to_sigcontext32(struct sigcontext32 __user *sc) in copy_fp_to_sigcontext32() argument
90 &sc->sc_fpregs[i]); in copy_fp_to_sigcontext32()
92 err |= __put_user(current->thread.fpu.fcr31, &sc->sc_fpc_csr); in copy_fp_to_sigcontext32()
97 static int copy_fp_from_sigcontext32(struct sigcontext32 __user *sc) in copy_fp_from_sigcontext32() argument
105 err |= __get_user(fpr_val, &sc->sc_fpregs[i]); in copy_fp_from_sigcontext32()
108 err |= __get_user(current->thread.fpu.fcr31, &sc->sc_fpc_csr); in copy_fp_from_sigcontext32()
116 static int protected_save_fp_context32(struct sigcontext32 __user *sc) in protected_save_fp_context32() argument
122 err = save_fp_context32(sc); in protected_save_fp_context32()
126 err = copy_fp_to_sigcontext32(sc); in protected_save_fp_context32()
131 err = __put_user(0, &sc->sc_fpregs[0]) | in protected_save_fp_context32()
132 __put_user(0, &sc->sc_fpregs[31]) | in protected_save_fp_context32()
133 __put_user(0, &sc->sc_fpc_csr); in protected_save_fp_context32()
140 static int protected_restore_fp_context32(struct sigcontext32 __user *sc) in protected_restore_fp_context32() argument
146 err = restore_fp_context32(sc); in protected_restore_fp_context32()
150 err = copy_fp_from_sigcontext32(sc); in protected_restore_fp_context32()
155 err = __get_user(tmp, &sc->sc_fpregs[0]) | in protected_restore_fp_context32()
156 __get_user(tmp, &sc->sc_fpregs[31]) | in protected_restore_fp_context32()
157 __get_user(tmp, &sc->sc_fpc_csr); in protected_restore_fp_context32()
165 struct sigcontext32 __user *sc) in setup_sigcontext32() argument
171 err |= __put_user(regs->cp0_epc, &sc->sc_pc); in setup_sigcontext32()
173 err |= __put_user(0, &sc->sc_regs[0]); in setup_sigcontext32()
175 err |= __put_user(regs->regs[i], &sc->sc_regs[i]); in setup_sigcontext32()
177 err |= __put_user(regs->hi, &sc->sc_mdhi); in setup_sigcontext32()
178 err |= __put_user(regs->lo, &sc->sc_mdlo); in setup_sigcontext32()
180 err |= __put_user(rddsp(DSP_MASK), &sc->sc_dsp); in setup_sigcontext32()
181 err |= __put_user(mfhi1(), &sc->sc_hi1); in setup_sigcontext32()
182 err |= __put_user(mflo1(), &sc->sc_lo1); in setup_sigcontext32()
183 err |= __put_user(mfhi2(), &sc->sc_hi2); in setup_sigcontext32()
184 err |= __put_user(mflo2(), &sc->sc_lo2); in setup_sigcontext32()
185 err |= __put_user(mfhi3(), &sc->sc_hi3); in setup_sigcontext32()
186 err |= __put_user(mflo3(), &sc->sc_lo3); in setup_sigcontext32()
190 err |= __put_user(used_math, &sc->sc_used_math); in setup_sigcontext32()
197 err |= protected_save_fp_context32(sc); in setup_sigcontext32()
203 check_and_restore_fp_context32(struct sigcontext32 __user *sc) in check_and_restore_fp_context32() argument
207 err = sig = fpcsr_pending(&sc->sc_fpc_csr); in check_and_restore_fp_context32()
210 err |= protected_restore_fp_context32(sc); in check_and_restore_fp_context32()
215 struct sigcontext32 __user *sc) in restore_sigcontext32() argument
225 err |= __get_user(regs->cp0_epc, &sc->sc_pc); in restore_sigcontext32()
226 err |= __get_user(regs->hi, &sc->sc_mdhi); in restore_sigcontext32()
227 err |= __get_user(regs->lo, &sc->sc_mdlo); in restore_sigcontext32()
229 err |= __get_user(treg, &sc->sc_hi1); mthi1(treg); in restore_sigcontext32()
230 err |= __get_user(treg, &sc->sc_lo1); mtlo1(treg); in restore_sigcontext32()
231 err |= __get_user(treg, &sc->sc_hi2); mthi2(treg); in restore_sigcontext32()
232 err |= __get_user(treg, &sc->sc_lo2); mtlo2(treg); in restore_sigcontext32()
233 err |= __get_user(treg, &sc->sc_hi3); mthi3(treg); in restore_sigcontext32()
234 err |= __get_user(treg, &sc->sc_lo3); mtlo3(treg); in restore_sigcontext32()
235 err |= __get_user(treg, &sc->sc_dsp); wrdsp(treg, DSP_MASK); in restore_sigcontext32()
239 err |= __get_user(regs->regs[i], &sc->sc_regs[i]); in restore_sigcontext32()
241 err |= __get_user(used_math, &sc->sc_used_math); in restore_sigcontext32()
247 err = check_and_restore_fp_context32(sc); in restore_sigcontext32()