Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
d10d324e
提交
d10d324e
8月 22, 2011
创建
作者:
Frans Kaashoek
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Remove sys_init syscall
Invoke initlog from forkret on first user process
上级
39f8cc56
显示空白字符变更
内嵌
并排
正在显示
5 个修改的文件
包含
7 行增加
和
13 行删除
+7
-13
initcode.S
initcode.S
+0
-2
main.c
main.c
+1
-1
proc.c
proc.c
+6
-0
syscall.c
syscall.c
+0
-9
syscall.h
syscall.h
+0
-1
没有找到文件。
initcode.S
浏览文件 @
d10d324e
...
@@ -7,8 +7,6 @@
...
@@ -7,8 +7,6 @@
# exec(init, argv)
# exec(init, argv)
.globl start
.globl start
start:
start:
movl $SYS_init, %eax
int $T_SYSCALL
pushl $argv
pushl $argv
pushl $init
pushl $init
pushl $0 // where caller pc would be
pushl $0 // where caller pc would be
...
...
main.c
浏览文件 @
d10d324e
...
@@ -60,7 +60,7 @@ mpmain(void)
...
@@ -60,7 +60,7 @@ mpmain(void)
scheduler
();
// start running processes
scheduler
();
// start running processes
}
}
pde_t
enterpgdir
[];
pde_t
enterpgdir
[];
// For entry.S
// Start the non-boot (AP) processors.
// Start the non-boot (AP) processors.
static
void
static
void
...
...
proc.c
浏览文件 @
d10d324e
...
@@ -322,9 +322,15 @@ yield(void)
...
@@ -322,9 +322,15 @@ yield(void)
void
void
forkret
(
void
)
forkret
(
void
)
{
{
static
int
first
=
1
;
// Still holding ptable.lock from scheduler.
// Still holding ptable.lock from scheduler.
release
(
&
ptable
.
lock
);
release
(
&
ptable
.
lock
);
if
(
first
)
{
first
=
0
;
initlog
();
}
// Return to "caller", actually trapret (see allocproc).
// Return to "caller", actually trapret (see allocproc).
}
}
...
...
syscall.c
浏览文件 @
d10d324e
...
@@ -99,15 +99,7 @@ extern int sys_wait(void);
...
@@ -99,15 +99,7 @@ extern int sys_wait(void);
extern
int
sys_write
(
void
);
extern
int
sys_write
(
void
);
extern
int
sys_uptime
(
void
);
extern
int
sys_uptime
(
void
);
int
sys_init
(
void
)
{
initlog
();
return
0
;
}
static
int
(
*
syscalls
[])(
void
)
=
{
static
int
(
*
syscalls
[])(
void
)
=
{
[
SYS_init
]
sys_init
,
[
SYS_fork
]
sys_fork
,
[
SYS_fork
]
sys_fork
,
[
SYS_exit
]
sys_exit
,
[
SYS_exit
]
sys_exit
,
[
SYS_wait
]
sys_wait
,
[
SYS_wait
]
sys_wait
,
...
@@ -122,7 +114,6 @@ static int (*syscalls[])(void) = {
...
@@ -122,7 +114,6 @@ static int (*syscalls[])(void) = {
[
SYS_sbrk
]
sys_sbrk
,
[
SYS_sbrk
]
sys_sbrk
,
[
SYS_sleep
]
sys_sleep
,
[
SYS_sleep
]
sys_sleep
,
[
SYS_uptime
]
sys_uptime
,
[
SYS_uptime
]
sys_uptime
,
// File system calls that are run in a transaction:
[
SYS_open
]
sys_open
,
[
SYS_open
]
sys_open
,
[
SYS_write
]
sys_write
,
[
SYS_write
]
sys_write
,
[
SYS_mknod
]
sys_mknod
,
[
SYS_mknod
]
sys_mknod
,
...
...
syscall.h
浏览文件 @
d10d324e
// System call numbers
// System call numbers
#define SYS_init 0
#define SYS_fork 1
#define SYS_fork 1
#define SYS_exit 2
#define SYS_exit 2
#define SYS_wait 3
#define SYS_wait 3
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论