Import asm-offsets.c from kernel to generate offset for struct pt_regs needed by exception handlers. Signed-off-by: Daniel Schwierzeck <daniel.schwierzeck@gmail.com>master
parent
924ad86638
commit
67588bdade
@ -0,0 +1,5 @@ |
|||||||
|
/*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0+ |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <generated/asm-offsets.h> |
@ -0,0 +1,61 @@ |
|||||||
|
/*
|
||||||
|
* offset.c: Calculate pt_regs and task_struct offsets. |
||||||
|
* |
||||||
|
* Copyright (C) 1996 David S. Miller |
||||||
|
* Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003 Ralf Baechle |
||||||
|
* Copyright (C) 1999, 2000 Silicon Graphics, Inc. |
||||||
|
* |
||||||
|
* Kevin Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com |
||||||
|
* Copyright (C) 2000 MIPS Technologies, Inc. |
||||||
|
* |
||||||
|
* SPDX-License-Identifier: GPL-2.0+ |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <asm/ptrace.h> |
||||||
|
#include <linux/stddef.h> |
||||||
|
#include <linux/kbuild.h> |
||||||
|
|
||||||
|
void output_ptreg_defines(void) |
||||||
|
{ |
||||||
|
COMMENT("MIPS pt_regs offsets."); |
||||||
|
OFFSET(PT_R0, pt_regs, regs[0]); |
||||||
|
OFFSET(PT_R1, pt_regs, regs[1]); |
||||||
|
OFFSET(PT_R2, pt_regs, regs[2]); |
||||||
|
OFFSET(PT_R3, pt_regs, regs[3]); |
||||||
|
OFFSET(PT_R4, pt_regs, regs[4]); |
||||||
|
OFFSET(PT_R5, pt_regs, regs[5]); |
||||||
|
OFFSET(PT_R6, pt_regs, regs[6]); |
||||||
|
OFFSET(PT_R7, pt_regs, regs[7]); |
||||||
|
OFFSET(PT_R8, pt_regs, regs[8]); |
||||||
|
OFFSET(PT_R9, pt_regs, regs[9]); |
||||||
|
OFFSET(PT_R10, pt_regs, regs[10]); |
||||||
|
OFFSET(PT_R11, pt_regs, regs[11]); |
||||||
|
OFFSET(PT_R12, pt_regs, regs[12]); |
||||||
|
OFFSET(PT_R13, pt_regs, regs[13]); |
||||||
|
OFFSET(PT_R14, pt_regs, regs[14]); |
||||||
|
OFFSET(PT_R15, pt_regs, regs[15]); |
||||||
|
OFFSET(PT_R16, pt_regs, regs[16]); |
||||||
|
OFFSET(PT_R17, pt_regs, regs[17]); |
||||||
|
OFFSET(PT_R18, pt_regs, regs[18]); |
||||||
|
OFFSET(PT_R19, pt_regs, regs[19]); |
||||||
|
OFFSET(PT_R20, pt_regs, regs[20]); |
||||||
|
OFFSET(PT_R21, pt_regs, regs[21]); |
||||||
|
OFFSET(PT_R22, pt_regs, regs[22]); |
||||||
|
OFFSET(PT_R23, pt_regs, regs[23]); |
||||||
|
OFFSET(PT_R24, pt_regs, regs[24]); |
||||||
|
OFFSET(PT_R25, pt_regs, regs[25]); |
||||||
|
OFFSET(PT_R26, pt_regs, regs[26]); |
||||||
|
OFFSET(PT_R27, pt_regs, regs[27]); |
||||||
|
OFFSET(PT_R28, pt_regs, regs[28]); |
||||||
|
OFFSET(PT_R29, pt_regs, regs[29]); |
||||||
|
OFFSET(PT_R30, pt_regs, regs[30]); |
||||||
|
OFFSET(PT_R31, pt_regs, regs[31]); |
||||||
|
OFFSET(PT_LO, pt_regs, lo); |
||||||
|
OFFSET(PT_HI, pt_regs, hi); |
||||||
|
OFFSET(PT_EPC, pt_regs, cp0_epc); |
||||||
|
OFFSET(PT_BVADDR, pt_regs, cp0_badvaddr); |
||||||
|
OFFSET(PT_STATUS, pt_regs, cp0_status); |
||||||
|
OFFSET(PT_CAUSE, pt_regs, cp0_cause); |
||||||
|
DEFINE(PT_SIZE, sizeof(struct pt_regs)); |
||||||
|
BLANK(); |
||||||
|
} |
Loading…
Reference in new issue