Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
2fa91904
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
2fa91904
编写于
11年前
作者:
V
Vineet Gupta
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ARC: pt_regs update #2: Remove unused gutter at start of pt_regs
Signed-off-by:
N
Vineet Gupta
<
vgupta@synopsys.com
>
上级
283237a0
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
15 addition
and
26 deletion
+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
未找到文件。
arch/arc/include/asm/entry.h
浏览文件 @
2fa91904
...
...
@@ -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
]
...
...
This diff is collapsed.
Click to expand it.
arch/arc/include/asm/ptrace.h
浏览文件 @
2fa91904
...
...
@@ -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 */
...
...
This diff is collapsed.
Click to expand it.
arch/arc/include/uapi/asm/ptrace.h
浏览文件 @
2fa91904
...
...
@@ -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
;
...
...
This diff is collapsed.
Click to expand it.
arch/arc/kernel/ptrace.c
浏览文件 @
2fa91904
...
...
@@ -40,6 +40,13 @@ static int genregs_get(struct task_struct *target,
offsetof(struct user_regs_struct, LOC), \
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
(
callee
,
efa
,
cregs
);
REG_O_CHUNK
(
efa
,
stop_pc
,
&
target
->
thread
.
fault_address
);
...
...
@@ -88,6 +95,7 @@ static int genregs_set(struct task_struct *target,
offsetof(struct user_regs_struct, LOC), \
offsetof(struct user_regs_struct, LOC) + 4);
REG_IGNORE_ONE
(
pad
);
/* TBD: disallow updates to STATUS32, orig_r8 etc*/
REG_IN_CHUNK
(
scratch
,
callee
,
ptregs
);
/* pt_regs[bta..orig_r8] */
REG_IN_CHUNK
(
callee
,
efa
,
cregs
);
/* callee_regs[r25..r13] */
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部