diff options
author | Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com> | 2019-12-27 21:03:43 +0300 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2019-12-28 13:05:08 -0800 |
commit | 7ecc6c1d5c8dbc713c647512a5267ca0eafe3e1c (patch) | |
tree | cff570e791b12d3eca18ec2adadaa1c93d987ea1 | |
parent | 833a20b8d4924b63ef7700e43fe4941963002822 (diff) | |
download | linux-7ecc6c1d5c8dbc713c647512a5267ca0eafe3e1c.tar.gz linux-7ecc6c1d5c8dbc713c647512a5267ca0eafe3e1c.tar.bz2 linux-7ecc6c1d5c8dbc713c647512a5267ca0eafe3e1c.zip |
ARC: pt_regs: remove hardcoded registers offset
Replace hardcoded registers offset numbers by calculated via
offsetof.
Signed-off-by: Eugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r-- | arch/arc/include/asm/entry-arcv2.h | 8 | ||||
-rw-r--r-- | arch/arc/kernel/asm-offsets.c | 9 |
2 files changed, 13 insertions, 4 deletions
diff --git a/arch/arc/include/asm/entry-arcv2.h b/arch/arc/include/asm/entry-arcv2.h index 41b16f21beec..0b8b63d0bec1 100644 --- a/arch/arc/include/asm/entry-arcv2.h +++ b/arch/arc/include/asm/entry-arcv2.h @@ -162,7 +162,7 @@ #endif #ifdef CONFIG_ARC_HAS_ACCL_REGS - ST2 r58, r59, PT_sp + 12 + ST2 r58, r59, PT_r58 #endif .endm @@ -172,8 +172,8 @@ LD2 gp, fp, PT_r26 ; gp (r26), fp (r27) - ld r12, [sp, PT_sp + 4] - ld r30, [sp, PT_sp + 8] + ld r12, [sp, PT_r12] + ld r30, [sp, PT_r30] ; Restore SP (into AUX_USER_SP) only if returning to U mode ; - for K mode, it will be implicitly restored as stack is unwound @@ -190,7 +190,7 @@ #endif #ifdef CONFIG_ARC_HAS_ACCL_REGS - LD2 r58, r59, PT_sp + 12 + LD2 r58, r59, PT_r58 #endif .endm diff --git a/arch/arc/kernel/asm-offsets.c b/arch/arc/kernel/asm-offsets.c index 631ebb5d3458..c783bcd35eb8 100644 --- a/arch/arc/kernel/asm-offsets.c +++ b/arch/arc/kernel/asm-offsets.c @@ -67,5 +67,14 @@ int main(void) DEFINE(SZ_CALLEE_REGS, sizeof(struct callee_regs)); DEFINE(SZ_PT_REGS, sizeof(struct pt_regs)); +#ifdef CONFIG_ISA_ARCV2 + OFFSET(PT_r12, pt_regs, r12); + OFFSET(PT_r30, pt_regs, r30); +#endif +#ifdef CONFIG_ARC_HAS_ACCL_REGS + OFFSET(PT_r58, pt_regs, r58); + OFFSET(PT_r59, pt_regs, r59); +#endif + return 0; } |