Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
e42b00c6
提交
e42b00c6
4月 06, 2012
创建
作者:
Austin Clements
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Make kernel and user syscall signatures match for sysproc
Except for the pointer arguments to sys_map and sys_unmap, which are opaque uptr's in the kernel.
上级
43a57743
隐藏空白字符变更
内嵌
并排
正在显示
3 个修改的文件
包含
34 行增加
和
34 行删除
+34
-34
kern_c.h
include/kern_c.h
+13
-13
user.h
include/user.h
+3
-3
sysproc.cc
kernel/sysproc.cc
+18
-18
没有找到文件。
include/kern_c.h
浏览文件 @
e42b00c6
...
...
@@ -23,26 +23,26 @@ long sys_chdir(const char*);
long
sys_close
(
int
);
long
sys_dup
(
int
);
long
sys_exec
(
const
char
*
,
u64
);
long
sys_exit
(
void
);
long
sys_fork
(
int
);
int
sys_exit
(
void
)
__attribute__
((
noreturn
)
);
int
sys_fork
(
int
);
long
sys_fstat
(
int
,
struct
stat
*
);
long
sys_getpid
(
void
);
long
sys_kill
(
int
);
int
sys_getpid
(
void
);
int
sys_kill
(
int
);
long
sys_link
(
const
char
*
,
const
char
*
);
long
sys_mkdirat
(
int
,
const
char
*
);
long
sys_mknod
(
const
char
*
,
int
,
int
);
long
sys_openat
(
int
,
const
char
*
,
int
);
long
sys_pipe
(
int
*
);
long
sys_read
(
int
,
char
*
,
int
);
long
sys_sbrk
(
int
);
long
sys_nsleep
(
u64
);
char
*
sys_sbrk
(
int
);
int
sys_nsleep
(
u64
);
long
sys_unlink
(
const
char
*
);
long
sys_wait
(
void
);
int
sys_wait
(
void
);
long
sys_write
(
int
,
const
void
*
,
int
);
long
sys_uptime
(
void
);
long
sys_map
(
uptr
,
u64
);
long
sys_unmap
(
uptr
,
u64
);
long
sys_halt
(
void
);
u64
sys_uptime
(
void
);
int
sys_map
(
uptr
,
size_t
);
int
sys_unmap
(
uptr
,
size_t
);
int
sys_halt
(
void
);
long
sys_socket
(
int
,
int
,
int
);
long
sys_bind
(
int
,
void
*
,
int
);
long
sys_listen
(
int
,
int
);
...
...
@@ -50,9 +50,9 @@ long sys_accept(int, void*, void*);
long
sys_pread
(
int
fd
,
void
*
ubuf
,
size_t
count
,
off_t
offset
);
long
sys_async
(
int
,
size_t
,
off_t
,
u32
,
u32
);
long
sys_script
(
void
*
addr
,
u64
len
,
u64
chunk
);
long
sys_setfs
(
u64
base
);
int
sys_setfs
(
u64
base
);
long
sys_wqwait
(
void
);
long
sys_setaffinity
(
int
cpu
);
int
sys_setaffinity
(
int
cpu
);
long
sys_futex
(
const
u64
*
addr
,
int
op
,
u64
val
,
u64
timer
);
extern
long
(
*
syscalls
[])(
u64
,
u64
,
u64
,
u64
,
u64
);
...
...
include/user.h
浏览文件 @
e42b00c6
...
...
@@ -27,9 +27,9 @@ int getpid(void);
char
*
sbrk
(
int
);
int
nsleep
(
u64
);
u64
uptime
(
void
);
int
map
(
void
*
addr
,
in
t
len
);
int
unmap
(
void
*
addr
,
in
t
len
);
void
halt
(
void
);
int
map
(
void
*
addr
,
size_
t
len
);
int
unmap
(
void
*
addr
,
size_
t
len
);
int
halt
(
void
);
ssize_t
pread
(
int
,
void
*
,
size_t
,
off_t
);
int
async
(
int
,
size_t
,
off_t
,
u32
,
u32
);
int
script
(
void
*
addr
,
u64
len
,
u64
chunk
);
...
...
kernel/sysproc.cc
浏览文件 @
e42b00c6
...
...
@@ -12,50 +12,50 @@
#include "kmtrace.hh"
#include "futex.h"
long
int
sys_fork
(
int
flags
)
{
ANON_REGION
(
__func__
,
&
perfgroup
);
return
fork
(
flags
);
}
long
int
sys_exit
(
void
)
{
exit
();
return
0
;
// not reached
panic
(
"exit() returned"
);
}
long
int
sys_wait
(
void
)
{
ANON_REGION
(
__func__
,
&
perfgroup
);
return
wait
();
}
long
int
sys_kill
(
int
pid
)
{
return
proc
::
kill
(
pid
);
}
long
int
sys_getpid
(
void
)
{
return
myproc
()
->
pid
;
}
long
char
*
sys_sbrk
(
int
n
)
{
uptr
addr
;
if
(
myproc
()
->
vmap
->
sbrk
(
n
,
&
addr
)
<
0
)
return
-
1
;
return
addr
;
return
(
char
*
)
-
1
;
return
(
char
*
)
addr
;
}
long
int
sys_nsleep
(
u64
nsec
)
{
struct
spinlock
lock
;
...
...
@@ -83,14 +83,14 @@ sys_nsleep(u64 nsec)
// return how many clock tick interrupts have occurred
// since boot.
long
u64
sys_uptime
(
void
)
{
return
nsectime
();
}
long
sys_map
(
uptr
addr
,
u64
len
)
int
sys_map
(
uptr
addr
,
size_t
len
)
{
ANON_REGION
(
__func__
,
&
perfgroup
);
...
...
@@ -114,8 +114,8 @@ sys_map(uptr addr, u64 len)
return
r
;
}
long
sys_unmap
(
uptr
addr
,
u64
len
)
int
sys_unmap
(
uptr
addr
,
size_t
len
)
{
ANON_REGION
(
__func__
,
&
perfgroup
);
...
...
@@ -134,7 +134,7 @@ sys_unmap(uptr addr, u64 len)
return
0
;
}
long
int
sys_halt
(
void
)
{
int
i
;
...
...
@@ -145,7 +145,7 @@ sys_halt(void)
return
0
;
}
long
int
sys_setfs
(
u64
base
)
{
proc
*
p
=
myproc
();
...
...
@@ -154,7 +154,7 @@ sys_setfs(u64 base)
return
0
;
}
long
int
sys_setaffinity
(
int
cpu
)
{
return
myproc
()
->
set_cpu_pin
(
cpu
);
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论