Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
gsplhtlxg
clone-Linux
提交
f01aceac
C
clone-Linux
项目概览
gsplhtlxg
/
clone-Linux
通知
2
Star
0
Fork
1
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
C
clone-Linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
f01aceac
编写于
10月 26, 2012
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
hexagon: switch to generic clone()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
0ad9513d
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
6 addition
and
52 deletion
+6
-52
arch/hexagon/include/uapi/asm/unistd.h
arch/hexagon/include/uapi/asm/unistd.h
+1
-0
arch/hexagon/kernel/Makefile
arch/hexagon/kernel/Makefile
+1
-2
arch/hexagon/kernel/process.c
arch/hexagon/kernel/process.c
+4
-3
arch/hexagon/kernel/syscall.c
arch/hexagon/kernel/syscall.c
+0
-47
未找到文件。
arch/hexagon/include/uapi/asm/unistd.h
浏览文件 @
f01aceac
...
...
@@ -28,5 +28,6 @@
#define sys_mmap2 sys_mmap_pgoff
#define __ARCH_WANT_SYS_EXECVE
#define __ARCH_WANT_SYS_CLONE
#include <asm-generic/unistd.h>
arch/hexagon/kernel/Makefile
浏览文件 @
f01aceac
...
...
@@ -3,8 +3,7 @@ extra-y := head.o vmlinux.lds
obj-$(CONFIG_SMP)
+=
smp.o topology.o
obj-y
+=
setup.o irq_cpu.o traps.o syscalltab.o signal.o time.o
obj-y
+=
process.o syscall.o trampoline.o reset.o ptrace.o
obj-y
+=
vdso.o
obj-y
+=
process.o trampoline.o reset.o ptrace.o vdso.o
obj-$(CONFIG_KGDB)
+=
kgdb.o
obj-$(CONFIG_MODULES)
+=
module.o hexagon_ksyms.o
...
...
arch/hexagon/kernel/process.c
浏览文件 @
f01aceac
...
...
@@ -88,7 +88,7 @@ unsigned long thread_saved_pc(struct task_struct *tsk)
*/
int
copy_thread
(
unsigned
long
clone_flags
,
unsigned
long
usp
,
unsigned
long
arg
,
struct
task_struct
*
p
,
struct
pt_regs
*
regs
)
struct
pt_regs
*
unused
)
{
struct
thread_info
*
ti
=
task_thread_info
(
p
);
struct
hexagon_switch_stack
*
ss
;
...
...
@@ -117,9 +117,10 @@ int copy_thread(unsigned long clone_flags, unsigned long usp,
pt_set_kmode
(
childregs
);
return
0
;
}
memcpy
(
childregs
,
regs
,
sizeof
(
*
childregs
));
memcpy
(
childregs
,
current_pt_regs
()
,
sizeof
(
*
childregs
));
ss
->
r2524
=
0
;
if
(
usp
)
pt_set_rte_sp
(
childregs
,
usp
);
/* Child sees zero return value */
...
...
arch/hexagon/kernel/syscall.c
已删除
100644 → 0
浏览文件 @
0ad9513d
/*
* Hexagon system calls
*
* Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*/
#include <linux/file.h>
#include <linux/fs.h>
#include <linux/linkage.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/sched.h>
#include <linux/slab.h>
#include <linux/syscalls.h>
#include <linux/unistd.h>
#include <asm/mman.h>
#include <asm/registers.h>
/*
* System calls with architecture-specific wrappers.
* See signal.c for signal-related system call wrappers.
*/
asmlinkage
int
sys_clone
(
unsigned
long
clone_flags
,
unsigned
long
newsp
,
unsigned
long
parent_tidp
,
unsigned
long
child_tidp
)
{
struct
pt_regs
*
pregs
=
current_pt_regs
();
if
(
!
newsp
)
newsp
=
pregs
->
SP
;
return
do_fork
(
clone_flags
,
newsp
,
pregs
,
0
,
(
int
__user
*
)
parent_tidp
,
(
int
__user
*
)
child_tidp
);
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录