/openbmc/qemu/linux-user/s390x/ |
H A D | signal.c | 96 get_sigframe(struct target_sigaction *ka, CPUS390XState *env, size_t frame_size) in get_sigframe() argument 104 if (ka->sa_flags & TARGET_SA_ONSTACK) { in get_sigframe() 105 sp = target_sigsp(sp, ka); in get_sigframe() 110 !(ka->sa_flags & TARGET_SA_RESTORER) && in get_sigframe() 111 ka->sa_restorer) { in get_sigframe() 112 sp = (abi_ulong) ka->sa_restorer; in get_sigframe() 172 void setup_frame(int sig, struct target_sigaction *ka, in setup_frame() argument 179 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_frame() 212 if (ka->sa_flags & TARGET_SA_RESTORER) { in setup_frame() 213 restorer = ka->sa_restorer; in setup_frame() [all …]
|
/openbmc/linux/arch/x86/kernel/ |
H A D | signal.c | 48 ksig->ka.sa.sa_flags & SA_IA32_ABI; in is_ia32_compat_frame() 59 ksig->ka.sa.sa_flags & SA_X32_ABI; in is_x32_frame() 78 struct k_sigaction *ka = &ksig->ka; in get_sigframe() local 93 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe() 106 !(ka->sa.sa_flags & SA_RESTORER) && in get_sigframe() 107 ka->sa.sa_restorer) { in get_sigframe() 109 sp = (unsigned long) ka->sa.sa_restorer; in get_sigframe() 216 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in setup_rt_frame() 246 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal()
|
/openbmc/linux/arch/mips/include/asm/ |
H A D | signal.h | 17 #define sig_uses_siginfo(ka, abi) \ argument 19 ((ka)->sa.sa_flags & SA_SIGINFO)) 21 #define sig_uses_siginfo(ka, abi) \ argument 24 ((ka)->sa.sa_flags & SA_SIGINFO) : 1) )
|
/openbmc/qemu/linux-user/sh4/ |
H A D | signal.c | 76 static abi_ulong get_sigframe(struct target_sigaction *ka, in get_sigframe() argument 79 sp = target_sigsp(sp, ka); in get_sigframe() 175 void setup_frame(int sig, struct target_sigaction *ka, in setup_frame() argument 184 frame_addr = get_sigframe(ka, regs->gregs[15], sizeof(*frame)); in setup_frame() 198 if (ka->sa_flags & TARGET_SA_RESTORER) { in setup_frame() 199 regs->pr = ka->sa_restorer; in setup_frame() 209 regs->pc = (unsigned long) ka->_sa_handler; in setup_frame() 220 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 230 frame_addr = get_sigframe(ka, regs->gregs[15], sizeof(*frame)); in setup_rt_frame() 250 if (ka->sa_flags & TARGET_SA_RESTORER) { in setup_rt_frame() [all …]
|
/openbmc/linux/arch/s390/kernel/ |
H A D | signal.c | 268 get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) in get_sigframe() argument 280 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe() 288 static int setup_frame(int sig, struct k_sigaction *ka, in setup_frame() argument 305 frame = get_sigframe(ka, regs, frame_size); in setup_frame() 336 if (ka->sa.sa_flags & SA_RESTORER) in setup_frame() 337 restorer = (unsigned long) ka->sa.sa_restorer; in setup_frame() 348 regs->psw.addr = (unsigned long) ka->sa.sa_handler; in setup_frame() 384 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_rt_frame() 394 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_rt_frame() 395 restorer = (unsigned long) ksig->ka.sa.sa_restorer; in setup_rt_frame() [all …]
|
H A D | compat_signal.c | 234 get_sigframe(struct k_sigaction *ka, struct pt_regs * regs, size_t frame_size) in get_sigframe() argument 246 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe() 271 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_frame32() 303 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame32() 305 ksig->ka.sa.sa_restorer | PSW32_ADDR_AMODE; in setup_frame32() 317 regs->psw.addr = (__force __u64) ksig->ka.sa.sa_handler; in setup_frame32() 356 frame = get_sigframe(&ksig->ka, regs, frame_size); in setup_rt_frame32() 366 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame32() 368 ksig->ka.sa.sa_restorer | PSW32_ADDR_AMODE; in setup_rt_frame32() 396 regs->psw.addr = (__u64 __force) ksig->ka.sa.sa_handler; in setup_rt_frame32() [all …]
|
/openbmc/qemu/linux-user/alpha/ |
H A D | signal.c | 125 void setup_frame(int sig, struct target_sigaction *ka, in setup_frame() argument 132 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_frame() 140 if (ka->ka_restorer) { in setup_frame() 141 r26 = ka->ka_restorer; in setup_frame() 155 env->ir[IR_PV] = env->pc = ka->_sa_handler; in setup_frame() 162 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 170 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_rt_frame() 189 if (ka->ka_restorer) { in setup_rt_frame() 190 r26 = ka->ka_restorer; in setup_rt_frame() 202 env->ir[IR_PV] = env->pc = ka->_sa_handler; in setup_rt_frame()
|
/openbmc/linux/arch/sh/kernel/ |
H A D | signal_32.c | 254 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument 256 if (ka->sa.sa_flags & SA_ONSTACK) { in get_sigframe() 275 frame = get_sigframe(&ksig->ka, regs->regs[15], sizeof(*frame)); in setup_frame() 288 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame() 289 regs->pr = (unsigned long) ksig->ka.sa.sa_restorer; in setup_frame() 319 (struct fdpic_func_descriptor __user *)ksig->ka.sa.sa_handler; in setup_frame() 324 regs->pc = (unsigned long)ksig->ka.sa.sa_handler; in setup_frame() 341 frame = get_sigframe(&ksig->ka, regs->regs[15], sizeof(*frame)); in setup_rt_frame() 358 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_rt_frame() 359 regs->pr = (unsigned long) ksig->ka.sa.sa_restorer; in setup_rt_frame() [all …]
|
/openbmc/qemu/linux-user/openrisc/ |
H A D | signal.c | 73 static inline abi_ulong get_sigframe(struct target_sigaction *ka, in get_sigframe() argument 84 sp = target_sigsp(sp, ka); in get_sigframe() 91 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 99 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_rt_frame() 105 if (ka->sa_flags & SA_SIGINFO) { in setup_rt_frame() 128 env->pc = ka->_sa_handler; in setup_rt_frame()
|
/openbmc/qemu/linux-user/arm/ |
H A D | signal.c | 159 get_sigframe(struct target_sigaction *ka, CPUARMState *regs, int framesize) in get_sigframe() argument 163 sp = target_sigsp(get_sp_from_cpustate(regs), ka); in get_sigframe() 174 setup_return(CPUARMState *env, struct target_sigaction *ka, int usig, in setup_return() argument 181 bool is_rt = ka->sa_flags & TARGET_SA_SIGINFO; in setup_return() 189 abi_ulong funcdesc_ptr = ka->_sa_handler; in setup_return() 195 handler = ka->_sa_handler; in setup_return() 232 if (ka->sa_flags & TARGET_SA_RESTORER) { in setup_return() 235 __put_user((abi_ulong)ka->sa_restorer, &frame->retcode[3]); in setup_return() 237 retcode = ka->sa_restorer; in setup_return() 321 void setup_frame(int usig, struct target_sigaction *ka, in setup_frame() argument [all …]
|
/openbmc/qemu/linux-user/xtensa/ |
H A D | signal.c | 154 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 168 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_rt_frame() 172 abi_ulong funcdesc_ptr = ka->_sa_handler; in setup_rt_frame() 179 handler = ka->_sa_handler; in setup_rt_frame() 186 if (ka->sa_flags & SA_SIGINFO) { in setup_rt_frame() 201 if (ka->sa_flags & TARGET_SA_RESTORER) { in setup_rt_frame() 203 if (get_user_ual(ra, ka->sa_restorer)) { in setup_rt_frame() 208 ra = ka->sa_restorer; in setup_rt_frame()
|
/openbmc/qemu/linux-user/riscv/ |
H A D | signal.c | 62 static abi_ulong get_sigframe(struct target_sigaction *ka, in get_sigframe() argument 74 sp = target_sigsp(sp, ka) - framesize; in get_sigframe() 113 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 120 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_rt_frame() 130 env->pc = ka->_sa_handler; in setup_rt_frame() 142 ka->_sa_handler = TARGET_SIG_DFL; in setup_rt_frame()
|
/openbmc/linux/include/trace/events/ |
H A D | signal.h | 98 TP_PROTO(int sig, struct kernel_siginfo *info, struct k_sigaction *ka), 100 TP_ARGS(sig, info, ka), 113 __entry->sa_handler = (unsigned long)ka->sa.sa_handler; 114 __entry->sa_flags = ka->sa.sa_flags;
|
/openbmc/qemu/linux-user/mips/ |
H A D | signal.c | 174 get_sigframe(struct target_sigaction *ka, CPUMIPSState *regs, size_t frame_size) in get_sigframe() argument 183 sp = target_sigsp(get_sp_from_cpustate(regs) - 32, ka); in get_sigframe() 199 void setup_frame(int sig, struct target_sigaction * ka, in setup_frame() argument 206 frame_addr = get_sigframe(ka, regs, sizeof(*frame)); in setup_frame() 236 regs->active_tc.PC = regs->active_tc.gpr[25] = ka->_sa_handler; in setup_frame() 292 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 300 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_rt_frame() 341 env->active_tc.PC = env->active_tc.gpr[25] = ka->_sa_handler; in setup_rt_frame()
|
/openbmc/qemu/linux-user/i386/ |
H A D | signal.c | 243 static abi_ptr get_sigframe(struct target_sigaction *ka, CPUX86State *env, in get_sigframe() argument 257 if (ka->sa_flags & TARGET_SA_ONSTACK) { in get_sigframe() 258 sp = target_sigsp(sp, ka); in get_sigframe() 263 && !(ka->sa_flags & TARGET_SA_RESTORER) in get_sigframe() 264 && ka->sa_restorer) { in get_sigframe() 265 sp = ka->sa_restorer; in get_sigframe() 442 void setup_frame(int sig, struct target_sigaction *ka, in setup_frame() argument 453 frame_addr = get_sigframe(ka, env, sizeof(struct sigframe), fpkind, in setup_frame() 480 if (ka->sa_flags & TARGET_SA_RESTORER) { in setup_frame() 481 __put_user(ka->sa_restorer, &frame->pretcode); in setup_frame() [all …]
|
/openbmc/qemu/linux-user/ppc/ |
H A D | signal.c | 223 static target_ulong get_sigframe(struct target_sigaction *ka, in get_sigframe() argument 229 oldsp = target_sigsp(get_sp_from_cpustate(env), ka); in get_sigframe() 426 void setup_frame(int sig, struct target_sigaction *ka, in setup_frame() argument 434 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_frame() 440 __put_user(ka->_sa_handler, &sc->handler); in setup_frame() 466 env->nip = (target_ulong) ka->_sa_handler; in setup_frame() 480 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 493 rt_sf_addr = get_sigframe(ka, env, sizeof(*rt_sf)); in setup_rt_frame() 545 (struct target_func_ptr *)g2h(env_cpu(env), ka->_sa_handler); in setup_rt_frame() 550 env->gpr[12] = env->nip = ka->_sa_handler; in setup_rt_frame() [all …]
|
/openbmc/qemu/linux-user/m68k/ |
H A D | signal.c | 115 get_sigframe(struct target_sigaction *ka, CPUM68KState *regs, in get_sigframe() argument 120 sp = target_sigsp(get_sp_from_cpustate(regs), ka); in get_sigframe() 126 void setup_frame(int sig, struct target_sigaction *ka, in setup_frame() argument 134 frame_addr = get_sigframe(ka, env, sizeof *frame); in setup_frame() 155 env->pc = ka->_sa_handler; in setup_frame() 273 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 284 frame_addr = get_sigframe(ka, env, sizeof *frame); in setup_rt_frame() 318 env->pc = ka->_sa_handler; in setup_rt_frame()
|
/openbmc/linux/arch/parisc/kernel/ |
H A D | signal.c | 161 get_sigframe(struct k_sigaction *ka, unsigned long sp, size_t frame_size) in get_sigframe() argument 167 __func__, (unsigned long)ka, sp, frame_size); in get_sigframe() 171 if ((ka->sa.sa_flags & SA_ONSTACK) != 0 && ! sas_ss_flags(sp)) in get_sigframe() 234 frame = get_sigframe(&ksig->ka, usp, sigframe_size); in setup_rt_frame() 284 haddr = A(ksig->ka.sa.sa_handler); in setup_rt_frame() 389 __func__, ksig->sig, &ksig->ka, &ksig->info, oldset, regs); in handle_signal() 451 syscall_restart(struct pt_regs *regs, struct k_sigaction *ka) in syscall_restart() argument 468 if (!(ka->sa.sa_flags & SA_RESTART)) { in syscall_restart() 563 syscall_restart(regs, &ksig.ka); in do_signal()
|
/openbmc/linux/arch/um/kernel/ |
H A D | signal.c | 69 if (!(ksig->ka.sa.sa_flags & SA_RESTART)) { in handle_signal() 82 if ((ksig->ka.sa.sa_flags & SA_ONSTACK) && (sas_ss_flags(sp) == 0)) in handle_signal() 86 if (!(ksig->ka.sa.sa_flags & SA_SIGINFO)) in handle_signal()
|
/openbmc/qemu/linux-user/aarch64/ |
H A D | signal.c | 512 static abi_ulong get_sigframe(struct target_sigaction *ka, in get_sigframe() argument 517 sp = target_sigsp(get_sp_from_cpustate(env), ka); in get_sigframe() 562 static void target_setup_frame(int usig, struct target_sigaction *ka, in target_setup_frame() argument 625 frame_addr = get_sigframe(ka, env, layout.total_size); in target_setup_frame() 653 if (ka->sa_flags & TARGET_SA_RESTORER) { in target_setup_frame() 654 return_addr = ka->sa_restorer; in target_setup_frame() 662 env->pc = ka->_sa_handler; in target_setup_frame() 686 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 690 target_setup_frame(sig, ka, info, set, env); in setup_rt_frame() 693 void setup_frame(int sig, struct target_sigaction *ka, in setup_frame() argument [all …]
|
/openbmc/linux/arch/x86/um/ |
H A D | signal.c | 375 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_sc() 376 restorer = ksig->ka.sa.sa_restorer; in setup_signal_stack_sc() 400 PT_REGS_IP(regs) = (unsigned long) ksig->ka.sa.sa_handler; in setup_signal_stack_sc() 420 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_si() 421 restorer = ksig->ka.sa.sa_restorer; in setup_signal_stack_si() 446 PT_REGS_IP(regs) = (unsigned long) ksig->ka.sa.sa_handler; in setup_signal_stack_si() 504 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_signal_stack_si() 533 if (ksig->ka.sa.sa_flags & SA_RESTORER) in setup_signal_stack_si() 534 err |= __put_user((void *)ksig->ka.sa.sa_restorer, in setup_signal_stack_si() 554 PT_REGS_IP(regs) = (unsigned long) ksig->ka.sa.sa_handler; in setup_signal_stack_si()
|
/openbmc/linux/arch/xtensa/kernel/ |
H A D | signal.c | 348 unsigned long handler = (unsigned long)ksig->ka.sa.sa_handler; in setup_frame() 364 if ((ksig->ka.sa.sa_flags & SA_ONSTACK) != 0 && sas_ss_flags(sp) == 0) { in setup_frame() 377 if (ksig->ka.sa.sa_flags & SA_SIGINFO) { in setup_frame() 389 if (ksig->ka.sa.sa_flags & SA_RESTORER) { in setup_frame() 392 (unsigned long __user *)ksig->ka.sa.sa_restorer; in setup_frame() 396 ra = (unsigned long)ksig->ka.sa.sa_restorer; in setup_frame() 475 if (!(ksig.ka.sa.sa_flags & SA_RESTART)) { in do_signal()
|
/openbmc/linux/arch/arc/kernel/ |
H A D | signal.c | 295 if (unlikely(ksig->ka.sa.sa_flags & SA_SIGINFO)) { in setup_rt_frame() 320 regs->ret = (unsigned long)ksig->ka.sa.sa_handler; in setup_rt_frame() 326 if(!(ksig->ka.sa.sa_flags & SA_RESTORER)) in setup_rt_frame() 329 regs->blink = (unsigned long)ksig->ka.sa.sa_restorer; in setup_rt_frame() 344 static void arc_restart_syscall(struct k_sigaction *ka, struct pt_regs *regs) in arc_restart_syscall() argument 364 if (!(ka->sa.sa_flags & SA_RESTART)) { in arc_restart_syscall() 411 arc_restart_syscall(&ksig.ka, regs); in do_signal()
|
/openbmc/qemu/linux-user/sparc/ |
H A D | signal.c | 253 void setup_frame(int sig, struct target_sigaction *ka, in setup_frame() argument 261 sf_addr = get_sigframe(ka, env, sf_size); in setup_frame() 295 env->pc = ka->_sa_handler; in setup_frame() 299 if (ka->ka_restorer) { in setup_frame() 300 env->regwptr[WREG_O7] = ka->ka_restorer; in setup_frame() 310 void setup_rt_frame(int sig, struct target_sigaction *ka, in setup_rt_frame() argument 318 sf_addr = get_sigframe(ka, env, sf_size); in setup_rt_frame() 357 env->pc = ka->_sa_handler; in setup_rt_frame() 362 if (ka->ka_restorer) { in setup_rt_frame() 363 env->regwptr[WREG_O7] = ka->ka_restorer; in setup_rt_frame() [all …]
|
/openbmc/linux/arch/sparc/kernel/ |
H A D | signal_32.c | 297 regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_frame() 301 if (ksig->ka.ka_restorer) in setup_frame() 302 regs->u_regs[UREG_I7] = (unsigned long)ksig->ka.ka_restorer; in setup_frame() 395 regs->pc = (unsigned long) ksig->ka.sa.sa_handler; in setup_rt_frame() 398 if (ksig->ka.ka_restorer) in setup_rt_frame() 399 regs->u_regs[UREG_I7] = (unsigned long)ksig->ka.ka_restorer; in setup_rt_frame() 423 if (ksig->ka.sa.sa_flags & SA_SIGINFO) in handle_signal() 496 syscall_restart(orig_i0, regs, &ksig.ka.sa); in do_signal()
|