1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3  * offset.c: Calculate pt_regs and task_struct offsets.
4  *
5  * Copyright (C) 1996 David S. Miller
6  * Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Ralf Baechle
7  * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
8  *
9  * Kevin Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com
10  * Copyright (C) 2000 MIPS Technologies, Inc.
11  */
12 
13 #include <asm/ptrace.h>
14 #include <linux/stddef.h>
15 #include <linux/kbuild.h>
16 
output_ptreg_defines(void)17 void output_ptreg_defines(void)
18 {
19 	COMMENT("MIPS pt_regs offsets.");
20 	OFFSET(PT_R0, pt_regs, regs[0]);
21 	OFFSET(PT_R1, pt_regs, regs[1]);
22 	OFFSET(PT_R2, pt_regs, regs[2]);
23 	OFFSET(PT_R3, pt_regs, regs[3]);
24 	OFFSET(PT_R4, pt_regs, regs[4]);
25 	OFFSET(PT_R5, pt_regs, regs[5]);
26 	OFFSET(PT_R6, pt_regs, regs[6]);
27 	OFFSET(PT_R7, pt_regs, regs[7]);
28 	OFFSET(PT_R8, pt_regs, regs[8]);
29 	OFFSET(PT_R9, pt_regs, regs[9]);
30 	OFFSET(PT_R10, pt_regs, regs[10]);
31 	OFFSET(PT_R11, pt_regs, regs[11]);
32 	OFFSET(PT_R12, pt_regs, regs[12]);
33 	OFFSET(PT_R13, pt_regs, regs[13]);
34 	OFFSET(PT_R14, pt_regs, regs[14]);
35 	OFFSET(PT_R15, pt_regs, regs[15]);
36 	OFFSET(PT_R16, pt_regs, regs[16]);
37 	OFFSET(PT_R17, pt_regs, regs[17]);
38 	OFFSET(PT_R18, pt_regs, regs[18]);
39 	OFFSET(PT_R19, pt_regs, regs[19]);
40 	OFFSET(PT_R20, pt_regs, regs[20]);
41 	OFFSET(PT_R21, pt_regs, regs[21]);
42 	OFFSET(PT_R22, pt_regs, regs[22]);
43 	OFFSET(PT_R23, pt_regs, regs[23]);
44 	OFFSET(PT_R24, pt_regs, regs[24]);
45 	OFFSET(PT_R25, pt_regs, regs[25]);
46 	OFFSET(PT_R26, pt_regs, regs[26]);
47 	OFFSET(PT_R27, pt_regs, regs[27]);
48 	OFFSET(PT_R28, pt_regs, regs[28]);
49 	OFFSET(PT_R29, pt_regs, regs[29]);
50 	OFFSET(PT_R30, pt_regs, regs[30]);
51 	OFFSET(PT_R31, pt_regs, regs[31]);
52 	OFFSET(PT_LO, pt_regs, lo);
53 	OFFSET(PT_HI, pt_regs, hi);
54 	OFFSET(PT_EPC, pt_regs, cp0_epc);
55 	OFFSET(PT_BVADDR, pt_regs, cp0_badvaddr);
56 	OFFSET(PT_STATUS, pt_regs, cp0_status);
57 	OFFSET(PT_CAUSE, pt_regs, cp0_cause);
58 	DEFINE(PT_SIZE, sizeof(struct pt_regs));
59 	BLANK();
60 }
61