125184Sjkh/* SPDX-License-Identifier: GPL-2.0 */
225184Sjkh
341185Smsmith#ifndef __ABI_CSKY_ELF_H
425184Sjkh#define __ABI_CSKY_ELF_H
525184Sjkh
625184Sjkh/* The member sort in array pr_reg[x] is defined by GDB. */
725184Sjkh#define ELF_CORE_COPY_REGS(pr_reg, regs) do {	\
825184Sjkh	pr_reg[0] = regs->pc;			\
925184Sjkh	pr_reg[1] = regs->a1;			\
1025184Sjkh	pr_reg[2] = regs->a0;			\
1125184Sjkh	pr_reg[3] = regs->sr;			\
1225184Sjkh	pr_reg[4] = regs->a2;			\
1325184Sjkh	pr_reg[5] = regs->a3;			\
1425184Sjkh	pr_reg[6] = regs->regs[0];		\
1525184Sjkh	pr_reg[7] = regs->regs[1];		\
1625184Sjkh	pr_reg[8] = regs->regs[2];		\
1725184Sjkh	pr_reg[9] = regs->regs[3];		\
1825184Sjkh	pr_reg[10] = regs->regs[4];		\
1925184Sjkh	pr_reg[11] = regs->regs[5];		\
2025184Sjkh	pr_reg[12] = regs->regs[6];		\
2125184Sjkh	pr_reg[13] = regs->regs[7];		\
2225184Sjkh	pr_reg[14] = regs->regs[8];		\
2325184Sjkh	pr_reg[15] = regs->regs[9];		\
2425184Sjkh	pr_reg[16] = regs->usp;			\
2525184Sjkh	pr_reg[17] = regs->lr;			\
2625184Sjkh	pr_reg[18] = regs->exregs[0];		\
2725184Sjkh	pr_reg[19] = regs->exregs[1];		\
2840006Sphk	pr_reg[20] = regs->exregs[2];		\
2940006Sphk	pr_reg[21] = regs->exregs[3];		\
3040006Sphk	pr_reg[22] = regs->exregs[4];		\
3140006Sphk	pr_reg[23] = regs->exregs[5];		\
3240006Sphk	pr_reg[24] = regs->exregs[6];		\
3340006Sphk	pr_reg[25] = regs->exregs[7];		\
3425184Sjkh	pr_reg[26] = regs->exregs[8];		\
3525184Sjkh	pr_reg[27] = regs->exregs[9];		\
3625184Sjkh	pr_reg[28] = regs->exregs[10];		\
3733682Sbrian	pr_reg[29] = regs->exregs[11];		\
3825184Sjkh	pr_reg[30] = regs->exregs[12];		\
3925184Sjkh	pr_reg[31] = regs->exregs[13];		\
4025184Sjkh	pr_reg[32] = regs->exregs[14];		\
4125184Sjkh	pr_reg[33] = regs->tls;			\
4225184Sjkh} while (0);
4325184Sjkh#endif /* __ABI_CSKY_ELF_H */
4425184Sjkh