Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
cec3fd3e
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
cec3fd3e
编写于
7月 30, 2008
作者:
P
Paul Mundt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sh: Tidy up the _TIF work masks, and fix syscall trace bug on singlestep.
Signed-off-by:
N
Paul Mundt
<
lethal@linux-sh.org
>
上级
daf423db
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
31 addition
and
15 deletion
+31
-15
arch/sh/include/asm/thread_info.h
arch/sh/include/asm/thread_info.h
+28
-12
arch/sh/kernel/cpu/sh5/entry.S
arch/sh/kernel/cpu/sh5/entry.S
+1
-1
arch/sh/kernel/entry-common.S
arch/sh/kernel/entry-common.S
+2
-2
未找到文件。
arch/sh/include/asm/thread_info.h
浏览文件 @
cec3fd3e
...
...
@@ -123,18 +123,34 @@ static inline struct thread_info *current_thread_info(void)
#define TIF_MEMDIE 18
#define TIF_FREEZE 19
#define _TIF_SYSCALL_TRACE (1<<TIF_SYSCALL_TRACE)
#define _TIF_SIGPENDING (1<<TIF_SIGPENDING)
#define _TIF_NEED_RESCHED (1<<TIF_NEED_RESCHED)
#define _TIF_RESTORE_SIGMASK (1<<TIF_RESTORE_SIGMASK)
#define _TIF_SINGLESTEP (1<<TIF_SINGLESTEP)
#define _TIF_SYSCALL_AUDIT (1<<TIF_SYSCALL_AUDIT)
#define _TIF_USEDFPU (1<<TIF_USEDFPU)
#define _TIF_POLLING_NRFLAG (1<<TIF_POLLING_NRFLAG)
#define _TIF_FREEZE (1<<TIF_FREEZE)
#define _TIF_WORK_MASK 0x000000FE
/* work to do on interrupt/exception return */
#define _TIF_ALLWORK_MASK 0x000000FF
/* work to do on any return to u-space */
#define _TIF_SYSCALL_TRACE (1 << TIF_SYSCALL_TRACE)
#define _TIF_SIGPENDING (1 << TIF_SIGPENDING)
#define _TIF_NEED_RESCHED (1 << TIF_NEED_RESCHED)
#define _TIF_RESTORE_SIGMASK (1 << TIF_RESTORE_SIGMASK)
#define _TIF_SINGLESTEP (1 << TIF_SINGLESTEP)
#define _TIF_SYSCALL_AUDIT (1 << TIF_SYSCALL_AUDIT)
#define _TIF_USEDFPU (1 << TIF_USEDFPU)
#define _TIF_POLLING_NRFLAG (1 << TIF_POLLING_NRFLAG)
#define _TIF_FREEZE (1 << TIF_FREEZE)
/*
* _TIF_ALLWORK_MASK and _TIF_WORK_MASK need to fit within a byte, or we
* blow the tst immediate size constraints and need to fix up
* arch/sh/kernel/entry-common.S.
*/
/* work to do in syscall trace */
#define _TIF_WORK_SYSCALL_MASK (_TIF_SYSCALL_TRACE | _TIF_SINGLESTEP | \
_TIF_SYSCALL_AUDIT)
/* work to do on any return to u-space */
#define _TIF_ALLWORK_MASK (_TIF_SYSCALL_TRACE | _TIF_SIGPENDING | \
_TIF_NEED_RESCHED | _TIF_SYSCALL_AUDIT | \
_TIF_SINGLESTEP | _TIF_RESTORE_SIGMASK)
/* work to do on interrupt/exception return */
#define _TIF_WORK_MASK (_TIF_ALLWORK_MASK & ~(_TIF_SYSCALL_TRACE | \
_TIF_SYSCALL_AUDIT | _TIF_SINGLESTEP))
#endif
/* __KERNEL__ */
...
...
arch/sh/kernel/cpu/sh5/entry.S
浏览文件 @
cec3fd3e
...
...
@@ -1300,7 +1300,7 @@ syscall_allowed:
getcon
KCR0
,
r2
ld.l
r2
,
TI_FLAGS
,
r4
movi
(
_TIF_SYSCALL_TRACE
| _TIF_SINGLESTEP |
_TIF_SYSCALL_AUDIT
)
,
r6
movi
_TIF_WORK_SYSCALL_MASK
,
r6
and
r6
,
r4
,
r6
beq
/
l
r6
,
ZERO
,
tr0
...
...
arch/sh/kernel/entry-common.S
浏览文件 @
cec3fd3e
...
...
@@ -202,7 +202,7 @@ work_resched:
syscall_exit_work
:
!
r0
:
current_thread_info
->
flags
!
r8
:
current_thread_info
tst
#
_TIF_
SYSCALL_TRACE
| _TIF_SINGLESTEP |
_TIF_SYSCALL_AUDIT
,
r0
tst
#
_TIF_
WORK_SYSCALL_MASK
,
r0
bt
/
s
work_pending
tst
#
_TIF_NEED_RESCHED
,
r0
#ifdef CONFIG_TRACE_IRQFLAGS
...
...
@@ -351,7 +351,7 @@ ENTRY(system_call)
!
get_current_thread_info
r8
,
r10
mov.l
@
(
TI_FLAGS
,
r8
),
r8
mov
#
(
_TIF_SYSCALL_TRACE
|
_TIF_SYSCALL_AUDIT
)
,
r10
mov
#
_TIF_WORK_SYSCALL_MASK
,
r10
tst
r10
,
r8
bf
syscall_trace_entry
!
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录