Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
dfe09ae0
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
dfe09ae0
编写于
10月 26, 2012
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
alpha: switch to generic fork/vfork/clone
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
87f1ca8f
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
17 addition
and
59 deletion
+17
-59
arch/alpha/include/asm/unistd.h
arch/alpha/include/asm/unistd.h
+3
-0
arch/alpha/kernel/entry.S
arch/alpha/kernel/entry.S
+11
-31
arch/alpha/kernel/process.c
arch/alpha/kernel/process.c
+0
-25
arch/alpha/kernel/systbls.S
arch/alpha/kernel/systbls.S
+3
-3
未找到文件。
arch/alpha/include/asm/unistd.h
浏览文件 @
dfe09ae0
...
...
@@ -482,6 +482,9 @@
#define __ARCH_WANT_SYS_SIGPENDING
#define __ARCH_WANT_SYS_RT_SIGSUSPEND
#define __ARCH_WANT_SYS_EXECVE
#define __ARCH_WANT_SYS_FORK
#define __ARCH_WANT_SYS_VFORK
#define __ARCH_WANT_SYS_CLONE
/* "Conditional" syscalls. What we want is
...
...
arch/alpha/kernel/entry.S
浏览文件 @
dfe09ae0
...
...
@@ -612,44 +612,24 @@ ret_from_kernel_thread:
*
Special
system
calls
.
Most
of
these
are
special
in
that
they
either
*
have
to
play
switch_stack
games
or
in
some
way
use
the
pt_regs
struct
.
*/
.
macro
fork_like
name
.
align
4
.
globl
sys_fork
.
ent
sys_fork
sys_fork
:
.
globl
alpha_
\
name
.
ent
alpha_
\
name
alpha_
\
name
:
.
prologue
0
bsr
$
1
,
do_switch_stack
bis
$
31
,
SIGCHLD
,
$
16
mov
$
31
,
$
17
mov
$
31
,
$
18
mov
$
31
,
$
19
mov
$
31
,
$
20
jsr
$
26
,
alpha_clone
fork_out
:
jsr
$
26
,
sys_
\
name
ldq
$
26
,
56
(
$sp
)
lda
$sp
,
SWITCH_STACK_SIZE
(
$sp
)
ret
.
end
sys_fork
.
align
4
.
globl
sys_clone
.
ent
sys_clone
sys_clone
:
.
prologue
0
bsr
$
1
,
do_switch_stack
/
*
$
16
,
$
17
,
$
18
,
$
19
,
$
20
come
from
the
user
.
*/
lda
$
26
,
fork_out
jsr
$
31
,
alpha_clone
.
end
sys_clone
.
end
alpha_
\
name
.
endm
.
align
4
.
globl
sys_vfork
.
ent
sys_vfork
sys_vfork
:
.
prologue
0
bsr
$
1
,
do_switch_stack
lda
$
26
,
fork_out
jsr
$
31
,
alpha_vfork
.
end
sys_vfork
fork_like
fork
fork_like
vfork
fork_like
clone
.
align
4
.
globl
sys_sigreturn
...
...
arch/alpha/kernel/process.c
浏览文件 @
dfe09ae0
...
...
@@ -234,31 +234,6 @@ release_thread(struct task_struct *dead_task)
{
}
/*
* "alpha_clone()".. By the time we get here, the
* non-volatile registers have also been saved on the
* stack. We do some ugly pointer stuff here.. (see
* also copy_thread)
*
* Notice that "fork()" is implemented in terms of clone,
* with parameters (SIGCHLD, 0).
*/
int
alpha_clone
(
unsigned
long
clone_flags
,
unsigned
long
usp
,
int
__user
*
parent_tid
,
int
__user
*
child_tid
,
unsigned
long
tls_value
)
{
return
do_fork
(
clone_flags
,
usp
,
current_pt_regs
(),
0
,
parent_tid
,
child_tid
);
}
int
alpha_vfork
(
void
)
{
return
do_fork
(
CLONE_VFORK
|
CLONE_VM
|
SIGCHLD
,
0
,
current_pt_regs
(),
0
,
NULL
,
NULL
);
}
/*
* Copy an alpha thread..
*/
...
...
arch/alpha/kernel/systbls.S
浏览文件 @
dfe09ae0
...
...
@@ -12,7 +12,7 @@
sys_call_table
:
.
quad
alpha_ni_syscall
/*
0
*/
.
quad
sys_exit
.
quad
sys
_fork
.
quad
alpha
_fork
.
quad
sys_read
.
quad
sys_write
.
quad
alpha_ni_syscall
/*
5
*/
...
...
@@ -76,7 +76,7 @@ sys_call_table:
.
quad
sys_getpgrp
.
quad
sys_getpagesize
.
quad
alpha_ni_syscall
/*
65
*/
.
quad
sys
_vfork
.
quad
alpha
_vfork
.
quad
sys_newstat
.
quad
sys_newlstat
.
quad
alpha_ni_syscall
...
...
@@ -330,7 +330,7 @@ sys_call_table:
.
quad
sys_ni_syscall
/*
309
:
old
get_kernel_syms
*/
.
quad
sys_syslog
/*
310
*/
.
quad
sys_reboot
.
quad
sys
_clone
.
quad
alpha
_clone
.
quad
sys_uselib
.
quad
sys_mlock
.
quad
sys_munlock
/*
315
*/
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录