Tom Rini | 10e4779 | 2018-05-06 17:58:06 -0400 | [diff] [blame] | 1 | // SPDX-License-Identifier: GPL-2.0+ |
Daniel Schwierzeck | c8e280f | 2016-01-09 18:34:14 +0100 | [diff] [blame] | 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. |
Daniel Schwierzeck | c8e280f | 2016-01-09 18:34:14 +0100 | [diff] [blame] | 11 | */ |
| 12 | |
| 13 | #include <asm/ptrace.h> |
| 14 | #include <linux/stddef.h> |
| 15 | #include <linux/kbuild.h> |
| 16 | |
| 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 | } |