Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
nexedi
linux
Commits
2fa91904
Commit
2fa91904
authored
May 28, 2013
by
Vineet Gupta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ARC: pt_regs update #2: Remove unused gutter at start of pt_regs
Signed-off-by:
Vineet Gupta
<
vgupta@synopsys.com
>
parent
283237a0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
15 additions
and
26 deletions
+15
-26
arch/arc/include/asm/entry.h
arch/arc/include/asm/entry.h
+0
-16
arch/arc/include/asm/ptrace.h
arch/arc/include/asm/ptrace.h
+0
-6
arch/arc/include/uapi/asm/ptrace.h
arch/arc/include/uapi/asm/ptrace.h
+7
-4
arch/arc/kernel/ptrace.c
arch/arc/kernel/ptrace.c
+8
-0
No files found.
arch/arc/include/asm/entry.h
View file @
2fa91904
...
@@ -432,9 +432,6 @@
...
@@ -432,9 +432,6 @@
st
.
a
r9
,
[
sp
,
-
4
]
st
.
a
r9
,
[
sp
,
-
4
]
lr
r9
,
[
erbta
]
lr
r9
,
[
erbta
]
st
.
a
r9
,
[
sp
,
-
4
]
st
.
a
r9
,
[
sp
,
-
4
]
/* move up by 1 word to "create" pt_regs->"stack_place_holder" */
sub
sp
,
sp
,
4
.
endm
.
endm
/*--------------------------------------------------------------
/*--------------------------------------------------------------
...
@@ -474,9 +471,6 @@
...
@@ -474,9 +471,6 @@
* by hardware and that is not good.
* by hardware and that is not good.
*-------------------------------------------------------------*/
*-------------------------------------------------------------*/
.
macro
RESTORE_ALL_SYS
.
macro
RESTORE_ALL_SYS
add
sp
,
sp
,
4
/* hop over unused "pt_regs->stack_place_holder" */
ld
.
ab
r9
,
[
sp
,
4
]
ld
.
ab
r9
,
[
sp
,
4
]
sr
r9
,
[
erbta
]
sr
r9
,
[
erbta
]
ld
.
ab
r9
,
[
sp
,
4
]
ld
.
ab
r9
,
[
sp
,
4
]
...
@@ -530,9 +524,6 @@
...
@@ -530,9 +524,6 @@
st
.
a
r9
,
[
sp
,
-
4
]
st
.
a
r9
,
[
sp
,
-
4
]
lr
r9
,
[
bta_l1
]
lr
r9
,
[
bta_l1
]
st
.
a
r9
,
[
sp
,
-
4
]
st
.
a
r9
,
[
sp
,
-
4
]
/* move up by 1 word to "create" pt_regs->"stack_place_holder" */
sub
sp
,
sp
,
4
.
endm
.
endm
.
macro
SAVE_ALL_INT2
.
macro
SAVE_ALL_INT2
...
@@ -561,9 +552,6 @@
...
@@ -561,9 +552,6 @@
st
.
a
r9
,
[
sp
,
-
4
]
st
.
a
r9
,
[
sp
,
-
4
]
lr
r9
,
[
bta_l2
]
lr
r9
,
[
bta_l2
]
st
.
a
r9
,
[
sp
,
-
4
]
st
.
a
r9
,
[
sp
,
-
4
]
/* move up by 1 word to "create" pt_regs->"stack_place_holder" */
sub
sp
,
sp
,
4
.
endm
.
endm
/*--------------------------------------------------------------
/*--------------------------------------------------------------
...
@@ -577,8 +565,6 @@
...
@@ -577,8 +565,6 @@
*-------------------------------------------------------------*/
*-------------------------------------------------------------*/
.
macro
RESTORE_ALL_INT1
.
macro
RESTORE_ALL_INT1
add
sp
,
sp
,
4
/* hop over unused "pt_regs->stack_place_holder" */
ld
.
ab
r9
,
[
sp
,
4
]
/* Actual reg file */
ld
.
ab
r9
,
[
sp
,
4
]
/* Actual reg file */
sr
r9
,
[
bta_l1
]
sr
r9
,
[
bta_l1
]
ld
.
ab
r9
,
[
sp
,
4
]
ld
.
ab
r9
,
[
sp
,
4
]
...
@@ -601,8 +587,6 @@
...
@@ -601,8 +587,6 @@
.
endm
.
endm
.
macro
RESTORE_ALL_INT2
.
macro
RESTORE_ALL_INT2
add
sp
,
sp
,
4
/* hop over unused "pt_regs->stack_place_holder" */
ld
.
ab
r9
,
[
sp
,
4
]
ld
.
ab
r9
,
[
sp
,
4
]
sr
r9
,
[
bta_l2
]
sr
r9
,
[
bta_l2
]
ld
.
ab
r9
,
[
sp
,
4
]
ld
.
ab
r9
,
[
sp
,
4
]
...
...
arch/arc/include/asm/ptrace.h
View file @
2fa91904
...
@@ -17,12 +17,6 @@
...
@@ -17,12 +17,6 @@
/* THE pt_regs: Defines how regs are saved during entry into kernel */
/* THE pt_regs: Defines how regs are saved during entry into kernel */
struct
pt_regs
{
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 */
/* Real registers */
long
bta
;
/* bta_l1, bta_l2, erbta */
long
bta
;
/* bta_l1, bta_l2, erbta */
...
...
arch/arc/include/uapi/asm/ptrace.h
View file @
2fa91904
...
@@ -20,16 +20,19 @@
...
@@ -20,16 +20,19 @@
*
*
* This is to decouple pt_regs from user-space ABI, to be able to change it
* This is to decouple pt_regs from user-space ABI, to be able to change it
* w/o affecting the ABI.
* 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
* 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
{
struct
user_regs_struct
{
long
pad
;
struct
{
struct
{
long
pad
;
long
bta
,
lp_start
,
lp_end
,
lp_count
;
long
bta
,
lp_start
,
lp_end
,
lp_count
;
long
status32
,
ret
,
blink
,
fp
,
gp
;
long
status32
,
ret
,
blink
,
fp
,
gp
;
long
r12
,
r11
,
r10
,
r9
,
r8
,
r7
,
r6
,
r5
,
r4
,
r3
,
r2
,
r1
,
r0
;
long
r12
,
r11
,
r10
,
r9
,
r8
,
r7
,
r6
,
r5
,
r4
,
r3
,
r2
,
r1
,
r0
;
...
...
arch/arc/kernel/ptrace.c
View file @
2fa91904
...
@@ -40,6 +40,13 @@ static int genregs_get(struct task_struct *target,
...
@@ -40,6 +40,13 @@ static int genregs_get(struct task_struct *target,
offsetof(struct user_regs_struct, LOC), \
offsetof(struct user_regs_struct, LOC), \
offsetof(struct user_regs_struct, LOC) + 4);
offsetof(struct user_regs_struct, LOC) + 4);
#define REG_O_ZERO(LOC) \
if (!ret) \
ret = user_regset_copyout_zero(&pos, &count, &kbuf, &ubuf, \
offsetof(struct user_regs_struct, LOC), \
offsetof(struct user_regs_struct, LOC) + 4);
REG_O_ZERO
(
pad
);
REG_O_CHUNK
(
scratch
,
callee
,
ptregs
);
REG_O_CHUNK
(
scratch
,
callee
,
ptregs
);
REG_O_CHUNK
(
callee
,
efa
,
cregs
);
REG_O_CHUNK
(
callee
,
efa
,
cregs
);
REG_O_CHUNK
(
efa
,
stop_pc
,
&
target
->
thread
.
fault_address
);
REG_O_CHUNK
(
efa
,
stop_pc
,
&
target
->
thread
.
fault_address
);
...
@@ -88,6 +95,7 @@ static int genregs_set(struct task_struct *target,
...
@@ -88,6 +95,7 @@ static int genregs_set(struct task_struct *target,
offsetof(struct user_regs_struct, LOC), \
offsetof(struct user_regs_struct, LOC), \
offsetof(struct user_regs_struct, LOC) + 4);
offsetof(struct user_regs_struct, LOC) + 4);
REG_IGNORE_ONE
(
pad
);
/* TBD: disallow updates to STATUS32, orig_r8 etc*/
/* TBD: disallow updates to STATUS32, orig_r8 etc*/
REG_IN_CHUNK
(
scratch
,
callee
,
ptregs
);
/* pt_regs[bta..orig_r8] */
REG_IN_CHUNK
(
scratch
,
callee
,
ptregs
);
/* pt_regs[bta..orig_r8] */
REG_IN_CHUNK
(
callee
,
efa
,
cregs
);
/* callee_regs[r25..r13] */
REG_IN_CHUNK
(
callee
,
efa
,
cregs
);
/* callee_regs[r25..r13] */
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment