Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
c6ad7b7d
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看板
提交
c6ad7b7d
编写于
6月 20, 2005
作者:
M
Maciej W. Rozycki
提交者:
Ralf Baechle
10月 29, 2005
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Use macros for the RM7k cp0.config bits instead of magic numbers.
Minor clean-ups. Signed-off-by:
N
Ralf Baechle
<
ralf@linux-mips.org
>
上级
8a185d14
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
11 deletion
+16
-11
arch/mips/mm/sc-rm7k.c
arch/mips/mm/sc-rm7k.c
+9
-9
include/asm-mips/mipsregs.h
include/asm-mips/mipsregs.h
+7
-2
未找到文件。
arch/mips/mm/sc-rm7k.c
浏览文件 @
c6ad7b7d
...
@@ -103,7 +103,7 @@ static __init void __rm7k_sc_enable(void)
...
@@ -103,7 +103,7 @@ static __init void __rm7k_sc_enable(void)
{
{
int
i
;
int
i
;
set_c0_config
(
R7K_CONF_SE
);
set_c0_config
(
R
M
7K_CONF_SE
);
write_c0_taglo
(
0
);
write_c0_taglo
(
0
);
write_c0_taghi
(
0
);
write_c0_taghi
(
0
);
...
@@ -122,16 +122,16 @@ static __init void __rm7k_sc_enable(void)
...
@@ -122,16 +122,16 @@ static __init void __rm7k_sc_enable(void)
static
__init
void
rm7k_sc_enable
(
void
)
static
__init
void
rm7k_sc_enable
(
void
)
{
{
if
(
read_c0_config
()
&
R7K_CONF_SE
)
if
(
read_c0_config
()
&
R
M
7K_CONF_SE
)
return
;
return
;
printk
(
KERN_INFO
"Enabling secondary cache..."
);
printk
(
KERN_INFO
"Enabling secondary cache...
\n
"
);
run_uncached
(
__rm7k_sc_enable
);
run_uncached
(
__rm7k_sc_enable
);
}
}
static
void
rm7k_sc_disable
(
void
)
static
void
rm7k_sc_disable
(
void
)
{
{
clear_c0_config
(
R7K_CONF_SE
);
clear_c0_config
(
R
M
7K_CONF_SE
);
}
}
struct
bcache_ops
rm7k_sc_ops
=
{
struct
bcache_ops
rm7k_sc_ops
=
{
...
@@ -145,19 +145,19 @@ void __init rm7k_sc_init(void)
...
@@ -145,19 +145,19 @@ void __init rm7k_sc_init(void)
{
{
unsigned
int
config
=
read_c0_config
();
unsigned
int
config
=
read_c0_config
();
if
((
config
>>
31
)
&
1
)
/* Bit 31 set -> no S-Cache */
if
((
config
&
RM7K_CONF_SC
))
return
;
return
;
printk
(
KERN_INFO
"Secondary cache size %dK, linesize %d bytes.
\n
"
,
printk
(
KERN_INFO
"Secondary cache size %dK, linesize %d bytes.
\n
"
,
(
scache_size
>>
10
),
sc_lsize
);
(
scache_size
>>
10
),
sc_lsize
);
if
(
!
(
config
&
R7K_CONF_SE
))
if
(
!
(
config
&
R
M
7K_CONF_SE
))
rm7k_sc_enable
();
rm7k_sc_enable
();
/*
/*
* While we're at it let's deal with the tertiary cache.
* While we're at it let's deal with the tertiary cache.
*/
*/
if
(
!
(
(
config
>>
17
)
&
1
))
{
if
(
!
(
config
&
RM7K_CONF_TC
))
{
/*
/*
* We can't enable the L3 cache yet. There may be board-specific
* We can't enable the L3 cache yet. There may be board-specific
...
@@ -170,9 +170,9 @@ void __init rm7k_sc_init(void)
...
@@ -170,9 +170,9 @@ void __init rm7k_sc_init(void)
* to probe it.
* to probe it.
*/
*/
printk
(
KERN_INFO
"Tertiary cache present, %s enabled
\n
"
,
printk
(
KERN_INFO
"Tertiary cache present, %s enabled
\n
"
,
config
&
(
1
<<
12
)
?
"already"
:
"not (yet)"
);
(
config
&
RM7K_CONF_TE
)
?
"already"
:
"not (yet)"
);
if
((
config
>>
12
)
&
1
)
if
((
config
&
RM7K_CONF_TE
)
)
rm7k_tcache_enabled
=
1
;
rm7k_tcache_enabled
=
1
;
}
}
...
...
include/asm-mips/mipsregs.h
浏览文件 @
c6ad7b7d
...
@@ -425,6 +425,7 @@
...
@@ -425,6 +425,7 @@
#define CONF_SM (_ULCAST_(1) << 16)
#define CONF_SM (_ULCAST_(1) << 16)
#define CONF_SC (_ULCAST_(1) << 17)
#define CONF_SC (_ULCAST_(1) << 17)
#define CONF_EW (_ULCAST_(3) << 18)
#define CONF_EW (_ULCAST_(3) << 18)
#define CONF_SB (_ULCAST_(3) << 22)
#define CONF_EP (_ULCAST_(15)<< 24)
#define CONF_EP (_ULCAST_(15)<< 24)
#define CONF_EC (_ULCAST_(7) << 28)
#define CONF_EC (_ULCAST_(7) << 28)
#define CONF_CM (_ULCAST_(1) << 31)
#define CONF_CM (_ULCAST_(1) << 31)
...
@@ -432,14 +433,18 @@
...
@@ -432,14 +433,18 @@
/* Bits specific to the R4xx0. */
/* Bits specific to the R4xx0. */
#define R4K_CONF_SW (_ULCAST_(1) << 20)
#define R4K_CONF_SW (_ULCAST_(1) << 20)
#define R4K_CONF_SS (_ULCAST_(1) << 21)
#define R4K_CONF_SS (_ULCAST_(1) << 21)
#define R4K_CONF_SB (_ULCAST_(3) << 22)
/* Bits specific to the R5000. */
/* Bits specific to the R5000. */
#define R5K_CONF_SE (_ULCAST_(1) << 12)
#define R5K_CONF_SE (_ULCAST_(1) << 12)
#define R5K_CONF_SS (_ULCAST_(3) << 20)
#define R5K_CONF_SS (_ULCAST_(3) << 20)
/* Bits specific to the RM7000. */
/* Bits specific to the RM7000. */
#define R7K_CONF_SE (_ULCAST_(1) << 3)
#define RM7K_CONF_SE (_ULCAST_(1) << 3)
#define RM7K_CONF_TE (_ULCAST_(1) << 12)
#define RM7K_CONF_CLK (_ULCAST_(1) << 16)
#define RM7K_CONF_TC (_ULCAST_(1) << 17)
#define RM7K_CONF_SI (_ULCAST_(3) << 20)
#define RM7K_CONF_SC (_ULCAST_(1) << 31)
/* Bits specific to the R10000. */
/* Bits specific to the R10000. */
#define R10K_CONF_DN (_ULCAST_(3) << 3)
#define R10K_CONF_DN (_ULCAST_(3) << 3)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录