diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2013-05-28 08:13:17 +0400 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2013-06-22 17:53:22 +0400 |
commit | 2fa919045b72ec892e17d56f888e6af4260b7629 (patch) | |
tree | 1f0f89110514c07939666d6b1f225b3e8dff6be3 /arch/arc/include | |
parent | 283237a04fd332bddc2ac298e6ad7d23a1fc4b99 (diff) | |
download | linux-2fa919045b72ec892e17d56f888e6af4260b7629.tar.xz |
ARC: pt_regs update #2: Remove unused gutter at start of pt_regs
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/include')
-rw-r--r-- | arch/arc/include/asm/entry.h | 16 | ||||
-rw-r--r-- | arch/arc/include/asm/ptrace.h | 6 | ||||
-rw-r--r-- | arch/arc/include/uapi/asm/ptrace.h | 11 |
3 files changed, 7 insertions, 26 deletions
diff --git a/arch/arc/include/asm/entry.h b/arch/arc/include/asm/entry.h index 2b274fa9c5a7..5ff7b8dd3d5b 100644 --- a/arch/arc/include/asm/entry.h +++ b/arch/arc/include/asm/entry.h @@ -432,9 +432,6 @@ st.a r9, [sp, -4] lr r9, [erbta] st.a r9, [sp, -4] - - /* move up by 1 word to "create" pt_regs->"stack_place_holder" */ - sub sp, sp, 4 .endm /*-------------------------------------------------------------- @@ -474,9 +471,6 @@ * by hardware and that is not good. *-------------------------------------------------------------*/ .macro RESTORE_ALL_SYS - - add sp, sp, 4 /* hop over unused "pt_regs->stack_place_holder" */ - ld.ab r9, [sp, 4] sr r9, [erbta] ld.ab r9, [sp, 4] @@ -530,9 +524,6 @@ st.a r9, [sp, -4] lr r9, [bta_l1] st.a r9, [sp, -4] - - /* move up by 1 word to "create" pt_regs->"stack_place_holder" */ - sub sp, sp, 4 .endm .macro SAVE_ALL_INT2 @@ -561,9 +552,6 @@ st.a r9, [sp, -4] lr r9, [bta_l2] st.a r9, [sp, -4] - - /* move up by 1 word to "create" pt_regs->"stack_place_holder" */ - sub sp, sp, 4 .endm /*-------------------------------------------------------------- @@ -577,8 +565,6 @@ *-------------------------------------------------------------*/ .macro RESTORE_ALL_INT1 - add sp, sp, 4 /* hop over unused "pt_regs->stack_place_holder" */ - ld.ab r9, [sp, 4] /* Actual reg file */ sr r9, [bta_l1] ld.ab r9, [sp, 4] @@ -601,8 +587,6 @@ .endm .macro RESTORE_ALL_INT2 - add sp, sp, 4 /* hop over unused "pt_regs->stack_place_holder" */ - ld.ab r9, [sp, 4] sr r9, [bta_l2] ld.ab r9, [sp, 4] diff --git a/arch/arc/include/asm/ptrace.h b/arch/arc/include/asm/ptrace.h index f82a3a2201b5..7491bb7428bd 100644 --- a/arch/arc/include/asm/ptrace.h +++ b/arch/arc/include/asm/ptrace.h @@ -17,12 +17,6 @@ /* THE pt_regs: Defines how regs are saved during entry into kernel */ struct pt_regs { - /* - * 1 word gutter after reg-file has been saved - * Technically not needed, Since SP always points to a "full" location - * (vs. "empty"). But pt_regs is shared with tools.... - */ - long res; /* Real registers */ long bta; /* bta_l1, bta_l2, erbta */ diff --git a/arch/arc/include/uapi/asm/ptrace.h b/arch/arc/include/uapi/asm/ptrace.h index 30333cec0fef..e0e8403f181f 100644 --- a/arch/arc/include/uapi/asm/ptrace.h +++ b/arch/arc/include/uapi/asm/ptrace.h @@ -20,16 +20,19 @@ * * This is to decouple pt_regs from user-space ABI, to be able to change it * w/o affecting the ABI. - * Although the layout (initial padding) is similar to pt_regs to have some - * optimizations when copying pt_regs to/from user_regs_struct. + * + * The intermediate pad,pad2 are relics of initial layout based on pt_regs + * for optimizations when copying pt_regs to/from user_regs_struct. + * We no longer need them, but can't be changed as they are part of ABI now. * * Also, sigcontext only care about the scratch regs as that is what we really - * save/restore for signal handling. + * save/restore for signal handling. However gdb also uses the same struct + * hence callee regs need to be in there too. */ struct user_regs_struct { + long pad; struct { - long pad; long bta, lp_start, lp_end, lp_count; long status32, ret, blink, fp, gp; long r12, r11, r10, r9, r8, r7, r6, r5, r4, r3, r2, r1, r0; |