]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
ARC: pt_regs: remove hardcoded registers offset
authorEugeniy Paltsev <Eugeniy.Paltsev@synopsys.com>
Fri, 27 Dec 2019 18:03:43 +0000 (21:03 +0300)
committerVineet Gupta <vgupta@synopsys.com>
Sat, 28 Dec 2019 21:05:08 +0000 (13:05 -0800)
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>
arch/arc/include/asm/entry-arcv2.h
arch/arc/kernel/asm-offsets.c

index 41b16f21beecac28099ed7ee154db6947b6b0d14..0b8b63d0bec153285e1e4888a07a4fe9db8f40bf 100644 (file)
 #endif
 
 #ifdef CONFIG_ARC_HAS_ACCL_REGS
-       ST2     r58, r59, PT_sp + 12
+       ST2     r58, r59, PT_r58
 #endif
 
 .endm
 
        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
 #endif
 
 #ifdef CONFIG_ARC_HAS_ACCL_REGS
-       LD2     r58, r59, PT_sp + 12
+       LD2     r58, r59, PT_r58
 #endif
 .endm
 
index 631ebb5d34585bb42b22678cb84a67cb07b95133..c783bcd35eb88c88d8ac39f2af097918bcf26be9 100644 (file)
@@ -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;
 }