Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
Kernel Liteos A
提交
e0a6e1f9
K
Kernel Liteos A
项目概览
OpenHarmony
/
Kernel Liteos A
大约 1 年 前同步成功
通知
452
Star
414
Fork
55
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
4
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel Liteos A
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
4
Issue
4
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
e0a6e1f9
编写于
11月 02, 2021
作者:
O
openharmony_ci
提交者:
Gitee
11月 02, 2021
浏览文件
操作
浏览文件
下载
差异文件
!679 fix: 修复OsVmPhysFreeListAdd和OsVmPhysFreeListAddUnsafe函数内容重复
Merge pull request !679 from kenneth/los_vm_phys
上级
e54eb9e3
6827bd2a
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
3 addition
and
36 deletion
+3
-36
kernel/base/vm/los_vm_phys.c
kernel/base/vm/los_vm_phys.c
+3
-36
未找到文件。
kernel/base/vm/los_vm_phys.c
浏览文件 @
e0a6e1f9
...
...
@@ -157,23 +157,6 @@ VOID OsVmPhysInit(VOID)
}
}
STATIC
VOID
OsVmPhysFreeListAdd
(
LosVmPage
*
page
,
UINT8
order
)
{
struct
VmPhysSeg
*
seg
=
NULL
;
struct
VmFreeList
*
list
=
NULL
;
if
(
page
->
segID
>=
VM_PHYS_SEG_MAX
)
{
LOS_Panic
(
"The page segment id(%d) is invalid
\n
"
,
page
->
segID
);
}
page
->
order
=
order
;
seg
=
&
g_vmPhysSeg
[
page
->
segID
];
list
=
&
seg
->
freeList
[
order
];
LOS_ListTailInsert
(
&
list
->
node
,
&
page
->
node
);
list
->
listCnt
++
;
}
STATIC
VOID
OsVmPhysFreeListAddUnsafe
(
LosVmPage
*
page
,
UINT8
order
)
{
struct
VmPhysSeg
*
seg
=
NULL
;
...
...
@@ -207,22 +190,6 @@ STATIC VOID OsVmPhysFreeListDelUnsafe(LosVmPage *page)
page
->
order
=
VM_LIST_ORDER_MAX
;
}
STATIC
VOID
OsVmPhysFreeListDel
(
LosVmPage
*
page
)
{
struct
VmPhysSeg
*
seg
=
NULL
;
struct
VmFreeList
*
list
=
NULL
;
if
((
page
->
segID
>=
VM_PHYS_SEG_MAX
)
||
(
page
->
order
>=
VM_LIST_ORDER_MAX
))
{
LOS_Panic
(
"The page segment id(%u) or order(%u) is invalid
\n
"
,
page
->
segID
,
page
->
order
);
}
seg
=
&
g_vmPhysSeg
[
page
->
segID
];
list
=
&
seg
->
freeList
[
page
->
order
];
list
->
listCnt
--
;
LOS_ListDelete
(
&
page
->
node
);
page
->
order
=
VM_LIST_ORDER_MAX
;
}
STATIC
VOID
OsVmPhysPagesSpiltUnsafe
(
LosVmPage
*
page
,
UINT8
oldOrder
,
UINT8
newOrder
)
{
UINT32
order
;
...
...
@@ -376,14 +343,14 @@ VOID OsVmPhysPagesFree(LosVmPage *page, UINT8 order)
if
((
buddyPage
==
NULL
)
||
(
buddyPage
->
order
!=
order
))
{
break
;
}
OsVmPhysFreeListDel
(
buddyPage
);
OsVmPhysFreeListDel
Unsafe
(
buddyPage
);
order
++
;
pa
&=
~
(
VM_ORDER_TO_PHYS
(
order
)
-
1
);
page
=
OsVmPhysToPage
(
pa
,
page
->
segID
);
}
while
(
order
<
VM_LIST_ORDER_MAX
-
1
);
}
OsVmPhysFreeListAdd
(
page
,
order
);
OsVmPhysFreeListAdd
Unsafe
(
page
,
order
);
}
VOID
OsVmPhysPagesFreeContiguous
(
LosVmPage
*
page
,
size_t
nPages
)
...
...
@@ -553,7 +520,7 @@ VOID OsPhysSharePageCopy(PADDR_T oldPaddr, PADDR_T *newPaddr, LosVmPage *newPage
oldPage
=
LOS_VmPageGet
(
oldPaddr
);
if
(
oldPage
==
NULL
)
{
VM_ERR
(
"invalid
p
addr %p"
,
oldPaddr
);
VM_ERR
(
"invalid
oldP
addr %p"
,
oldPaddr
);
return
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录