/kernel/linux/linux-5.10/arch/powerpc/kernel/ptrace/ |
H A D | ptrace-tm.c | 34 return task->thread.ckpt_regs.msr | task->thread.fpexc_mode; in get_user_ckpt_msr() 39 task->thread.ckpt_regs.msr &= ~MSR_DEBUGCHANGE; in set_user_ckpt_msr() 40 task->thread.ckpt_regs.msr |= msr & MSR_DEBUGCHANGE; in set_user_ckpt_msr() 46 set_trap(&task->thread.ckpt_regs, trap); in set_user_ckpt_trap() 77 * When the transaction is active, 'ckpt_regs' holds all the checkpointed 83 * struct pt_regs ckpt_regs; 99 membuf_write(&to, &target->thread.ckpt_regs, in tm_cgpr_get() 106 membuf_write(&to, &target->thread.ckpt_regs.orig_gpr3, in tm_cgpr_get() 124 * When the transaction is active, 'ckpt_regs' holds the checkpointed 130 * struct pt_regs ckpt_regs; [all...] |
/kernel/linux/linux-6.6/arch/powerpc/kernel/ptrace/ |
H A D | ptrace-tm.c | 34 return task->thread.ckpt_regs.msr | task->thread.fpexc_mode; in get_user_ckpt_msr() 39 task->thread.ckpt_regs.msr &= ~MSR_DEBUGCHANGE; in set_user_ckpt_msr() 40 task->thread.ckpt_regs.msr |= msr & MSR_DEBUGCHANGE; in set_user_ckpt_msr() 46 set_trap(&task->thread.ckpt_regs, trap); in set_user_ckpt_trap() 77 * When the transaction is active, 'ckpt_regs' holds all the checkpointed 83 * struct pt_regs ckpt_regs; 104 membuf_write(&to, &target->thread.ckpt_regs, sizeof(struct user_pt_regs)); in tm_cgpr_get() 125 * When the transaction is active, 'ckpt_regs' holds the checkpointed 131 * struct pt_regs ckpt_regs; 152 &target->thread.ckpt_regs, in tm_cgpr_set() [all...] |
/kernel/linux/linux-5.10/arch/powerpc/kernel/ |
H A D | signal_64.c | 219 /* Restore checkpointed FP, VEC, and VSX bits from ckpt_regs as in setup_tm_sigcontexts() 223 msr |= tsk->thread.ckpt_regs.msr & (MSR_FP | MSR_VEC | MSR_VSX); in setup_tm_sigcontexts() 305 &tsk->thread.ckpt_regs, GP_REGS_SIZE); in setup_tm_sigcontexts() 439 err |= __copy_from_user(&tsk->thread.ckpt_regs, sc->gp_regs, in restore_tm_sigcontexts() 467 err |= __get_user(tsk->thread.ckpt_regs.ctr, in restore_tm_sigcontexts() 469 err |= __get_user(tsk->thread.ckpt_regs.link, in restore_tm_sigcontexts() 471 err |= __get_user(tsk->thread.ckpt_regs.xer, in restore_tm_sigcontexts() 473 err |= __get_user(tsk->thread.ckpt_regs.ccr, in restore_tm_sigcontexts()
|
H A D | signal.c | 367 ret = tsk->thread.ckpt_regs.gpr[1]; in get_tm_stackpointer()
|
H A D | process.c | 98 tsk->thread.ckpt_regs.msr = tsk->thread.regs->msr; in check_if_tm_restore_required() 946 * ckpt_regs.msr here as that's what tm_reclaim will use to in tm_reclaim_thread() 951 if ((thr->ckpt_regs.msr & MSR_FP) == 0) in tm_reclaim_thread() 954 if ((thr->ckpt_regs.msr & MSR_VEC) == 0) in tm_reclaim_thread() 971 * oldtask->thread.ckpt_regs. We tm_reclaim(oldproc); this saves the in tm_reclaim_task() 972 * checkpointed (tbegin) state in ckpt_regs, ckfp_state and in tm_reclaim_task() 1109 * it is here that ckpt_regs.msr and pt_regs.msr become the same in restore_tm_state() 1117 msr_diff = current->thread.ckpt_regs.msr & ~regs->msr; in restore_tm_state()
|
H A D | signal_32.c | 353 if (save_general_regs(¤t->thread.ckpt_regs, frame) in save_tm_user_regs() 605 err |= restore_general_regs(¤t->thread.ckpt_regs, sr); in restore_tm_user_regs()
|
H A D | asm-offsets.c | 180 OFFSET(PT_CKPT_REGS, thread_struct, ckpt_regs); in main()
|
/kernel/linux/linux-6.6/arch/powerpc/kernel/ |
H A D | signal_64.c | 233 /* Restore checkpointed FP, VEC, and VSX bits from ckpt_regs as in setup_tm_sigcontexts() 237 msr |= tsk->thread.ckpt_regs.msr & (MSR_FP | MSR_VEC | MSR_VSX); in setup_tm_sigcontexts() 318 &tsk->thread.ckpt_regs, GP_REGS_SIZE); in setup_tm_sigcontexts() 458 err |= __copy_from_user(&tsk->thread.ckpt_regs, sc->gp_regs, in restore_tm_sigcontexts() 486 err |= __get_user(tsk->thread.ckpt_regs.ctr, in restore_tm_sigcontexts() 488 err |= __get_user(tsk->thread.ckpt_regs.link, in restore_tm_sigcontexts() 490 err |= __get_user(tsk->thread.ckpt_regs.xer, in restore_tm_sigcontexts() 492 err |= __get_user(tsk->thread.ckpt_regs.ccr, in restore_tm_sigcontexts()
|
H A D | signal.c | 348 ret = tsk->thread.ckpt_regs.gpr[1]; in get_tm_stackpointer()
|
H A D | process.c | 96 regs_set_return_msr(&tsk->thread.ckpt_regs, in check_if_tm_restore_required() 964 * ckpt_regs.msr here as that's what tm_reclaim will use to in tm_reclaim_thread() 969 if ((thr->ckpt_regs.msr & MSR_FP) == 0) in tm_reclaim_thread() 972 if ((thr->ckpt_regs.msr & MSR_VEC) == 0) in tm_reclaim_thread() 989 * oldtask->thread.ckpt_regs. We tm_reclaim(oldproc); this saves the in tm_reclaim_task() 990 * checkpointed (tbegin) state in ckpt_regs, ckfp_state and in tm_reclaim_task() 1127 * it is here that ckpt_regs.msr and pt_regs.msr become the same in restore_tm_state() 1135 msr_diff = current->thread.ckpt_regs.msr & ~regs->msr; in restore_tm_state()
|
H A D | signal_32.c | 373 unsafe_save_general_regs(¤t->thread.ckpt_regs, frame, failed); in save_tm_user_regs_unsafe() 591 unsafe_restore_general_regs(¤t->thread.ckpt_regs, sr, failed); in restore_tm_user_regs()
|
H A D | asm-offsets.c | 166 OFFSET(PT_CKPT_REGS, thread_struct, ckpt_regs); in main()
|
/kernel/linux/linux-5.10/arch/powerpc/include/asm/ |
H A D | processor.h | 213 struct pt_regs ckpt_regs; /* Checkpointed registers */ member 224 * most recent set of/speculated GPRs with ckpt_regs being the older 227 * These are analogous to how ckpt_regs and pt_regs work
|
/kernel/linux/linux-6.6/arch/powerpc/include/asm/ |
H A D | processor.h | 206 struct pt_regs ckpt_regs; /* Checkpointed registers */ member 217 * most recent set of/speculated GPRs with ckpt_regs being the older 220 * These are analogous to how ckpt_regs and pt_regs work
|