Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
5fae1b66
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
5fae1b66
编写于
10月 10, 2012
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
h8300: generic kernel_execve()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
557e1995
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
2 addition
and
28 deletion
+2
-28
arch/h8300/Kconfig
arch/h8300/Kconfig
+1
-0
arch/h8300/kernel/entry.S
arch/h8300/kernel/entry.S
+1
-2
arch/h8300/kernel/sys_h8300.c
arch/h8300/kernel/sys_h8300.c
+0
-26
未找到文件。
arch/h8300/Kconfig
浏览文件 @
5fae1b66
...
...
@@ -9,6 +9,7 @@ config H8300
select GENERIC_CPU_DEVICES
select MODULES_USE_ELF_RELA
select GENERIC_KERNEL_THREAD
select GENERIC_KERNEL_EXECVE
config SYMBOL_PREFIX
string
...
...
arch/h8300/kernel/entry.S
浏览文件 @
5fae1b66
...
...
@@ -337,8 +337,7 @@ SYMBOL_NAME_LABEL(ret_from_kernel_thread)
mov.l
@
(
LER4
:
16
,
sp
),
er0
mov.l
@
(
LER5
:
16
,
sp
),
er1
jsr
@
er1
sub.l
@
er0
,
@
er0
jsr
@
SYMBOL_NAME
(
sys_exit
)
jmp
@
SYMBOL_NAME
(
ret_from_exception
)
SYMBOL_NAME_LABEL
(
resume
)
/
*
...
...
arch/h8300/kernel/sys_h8300.c
浏览文件 @
5fae1b66
...
...
@@ -46,29 +46,3 @@ asmlinkage void syscall_print(void *dummy,...)
((
regs
->
pc
)
&
0xffffff
)
-
2
,
regs
->
orig_er0
,
regs
->
er1
,
regs
->
er2
,
regs
->
er3
,
regs
->
er0
);
}
#endif
/*
* Do a system call from kernel instead of calling sys_execve so we
* end up with proper pt_regs.
*/
asmlinkage
int
kernel_execve
(
const
char
*
filename
,
const
char
*
const
argv
[],
const
char
*
const
envp
[])
{
register
long
res
__asm__
(
"er0"
);
register
const
char
*
const
*
_c
__asm__
(
"er3"
)
=
envp
;
register
const
char
*
const
*
_b
__asm__
(
"er2"
)
=
argv
;
register
const
char
*
_a
__asm__
(
"er1"
)
=
filename
;
__asm__
__volatile__
(
"mov.l %1,er0
\n\t
"
"trapa #0
\n\t
"
:
"=r"
(
res
)
:
"g"
(
__NR_execve
),
"g"
(
_a
),
"g"
(
_b
),
"g"
(
_c
)
:
"cc"
,
"memory"
);
return
res
;
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录