Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
X
xv6-public
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
统计图
问题
0
问题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
银宸时代
OS Lab Group
奖励实验
xv6-public
提交
ac84a025
提交
ac84a025
4月 29, 2012
创建
作者:
Silas Boyd-Wickizer
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'scale-amd64' of
git+ssh://amsterdam.csail.mit.edu/home/am0/6.828/xv6
into scale-amd64
上级
9e847cfe
bbacc5e4
显示空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
3 行增加
和
6 行删除
+3
-6
asharing.cc
bin/asharing.cc
+3
-0
vm.cc
kernel/vm.cc
+0
-6
没有找到文件。
bin/asharing.cc
浏览文件 @
ac84a025
...
@@ -95,6 +95,9 @@ vm2sharing(void *arg)
...
@@ -95,6 +95,9 @@ vm2sharing(void *arg)
MAP_PRIVATE
|
MAP_FIXED
|
MAP_ANONYMOUS
,
-
1
,
0
);
MAP_PRIVATE
|
MAP_FIXED
|
MAP_ANONYMOUS
,
-
1
,
0
);
if
(
res
==
MAP_FAILED
)
if
(
res
==
MAP_FAILED
)
die
(
"asharing: mmap failed"
);
die
(
"asharing: mmap failed"
);
// Fault
for
(
int
i
=
lo
;
i
<
hi
;
i
++
)
base
[
i
*
4096
]
=
42
;
}
else
{
}
else
{
// Unmap
// Unmap
int
res
=
munmap
(
base
+
lo
*
4096
,
(
hi
-
lo
)
*
4096
);
int
res
=
munmap
(
base
+
lo
*
4096
,
(
hi
-
lo
)
*
4096
);
...
...
kernel/vm.cc
浏览文件 @
ac84a025
...
@@ -132,10 +132,7 @@ vmnode::copy()
...
@@ -132,10 +132,7 @@ vmnode::copy()
int
int
vmnode
::
loadpg
(
off_t
off
)
vmnode
::
loadpg
(
off_t
off
)
{
{
#ifdef MTRACE
mtreadavar
(
"inode:%x.%x"
,
ip
->
dev
,
ip
->
inum
);
mtreadavar
(
"inode:%x.%x"
,
ip
->
dev
,
ip
->
inum
);
mtwriteavar
(
"vmnode:%p"
,
this
);
#endif
assert
(
off
<=
sz
);
assert
(
off
<=
sz
);
...
@@ -685,8 +682,6 @@ vmap::pagefault(uptr va, u32 err)
...
@@ -685,8 +682,6 @@ vmap::pagefault(uptr va, u32 err)
*
pte
=
v2p
(
m
->
n
->
page
[
npg
])
|
PTE_P
|
PTE_U
|
PTE_W
;
*
pte
=
v2p
(
m
->
n
->
page
[
npg
])
|
PTE_P
|
PTE_U
|
PTE_W
;
}
}
mtreadavar
(
"vmnode:%p"
,
m
->
n
);
return
1
;
return
1
;
}
}
...
@@ -736,7 +731,6 @@ vmap::pagelookup(uptr va)
...
@@ -736,7 +731,6 @@ vmap::pagelookup(uptr va)
throw_bad_alloc
();
throw_bad_alloc
();
char
*
kptr
=
(
char
*
)(
m
->
n
->
page
[
npg
]);
char
*
kptr
=
(
char
*
)(
m
->
n
->
page
[
npg
]);
mtreadavar
(
"vmnode:%p"
,
m
->
n
);
return
&
kptr
[
va
&
(
PGSIZE
-
1
)];
return
&
kptr
[
va
&
(
PGSIZE
-
1
)];
}
}
...
...
编写
预览
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论