1*7b99ed4eSChristophe Leroy /* SPDX-License-Identifier: GPL-2.0-or-later */ 2*7b99ed4eSChristophe Leroy 3*7b99ed4eSChristophe Leroy /* ptrace-(no)vsx */ 4*7b99ed4eSChristophe Leroy 5*7b99ed4eSChristophe Leroy int fpr_get(struct task_struct *target, const struct user_regset *regset, 6*7b99ed4eSChristophe Leroy unsigned int pos, unsigned int count, void *kbuf, void __user *ubuf); 7*7b99ed4eSChristophe Leroy int fpr_set(struct task_struct *target, const struct user_regset *regset, 8*7b99ed4eSChristophe Leroy unsigned int pos, unsigned int count, 9*7b99ed4eSChristophe Leroy const void *kbuf, const void __user *ubuf); 10*7b99ed4eSChristophe Leroy 11*7b99ed4eSChristophe Leroy /* ptrace-vsx */ 12*7b99ed4eSChristophe Leroy 13*7b99ed4eSChristophe Leroy int vsr_active(struct task_struct *target, const struct user_regset *regset); 14*7b99ed4eSChristophe Leroy int vsr_get(struct task_struct *target, const struct user_regset *regset, 15*7b99ed4eSChristophe Leroy unsigned int pos, unsigned int count, void *kbuf, void __user *ubuf); 16*7b99ed4eSChristophe Leroy int vsr_set(struct task_struct *target, const struct user_regset *regset, 17*7b99ed4eSChristophe Leroy unsigned int pos, unsigned int count, 18*7b99ed4eSChristophe Leroy const void *kbuf, const void __user *ubuf); 19*7b99ed4eSChristophe Leroy 20*7b99ed4eSChristophe Leroy /* ptrace */ 21*7b99ed4eSChristophe Leroy 22*7b99ed4eSChristophe Leroy #ifdef CONFIG_PPC_TRANSACTIONAL_MEM 23*7b99ed4eSChristophe Leroy void flush_tmregs_to_thread(struct task_struct *tsk); 24*7b99ed4eSChristophe Leroy #else 25*7b99ed4eSChristophe Leroy static inline void flush_tmregs_to_thread(struct task_struct *tsk) { } 26*7b99ed4eSChristophe Leroy #endif 27