17b99ed4eSChristophe Leroy /* SPDX-License-Identifier: GPL-2.0-or-later */ 27b99ed4eSChristophe Leroy 37b99ed4eSChristophe Leroy /* ptrace-(no)vsx */ 47b99ed4eSChristophe Leroy 57b99ed4eSChristophe Leroy int fpr_get(struct task_struct *target, const struct user_regset *regset, 67b99ed4eSChristophe Leroy unsigned int pos, unsigned int count, void *kbuf, void __user *ubuf); 77b99ed4eSChristophe Leroy int fpr_set(struct task_struct *target, const struct user_regset *regset, 87b99ed4eSChristophe Leroy unsigned int pos, unsigned int count, 97b99ed4eSChristophe Leroy const void *kbuf, const void __user *ubuf); 107b99ed4eSChristophe Leroy 117b99ed4eSChristophe Leroy /* ptrace-vsx */ 127b99ed4eSChristophe Leroy 137b99ed4eSChristophe Leroy int vsr_active(struct task_struct *target, const struct user_regset *regset); 147b99ed4eSChristophe Leroy int vsr_get(struct task_struct *target, const struct user_regset *regset, 157b99ed4eSChristophe Leroy unsigned int pos, unsigned int count, void *kbuf, void __user *ubuf); 167b99ed4eSChristophe Leroy int vsr_set(struct task_struct *target, const struct user_regset *regset, 177b99ed4eSChristophe Leroy unsigned int pos, unsigned int count, 187b99ed4eSChristophe Leroy const void *kbuf, const void __user *ubuf); 197b99ed4eSChristophe Leroy 20*1b20773bSChristophe Leroy /* ptrace-altivec */ 21*1b20773bSChristophe Leroy 22*1b20773bSChristophe Leroy int vr_active(struct task_struct *target, const struct user_regset *regset); 23*1b20773bSChristophe Leroy int vr_get(struct task_struct *target, const struct user_regset *regset, 24*1b20773bSChristophe Leroy unsigned int pos, unsigned int count, void *kbuf, void __user *ubuf); 25*1b20773bSChristophe Leroy int vr_set(struct task_struct *target, const struct user_regset *regset, 26*1b20773bSChristophe Leroy unsigned int pos, unsigned int count, 27*1b20773bSChristophe Leroy const void *kbuf, const void __user *ubuf); 28*1b20773bSChristophe Leroy 297b99ed4eSChristophe Leroy /* ptrace */ 307b99ed4eSChristophe Leroy 317b99ed4eSChristophe Leroy #ifdef CONFIG_PPC_TRANSACTIONAL_MEM 327b99ed4eSChristophe Leroy void flush_tmregs_to_thread(struct task_struct *tsk); 337b99ed4eSChristophe Leroy #else 347b99ed4eSChristophe Leroy static inline void flush_tmregs_to_thread(struct task_struct *tsk) { } 357b99ed4eSChristophe Leroy #endif 36