Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
792d83ca
提交
792d83ca
8月 28, 2012
创建
作者:
Robert Morris
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
nits
上级
c1ee7eb4
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
12 行增加
和
12 行删除
+12
-12
README
README
+8
-8
vm.c
vm.c
+4
-4
没有找到文件。
README
浏览文件 @
792d83ca
...
@@ -6,7 +6,7 @@ ACKNOWLEDGMENTS
...
@@ -6,7 +6,7 @@ ACKNOWLEDGMENTS
xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer
xv6 is inspired by John Lions's Commentary on UNIX 6th Edition (Peer
to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14,
to Peer Communications; ISBN: 1-57398-013-7; 1st edition (June 14,
2000)). See also http://pdos.csail.mit.edu/6.828/20
07
/v6.html, which
2000)). See also http://pdos.csail.mit.edu/6.828/20
12
/v6.html, which
provides pointers to on-line resources for v6.
provides pointers to on-line resources for v6.
xv6 borrows code from the following sources:
xv6 borrows code from the following sources:
...
@@ -15,7 +15,7 @@ xv6 borrows code from the following sources:
...
@@ -15,7 +15,7 @@ xv6 borrows code from the following sources:
FreeBSD (ioapic.c)
FreeBSD (ioapic.c)
NetBSD (console.c)
NetBSD (console.c)
The following people made contributions:
The following people
have
made contributions:
Russ Cox (context switching, locking)
Russ Cox (context switching, locking)
Cliff Frey (MP)
Cliff Frey (MP)
Xiao Yu (MP)
Xiao Yu (MP)
...
@@ -26,7 +26,7 @@ In addition, we are grateful for the patches contributed by Greg
...
@@ -26,7 +26,7 @@ In addition, we are grateful for the patches contributed by Greg
Price, Yandong Mao, and Hitoshi Mitake.
Price, Yandong Mao, and Hitoshi Mitake.
The code in the files that constitute xv6 is
The code in the files that constitute xv6 is
Copyright 2006-201
1
Frans Kaashoek, Robert Morris, and Russ Cox.
Copyright 2006-201
2
Frans Kaashoek, Robert Morris, and Russ Cox.
ERROR REPORTS
ERROR REPORTS
...
@@ -38,13 +38,13 @@ BUILDING AND RUNNING XV6
...
@@ -38,13 +38,13 @@ BUILDING AND RUNNING XV6
To build xv6 on an x86 ELF machine (like Linux or FreeBSD), run "make".
To build xv6 on an x86 ELF machine (like Linux or FreeBSD), run "make".
On non-x86 or non-ELF machines (like OS X, even on x86), you will
On non-x86 or non-ELF machines (like OS X, even on x86), you will
need to install a cross-compiler gcc suite capable of producing x86 ELF
need to install a cross-compiler gcc suite capable of producing x86 ELF
binaries. See http://pdos.csail.mit.edu/6.828/201
1
/tools.html.
binaries. See http://pdos.csail.mit.edu/6.828/201
2
/tools.html.
Then run "make TOOLPREFIX=i386-jos-elf-".
Then run "make TOOLPREFIX=i386-jos-elf-".
To run xv6, you can use
Bochs or QEMU, both PC simulators.
To run xv6, you can use
the Bochs or QEMU PC simulators. Bochs makes
Bochs makes debugging easier, but QEMU is much faster.
debugging easier, but QEMU is much faster. To run in Bochs, run "make
To run in Bochs, run "make bochs" and then type "c" at the bochs prompt.
bochs" and then type "c" at the bochs prompt. To run in QEMU, run
To run in QEMU, run
"make qemu".
"make qemu".
To create a typeset version of the code, run "make xv6.pdf". This
To create a typeset version of the code, run "make xv6.pdf". This
requires the "mpage" utility. See http://www.mesa.nl/pub/mpage/.
requires the "mpage" utility. See http://www.mesa.nl/pub/mpage/.
vm.c
浏览文件 @
792d83ca
...
@@ -118,10 +118,10 @@ static struct kmap {
...
@@ -118,10 +118,10 @@ static struct kmap {
uint
phys_end
;
uint
phys_end
;
int
perm
;
int
perm
;
}
kmap
[]
=
{
}
kmap
[]
=
{
{
(
void
*
)
KERNBASE
,
0
,
EXTMEM
,
PTE_W
},
// I/O space
{
(
void
*
)
KERNBASE
,
0
,
EXTMEM
,
PTE_W
},
// I/O space
{
(
void
*
)
KERNLINK
,
V2P
(
KERNLINK
),
V2P
(
data
),
0
},
// kernel
text+rodata
{
(
void
*
)
KERNLINK
,
V2P
(
KERNLINK
),
V2P
(
data
),
0
},
// kern
text+rodata
{
(
void
*
)
data
,
V2P
(
data
),
PHYSTOP
,
PTE_W
},
// kernel
data+memory
{
(
void
*
)
data
,
V2P
(
data
),
PHYSTOP
,
PTE_W
},
// kern
data+memory
{
(
void
*
)
DEVSPACE
,
DEVSPACE
,
0
,
PTE_W
},
// more devices
{
(
void
*
)
DEVSPACE
,
DEVSPACE
,
0
,
PTE_W
},
// more devices
};
};
// Set up kernel part of a page table.
// Set up kernel part of a page table.
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论