18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
28c2ecf20Sopenharmony_ci// Copyright (C) 2018 Hangzhou C-SKY Microsystems co.,ltd.
38c2ecf20Sopenharmony_ci
48c2ecf20Sopenharmony_ci#ifndef _CSKY_PTRACE_H
58c2ecf20Sopenharmony_ci#define _CSKY_PTRACE_H
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_ci#ifndef __ASSEMBLY__
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cistruct pt_regs {
108c2ecf20Sopenharmony_ci	unsigned long	tls;
118c2ecf20Sopenharmony_ci	unsigned long	lr;
128c2ecf20Sopenharmony_ci	unsigned long	pc;
138c2ecf20Sopenharmony_ci	unsigned long	sr;
148c2ecf20Sopenharmony_ci	unsigned long	usp;
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci	/*
178c2ecf20Sopenharmony_ci	 * a0, a1, a2, a3:
188c2ecf20Sopenharmony_ci	 * abiv1: r2, r3, r4, r5
198c2ecf20Sopenharmony_ci	 * abiv2: r0, r1, r2, r3
208c2ecf20Sopenharmony_ci	 */
218c2ecf20Sopenharmony_ci	unsigned long	orig_a0;
228c2ecf20Sopenharmony_ci	unsigned long	a0;
238c2ecf20Sopenharmony_ci	unsigned long	a1;
248c2ecf20Sopenharmony_ci	unsigned long	a2;
258c2ecf20Sopenharmony_ci	unsigned long	a3;
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci	/*
288c2ecf20Sopenharmony_ci	 * ABIV2: r4 ~ r13
298c2ecf20Sopenharmony_ci	 * ABIV1: r6 ~ r14, r1
308c2ecf20Sopenharmony_ci	 */
318c2ecf20Sopenharmony_ci	unsigned long	regs[10];
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci#if defined(__CSKYABIV2__)
348c2ecf20Sopenharmony_ci	/* r16 ~ r30 */
358c2ecf20Sopenharmony_ci	unsigned long	exregs[15];
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci	unsigned long	rhi;
388c2ecf20Sopenharmony_ci	unsigned long	rlo;
398c2ecf20Sopenharmony_ci	unsigned long	dcsr;
408c2ecf20Sopenharmony_ci#endif
418c2ecf20Sopenharmony_ci};
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_cistruct user_fp {
448c2ecf20Sopenharmony_ci	unsigned long	vr[96];
458c2ecf20Sopenharmony_ci	unsigned long	fcr;
468c2ecf20Sopenharmony_ci	unsigned long	fesr;
478c2ecf20Sopenharmony_ci	unsigned long	fid;
488c2ecf20Sopenharmony_ci	unsigned long	reserved;
498c2ecf20Sopenharmony_ci};
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci#endif /* __ASSEMBLY__ */
528c2ecf20Sopenharmony_ci#endif /* _CSKY_PTRACE_H */
53