Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
a58e1a2a
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
a58e1a2a
编写于
8月 15, 2009
作者:
P
Paul Mundt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sh: Convert SH-2A to new cacheflush interface.
Signed-off-by:
N
Paul Mundt
<
lethal@linux-sh.org
>
上级
109b44a8
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
19 addition
and
34 deletion
+19
-34
arch/sh/include/cpu-sh2a/cpu/cacheflush.h
arch/sh/include/cpu-sh2a/cpu/cacheflush.h
+0
-30
arch/sh/mm/cache-sh2a.c
arch/sh/mm/cache-sh2a.c
+13
-4
arch/sh/mm/cache.c
arch/sh/mm/cache.c
+6
-0
未找到文件。
arch/sh/include/cpu-sh2a/cpu/cacheflush.h
已删除
100644 → 0
浏览文件 @
109b44a8
#ifndef __ASM_CPU_SH2A_CACHEFLUSH_H
#define __ASM_CPU_SH2A_CACHEFLUSH_H
/*
* Cache flushing:
*
* - flush_cache_all() flushes entire cache
* - flush_cache_mm(mm) flushes the specified mm context's cache lines
* - flush_cache_dup mm(mm) handles cache flushing when forking
* - flush_cache_page(mm, vmaddr, pfn) flushes a single page
* - flush_cache_range(vma, start, end) flushes a range of pages
*
* - flush_dcache_page(pg) flushes(wback&invalidates) a page for dcache
* - flush_icache_range(start, end) flushes(invalidates) a range for icache
* - flush_icache_page(vma, pg) flushes(invalidates) a page for icache
*
* Caches are indexed (effectively) by physical address on SH-2, so
* we don't need them.
*/
#define flush_cache_all() do { } while (0)
#define flush_cache_mm(mm) do { } while (0)
#define flush_cache_dup_mm(mm) do { } while (0)
#define flush_cache_range(vma, start, end) do { } while (0)
#define flush_cache_page(vma, vmaddr, pfn) do { } while (0)
#define flush_dcache_page(page) do { } while (0)
void
flush_icache_range
(
unsigned
long
start
,
unsigned
long
end
);
#define flush_icache_page(vma,pg) do { } while (0)
#define flush_cache_sigtramp(vaddr) do { } while (0)
#endif
/* __ASM_CPU_SH2A_CACHEFLUSH_H */
arch/sh/mm/cache-sh2a.c
浏览文件 @
a58e1a2a
...
...
@@ -15,7 +15,7 @@
#include <asm/cacheflush.h>
#include <asm/io.h>
void
__flush_wback_region
(
void
*
start
,
int
size
)
static
void
sh2a
__flush_wback_region
(
void
*
start
,
int
size
)
{
unsigned
long
v
;
unsigned
long
begin
,
end
;
...
...
@@ -44,7 +44,7 @@ void __flush_wback_region(void *start, int size)
local_irq_restore
(
flags
);
}
void
__flush_purge_region
(
void
*
start
,
int
size
)
static
void
sh2a
__flush_purge_region
(
void
*
start
,
int
size
)
{
unsigned
long
v
;
unsigned
long
begin
,
end
;
...
...
@@ -65,7 +65,7 @@ void __flush_purge_region(void *start, int size)
local_irq_restore
(
flags
);
}
void
__flush_invalidate_region
(
void
*
start
,
int
size
)
static
void
sh2a
__flush_invalidate_region
(
void
*
start
,
int
size
)
{
unsigned
long
v
;
unsigned
long
begin
,
end
;
...
...
@@ -97,7 +97,7 @@ void __flush_invalidate_region(void *start, int size)
}
/* WBack O-Cache and flush I-Cache */
void
flush_icache_range
(
unsigned
long
start
,
unsigned
long
end
)
static
void
sh2a_
flush_icache_range
(
unsigned
long
start
,
unsigned
long
end
)
{
unsigned
long
v
;
unsigned
long
flags
;
...
...
@@ -127,3 +127,12 @@ void flush_icache_range(unsigned long start, unsigned long end)
back_to_cached
();
local_irq_restore
(
flags
);
}
void
__init
sh2a_cache_init
(
void
)
{
flush_icache_range
=
sh2a_flush_icache_range
;
__flush_wback_region
=
sh2a__flush_wback_region
;
__flush_purge_region
=
sh2a__flush_purge_region
;
__flush_invalidate_region
=
sh2a__flush_invalidate_region
;
}
arch/sh/mm/cache.c
浏览文件 @
a58e1a2a
...
...
@@ -250,6 +250,12 @@ void __init cpu_cache_init(void)
sh2_cache_init
();
}
if
(
boot_cpu_data
.
family
==
CPU_FAMILY_SH2A
)
{
extern
void
__weak
sh2a_cache_init
(
void
);
sh2a_cache_init
();
}
if
((
boot_cpu_data
.
family
==
CPU_FAMILY_SH4
)
||
(
boot_cpu_data
.
family
==
CPU_FAMILY_SH4A
)
||
(
boot_cpu_data
.
family
==
CPU_FAMILY_SH4AL_DSP
))
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录