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