Lines Matching +full:- +full:set

21 #include "user-internals.h"
22 #include "signal-common.h"
23 #include "linux-user/trace.h"
70 abi_ulong frame_addr, target_sigset_t *set) in setup_sigcontext() argument
74 __put_user(on_sig_stack(frame_addr), &sc->sc_onstack); in setup_sigcontext()
75 __put_user(set->sig[0], &sc->sc_mask); in setup_sigcontext()
76 __put_user(env->pc, &sc->sc_pc); in setup_sigcontext()
77 __put_user(8, &sc->sc_ps); in setup_sigcontext()
80 __put_user(env->ir[i], &sc->sc_regs[i]); in setup_sigcontext()
82 __put_user(0, &sc->sc_regs[31]); in setup_sigcontext()
85 __put_user(env->fir[i], &sc->sc_fpregs[i]); in setup_sigcontext()
87 __put_user(0, &sc->sc_fpregs[31]); in setup_sigcontext()
88 __put_user(cpu_alpha_load_fpcr(env), &sc->sc_fpcr); in setup_sigcontext()
90 __put_user(0, &sc->sc_traparg_a0); /* FIXME */ in setup_sigcontext()
91 __put_user(0, &sc->sc_traparg_a1); /* FIXME */ in setup_sigcontext()
92 __put_user(0, &sc->sc_traparg_a2); /* FIXME */ in setup_sigcontext()
101 __get_user(env->pc, &sc->sc_pc); in restore_sigcontext()
104 __get_user(env->ir[i], &sc->sc_regs[i]); in restore_sigcontext()
107 __get_user(env->fir[i], &sc->sc_fpregs[i]); in restore_sigcontext()
110 __get_user(fpcr, &sc->sc_fpcr); in restore_sigcontext()
122 return (sp - framesize) & -32; in get_sigframe()
126 target_sigset_t *set, CPUAlphaState *env) in setup_frame() argument
138 setup_sigcontext(&frame->sc, env, frame_addr, set); in setup_frame()
140 if (ka->ka_restorer) { in setup_frame()
141 r26 = ka->ka_restorer; in setup_frame()
154 env->ir[IR_RA] = r26; in setup_frame()
155 env->ir[IR_PV] = env->pc = ka->_sa_handler; in setup_frame()
156 env->ir[IR_A0] = sig; in setup_frame()
157 env->ir[IR_A1] = 0; in setup_frame()
158 env->ir[IR_A2] = frame_addr + offsetof(struct target_sigframe, sc); in setup_frame()
159 env->ir[IR_SP] = frame_addr; in setup_frame()
164 target_sigset_t *set, CPUAlphaState *env) in setup_rt_frame() argument
176 frame->info = *info; in setup_rt_frame()
178 __put_user(0, &frame->uc.tuc_flags); in setup_rt_frame()
179 __put_user(0, &frame->uc.tuc_link); in setup_rt_frame()
180 __put_user(set->sig[0], &frame->uc.tuc_osf_sigmask); in setup_rt_frame()
182 target_save_altstack(&frame->uc.tuc_stack, env); in setup_rt_frame()
184 setup_sigcontext(&frame->uc.tuc_mcontext, env, frame_addr, set); in setup_rt_frame()
186 __put_user(set->sig[i], &frame->uc.tuc_sigmask.sig[i]); in setup_rt_frame()
189 if (ka->ka_restorer) { in setup_rt_frame()
190 r26 = ka->ka_restorer; in setup_rt_frame()
201 env->ir[IR_RA] = r26; in setup_rt_frame()
202 env->ir[IR_PV] = env->pc = ka->_sa_handler; in setup_rt_frame()
203 env->ir[IR_A0] = sig; in setup_rt_frame()
204 env->ir[IR_A1] = frame_addr + offsetof(struct target_rt_sigframe, info); in setup_rt_frame()
205 env->ir[IR_A2] = frame_addr + offsetof(struct target_rt_sigframe, uc); in setup_rt_frame()
206 env->ir[IR_SP] = frame_addr; in setup_rt_frame()
212 abi_ulong sc_addr = env->ir[IR_A0]; in do_sigreturn()
214 sigset_t set; in do_sigreturn() local
221 __get_user(target_set.sig[0], &sc->sc_mask); in do_sigreturn()
223 target_to_host_sigset_internal(&set, &target_set); in do_sigreturn()
224 set_sigmask(&set); in do_sigreturn()
228 return -QEMU_ESIGRETURN; in do_sigreturn()
232 return -QEMU_ESIGRETURN; in do_sigreturn()
237 abi_ulong frame_addr = env->ir[IR_A0]; in do_rt_sigreturn()
239 sigset_t set; in do_rt_sigreturn() local
245 target_to_host_sigset(&set, &frame->uc.tuc_sigmask); in do_rt_sigreturn()
246 set_sigmask(&set); in do_rt_sigreturn()
248 restore_sigcontext(env, &frame->uc.tuc_mcontext); in do_rt_sigreturn()
249 target_restore_altstack(&frame->uc.tuc_stack, env); in do_rt_sigreturn()
252 return -QEMU_ESIGRETURN; in do_rt_sigreturn()
258 return -QEMU_ESIGRETURN; in do_rt_sigreturn()