Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
raspberrypi-kernel
提交
c4b9856b
R
raspberrypi-kernel
项目概览
openeuler
/
raspberrypi-kernel
通知
13
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
raspberrypi-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
c4b9856b
编写于
9月 25, 2014
作者:
V
Vineet Gupta
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
ARC: boot: consolidate cross-checking of h/w and s/w
Signed-off-by:
N
Vineet Gupta
<
vgupta@synopsys.com
>
上级
52e9bae9
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
15 addition
and
29 deletion
+15
-29
arch/arc/kernel/setup.c
arch/arc/kernel/setup.c
+15
-29
未找到文件。
arch/arc/kernel/setup.c
浏览文件 @
c4b9856b
...
...
@@ -236,10 +236,10 @@ static char *arc_extn_mumbojumbo(int cpu_id, char *buf, int len)
return
buf
;
}
static
void
arc_chk_c
cms
(
void
)
static
void
arc_chk_c
ore_config
(
void
)
{
#if defined(CONFIG_ARC_HAS_DCCM) || defined(CONFIG_ARC_HAS_ICCM)
struct
cpuinfo_arc
*
cpu
=
&
cpuinfo_arc700
[
smp_processor_id
()];
int
fpu_enabled
;
#ifdef CONFIG_ARC_HAS_DCCM
/*
...
...
@@ -257,33 +257,20 @@ static void arc_chk_ccms(void)
if
(
CONFIG_ARC_ICCM_SZ
!=
cpu
->
iccm
.
sz
)
panic
(
"Linux built with incorrect ICCM Size
\n
"
);
#endif
#endif
}
/*
* Ensure that FP hardware and kernel config match
* -If hardware contains DPFP, kernel needs to save/restore FPU state
* across context switches
* -If hardware lacks DPFP, but kernel configured to save FPU state then
* kernel trying to access non-existant DPFP regs will crash
*
* We only check for Dbl precision Floating Point, because only DPFP
* hardware has dedicated regs which need to be saved/restored on ctx-sw
* (Single Precision uses core regs), thus kernel is kind of oblivious to it
*/
static
void
arc_chk_fpu
(
void
)
{
struct
cpuinfo_arc
*
cpu
=
&
cpuinfo_arc700
[
smp_processor_id
()];
/*
* FP hardware/software config sanity
* -If hardware contains DPFP, kernel needs to save/restore FPU state
* -If not, it will crash trying to save/restore the non-existant regs
*
* (only DPDP checked since SP has no arch visible regs)
*/
fpu_enabled
=
IS_ENABLED
(
CONFIG_ARC_FPU_SAVE_RESTORE
);
if
(
cpu
->
dpfp
.
ver
)
{
#ifndef CONFIG_ARC_FPU_SAVE_RESTORE
pr_warn
(
"DPFP support broken in this kernel...
\n
"
);
#endif
}
else
{
#ifdef CONFIG_ARC_FPU_SAVE_RESTORE
panic
(
"H/w lacks DPFP support, apps won't work
\n
"
);
#endif
}
if
(
cpu
->
dpfp
.
ver
&&
!
fpu_enabled
)
pr_warn
(
"CONFIG_ARC_FPU_SAVE_RESTORE needed for working apps
\n
"
);
else
if
(
!
cpu
->
dpfp
.
ver
&&
fpu_enabled
)
panic
(
"FPU non-existent, disable CONFIG_ARC_FPU_SAVE_RESTORE
\n
"
);
}
/*
...
...
@@ -304,12 +291,11 @@ void setup_processor(void)
arc_mmu_init
();
arc_cache_init
();
arc_chk_ccms
();
printk
(
arc_extn_mumbojumbo
(
cpu_id
,
str
,
sizeof
(
str
)));
printk
(
arc_platform_smp_cpuinfo
());
arc_chk_
fpu
();
arc_chk_
core_config
();
}
static
inline
int
is_kernel
(
unsigned
long
addr
)
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录