Lines Matching full:frame
243 static void save_user_regs(CPUPPCState *env, struct target_mcontext *frame) in save_user_regs() argument
255 __put_user(env->gpr[i], &frame->mc_gregs[i]); in save_user_regs()
257 __put_user(env->nip, &frame->mc_gregs[TARGET_PT_NIP]); in save_user_regs()
258 __put_user(env->ctr, &frame->mc_gregs[TARGET_PT_CTR]); in save_user_regs()
259 __put_user(env->lr, &frame->mc_gregs[TARGET_PT_LNK]); in save_user_regs()
260 __put_user(cpu_read_xer(env), &frame->mc_gregs[TARGET_PT_XER]); in save_user_regs()
263 __put_user(ccr, &frame->mc_gregs[TARGET_PT_CCR]); in save_user_regs()
270 ppc_avr_t *vreg = (ppc_avr_t *)&frame->mc_vregs.altivec[i]; in save_user_regs()
276 vrsave = (uint32_t *)&frame->mc_vregs.altivec[33]; in save_user_regs()
277 /* 64-bit needs to put a pointer to the vectors in the frame */ in save_user_regs()
278 __put_user(h2g(frame->mc_vregs.altivec), &frame->v_regs); in save_user_regs()
280 vrsave = (uint32_t *)&frame->mc_vregs.altivec[32]; in save_user_regs()
288 uint64_t *vsregs = (uint64_t *)&frame->mc_vregs.altivec[34]; in save_user_regs()
300 __put_user(*fpr, &frame->mc_fregs[i]); in save_user_regs()
302 __put_user((uint64_t) env->fpscr, &frame->mc_fregs[32]); in save_user_regs()
309 __put_user(env->gprh[i], &frame->mc_vregs.spe[i]); in save_user_regs()
311 __put_user(env->spe_fscr, &frame->mc_vregs.spe[32]); in save_user_regs()
316 __put_user(msr, &frame->mc_gregs[TARGET_PT_MSR]); in save_user_regs()
327 struct target_mcontext *frame, int sig) in restore_user_regs() argument
342 __get_user(env->gpr[i], &frame->mc_gregs[i]); in restore_user_regs()
344 __get_user(env->nip, &frame->mc_gregs[TARGET_PT_NIP]); in restore_user_regs()
345 __get_user(env->ctr, &frame->mc_gregs[TARGET_PT_CTR]); in restore_user_regs()
346 __get_user(env->lr, &frame->mc_gregs[TARGET_PT_LNK]); in restore_user_regs()
348 __get_user(xer, &frame->mc_gregs[TARGET_PT_XER]); in restore_user_regs()
351 __get_user(ccr, &frame->mc_gregs[TARGET_PT_CCR]); in restore_user_regs()
357 __get_user(msr, &frame->mc_gregs[TARGET_PT_MSR]); in restore_user_regs()
371 /* 64-bit needs to recover the pointer to the vectors from the frame */ in restore_user_regs()
372 __get_user(v_addr, &frame->v_regs); in restore_user_regs()
375 v_regs = (ppc_avr_t *)frame->mc_vregs.altivec; in restore_user_regs()
395 uint64_t *vsregs = (uint64_t *)&frame->mc_vregs.altivec[34]; in restore_user_regs()
408 __get_user(*fpr, &frame->mc_fregs[i]); in restore_user_regs()
410 __get_user(fpscr, &frame->mc_fregs[32]); in restore_user_regs()
418 __get_user(env->gprh[i], &frame->mc_vregs.spe[i]); in restore_user_regs()
420 __get_user(env->spe_fscr, &frame->mc_vregs.spe[32]); in restore_user_regs()
429 struct target_sigframe *frame; in setup_frame() local
434 frame_addr = get_sigframe(ka, env, sizeof(*frame)); in setup_frame()
436 if (!lock_user_struct(VERIFY_WRITE, frame, frame_addr, 1)) in setup_frame()
438 sc = &frame->sctx; in setup_frame()
443 __put_user(h2g(&frame->mctx), &sc->regs); in setup_frame()
447 save_user_regs(env, &frame->mctx); in setup_frame()
454 /* Create a stack frame for the caller of the handler. */ in setup_frame()
471 unlock_user_struct(frame, frame_addr, 1); in setup_frame()
475 unlock_user_struct(frame, frame_addr, 1); in setup_frame()
527 /* Create a stack frame for the caller of the handler. */ in setup_rt_frame()