1 /*
2 * Copyright (c) 2015-2021 The strace developers.
3 * All rights reserved.
4 *
5 * SPDX-License-Identifier: LGPL-2.1-or-later
6 */
7
8 static struct {
9 uint64_t uregs[38];
10 } mips_regs;
11
12 #define REG_V0 2
13 #define REG_A0 4
14
15 #define mips_REG_V0 mips_regs.uregs[REG_V0]
16 #define mips_REG_A0 mips_regs.uregs[REG_A0 + 0]
17 #define mips_REG_A1 mips_regs.uregs[REG_A0 + 1]
18 #define mips_REG_A2 mips_regs.uregs[REG_A0 + 2]
19 #define mips_REG_A3 mips_regs.uregs[REG_A0 + 3]
20 #define mips_REG_A4 mips_regs.uregs[REG_A0 + 4]
21 #define mips_REG_A5 mips_regs.uregs[REG_A0 + 5]
22 #define mips_REG_SP mips_regs.uregs[29]
23 #define mips_REG_EPC mips_regs.uregs[34]
24
25 /* PTRACE_GETREGS on MIPS is available since linux v2.6.15. */
26 #define ARCH_REGS_FOR_GETREGS mips_regs
27 #define ARCH_PC_REG mips_REG_EPC
28 #define ARCH_SP_REG mips_REG_SP