Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
dea82520
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
161
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看板
提交
dea82520
编写于
9月 21, 2017
作者:
V
Vineet Gupta
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ARCv2: boot log: identify HS48 cores (dual issue)
Signed-off-by:
N
Vineet Gupta
<
vgupta@synopsys.com
>
上级
010a8c98
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
16 addition
and
4 deletion
+16
-4
arch/arc/include/asm/arcregs.h
arch/arc/include/asm/arcregs.h
+2
-1
arch/arc/kernel/setup.c
arch/arc/kernel/setup.c
+14
-3
未找到文件。
arch/arc/include/asm/arcregs.h
浏览文件 @
dea82520
...
...
@@ -98,6 +98,7 @@
/* Auxiliary registers */
#define AUX_IDENTITY 4
#define AUX_EXEC_CTRL 8
#define AUX_INTR_VEC_BASE 0x25
#define AUX_VOL 0x5e
...
...
@@ -269,7 +270,7 @@ struct cpuinfo_arc {
struct
cpuinfo_arc_ccm
iccm
,
dccm
;
struct
{
unsigned
int
swap
:
1
,
norm
:
1
,
minmax
:
1
,
barrel
:
1
,
crc
:
1
,
swape
:
1
,
pad1
:
2
,
fpu_sp:
1
,
fpu_dp
:
1
,
pad2
:
6
,
fpu_sp:
1
,
fpu_dp
:
1
,
dual_iss_enb
:
1
,
dual_iss_exist
:
1
,
pad2
:
4
,
debug:
1
,
ap
:
1
,
smart
:
1
,
rtt
:
1
,
pad3
:
4
,
timer0:
1
,
timer1
:
1
,
rtc
:
1
,
gfrc
:
1
,
pad4
:
4
;
}
extn
;
...
...
arch/arc/kernel/setup.c
浏览文件 @
dea82520
...
...
@@ -51,6 +51,7 @@ static const struct id_to_str arc_cpu_rel[] = {
{
0x51
,
"R2.0"
},
{
0x52
,
"R2.1"
},
{
0x53
,
"R3.0"
},
{
0x54
,
"R4.0"
},
#endif
{
0x00
,
NULL
}
};
...
...
@@ -62,6 +63,7 @@ static const struct id_to_str arc_cpu_nm[] = {
#else
{
0x40
,
"ARC EM"
},
{
0x50
,
"ARC HS38"
},
{
0x54
,
"ARC HS48"
},
#endif
{
0x00
,
"Unknown"
}
};
...
...
@@ -133,7 +135,7 @@ static void read_arc_build_cfg_regs(void)
}
for
(
tbl
=
&
arc_cpu_nm
[
0
];
tbl
->
id
!=
0
;
tbl
++
)
{
if
((
cpu
->
core
.
family
&
0xF
0
)
==
tbl
->
id
)
if
((
cpu
->
core
.
family
&
0xF
4
)
==
tbl
->
id
)
break
;
}
cpu
->
name
=
tbl
->
str
;
...
...
@@ -192,6 +194,14 @@ static void read_arc_build_cfg_regs(void)
cpu
->
bpu
.
full
=
bpu
.
ft
;
cpu
->
bpu
.
num_cache
=
256
<<
bpu
.
bce
;
cpu
->
bpu
.
num_pred
=
2048
<<
bpu
.
pte
;
if
(
cpu
->
core
.
family
>=
0x54
)
{
unsigned
int
exec_ctrl
;
READ_BCR
(
AUX_EXEC_CTRL
,
exec_ctrl
);
cpu
->
extn
.
dual_iss_exist
=
1
;
cpu
->
extn
.
dual_iss_enb
=
exec_ctrl
&
1
;
}
}
READ_BCR
(
ARC_REG_AP_BCR
,
bcr
);
...
...
@@ -239,10 +249,11 @@ static char *arc_cpu_mumbojumbo(int cpu_id, char *buf, int len)
"
\n
IDENTITY
\t
: ARCVER [%#02x] ARCNUM [%#02x] CHIPID [%#4x]
\n
"
,
core
->
family
,
core
->
cpu_id
,
core
->
chip_id
);
n
+=
scnprintf
(
buf
+
n
,
len
-
n
,
"processor [%d]
\t
: %s %s (%s ISA) %s
\n
"
,
n
+=
scnprintf
(
buf
+
n
,
len
-
n
,
"processor [%d]
\t
: %s %s (%s ISA) %s
%s%s
\n
"
,
cpu_id
,
cpu
->
name
,
cpu
->
details
,
is_isa_arcompact
()
?
"ARCompact"
:
"ARCv2"
,
IS_AVAIL1
(
cpu
->
isa
.
be
,
"[Big-Endian]"
));
IS_AVAIL1
(
cpu
->
isa
.
be
,
"[Big-Endian]"
),
IS_AVAIL3
(
cpu
->
extn
.
dual_iss_exist
,
cpu
->
extn
.
dual_iss_enb
,
" Dual-Issue"
));
n
+=
scnprintf
(
buf
+
n
,
len
-
n
,
"Timers
\t\t
: %s%s%s%s%s%s
\n
ISA Extn
\t
: "
,
IS_AVAIL1
(
cpu
->
extn
.
timer0
,
"Timer0 "
),
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录