Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
6ec25809
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6ec25809
编写于
10月 12, 2005
作者:
R
Ralf Baechle
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Rename page argument of flush_cache_page to something more descriptive.
Signed-off-by:
N
Ralf Baechle
<
ralf@linux-mips.org
>
上级
8f91ed6c
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
17 addition
and
16 deletion
+17
-16
arch/mips/mm/c-r4k.c
arch/mips/mm/c-r4k.c
+17
-16
未找到文件。
arch/mips/mm/c-r4k.c
浏览文件 @
6ec25809
...
...
@@ -368,14 +368,14 @@ static void r4k_flush_cache_mm(struct mm_struct *mm)
struct
flush_cache_page_args
{
struct
vm_area_struct
*
vma
;
unsigned
long
page
;
unsigned
long
addr
;
};
static
inline
void
local_r4k_flush_cache_page
(
void
*
args
)
{
struct
flush_cache_page_args
*
fcp_args
=
args
;
struct
vm_area_struct
*
vma
=
fcp_args
->
vma
;
unsigned
long
page
=
fcp_args
->
page
;
unsigned
long
addr
=
fcp_args
->
addr
;
int
exec
=
vma
->
vm_flags
&
VM_EXEC
;
struct
mm_struct
*
mm
=
vma
->
vm_mm
;
pgd_t
*
pgdp
;
...
...
@@ -390,11 +390,11 @@ static inline void local_r4k_flush_cache_page(void *args)
if
(
cpu_context
(
smp_processor_id
(),
mm
)
==
0
)
return
;
page
&=
PAGE_MASK
;
pgdp
=
pgd_offset
(
mm
,
page
);
pudp
=
pud_offset
(
pgdp
,
page
);
pmdp
=
pmd_offset
(
pudp
,
page
);
ptep
=
pte_offset
(
pmdp
,
page
);
addr
&=
PAGE_MASK
;
pgdp
=
pgd_offset
(
mm
,
addr
);
pudp
=
pud_offset
(
pgdp
,
addr
);
pmdp
=
pmd_offset
(
pudp
,
addr
);
ptep
=
pte_offset
(
pmdp
,
addr
);
/*
* If the page isn't marked valid, the page cannot possibly be
...
...
@@ -411,12 +411,12 @@ static inline void local_r4k_flush_cache_page(void *args)
*/
if
((
mm
==
current
->
active_mm
)
&&
(
pte_val
(
*
ptep
)
&
_PAGE_VALID
))
{
if
(
cpu_has_dc_aliases
||
(
exec
&&
!
cpu_has_ic_fills_f_dc
))
{
r4k_blast_dcache_page
(
page
);
r4k_blast_dcache_page
(
addr
);
if
(
exec
&&
!
cpu_icache_snoops_remote_store
)
r4k_blast_scache_page
(
page
);
r4k_blast_scache_page
(
addr
);
}
if
(
exec
)
r4k_blast_icache_page
(
page
);
r4k_blast_icache_page
(
addr
);
return
;
}
...
...
@@ -425,11 +425,11 @@ static inline void local_r4k_flush_cache_page(void *args)
* Do indexed flush, too much work to get the (possible) TLB refills
* to work correctly.
*/
page
=
INDEX_BASE
+
(
page
&
(
dcache_size
-
1
));
addr
=
INDEX_BASE
+
(
addr
&
(
dcache_size
-
1
));
if
(
cpu_has_dc_aliases
||
(
exec
&&
!
cpu_has_ic_fills_f_dc
))
{
r4k_blast_dcache_page_indexed
(
page
);
r4k_blast_dcache_page_indexed
(
addr
);
if
(
exec
&&
!
cpu_icache_snoops_remote_store
)
r4k_blast_scache_page_indexed
(
page
);
r4k_blast_scache_page_indexed
(
addr
);
}
if
(
exec
)
{
if
(
cpu_has_vtag_icache
)
{
...
...
@@ -438,16 +438,17 @@ static inline void local_r4k_flush_cache_page(void *args)
if
(
cpu_context
(
cpu
,
mm
)
!=
0
)
drop_mmu_context
(
mm
,
cpu
);
}
else
r4k_blast_icache_page_indexed
(
page
);
r4k_blast_icache_page_indexed
(
addr
);
}
}
static
void
r4k_flush_cache_page
(
struct
vm_area_struct
*
vma
,
unsigned
long
page
,
unsigned
long
pfn
)
static
void
r4k_flush_cache_page
(
struct
vm_area_struct
*
vma
,
unsigned
long
addr
,
unsigned
long
pfn
)
{
struct
flush_cache_page_args
args
;
args
.
vma
=
vma
;
args
.
page
=
page
;
args
.
addr
=
addr
;
on_each_cpu
(
local_r4k_flush_cache_page
,
&
args
,
1
,
1
);
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录