xref: /openbmc/linux/arch/powerpc/kernel/ptrace/ptrace-decl.h (revision 1b20773b00b71e361a6072d4b0ea6299e10678c9)
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