Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
5a812999
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 大约 4 年
通知
14
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
5a812999
编写于
7月 17, 2007
作者:
R
Ralf Baechle
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[MIPS] Workaround for RM7000 WAIT instruction aka erratum 38
Signed-off-by:
N
Ralf Baechle
<
ralf@linux-mips.org
>
上级
17099b11
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
25 addition
and
1 deletion
+25
-1
arch/mips/kernel/cpu-probe.c
arch/mips/kernel/cpu-probe.c
+25
-1
未找到文件。
arch/mips/kernel/cpu-probe.c
浏览文件 @
5a812999
...
...
@@ -75,6 +75,27 @@ static void r4k_wait_irqoff(void)
local_irq_enable
();
}
/*
* The RM7000 variant has to handle erratum 38. The workaround is to not
* have any pending stores when the WAIT instruction is executed.
*/
static
void
rm7k_wait_irqoff
(
void
)
{
local_irq_disable
();
if
(
!
need_resched
())
__asm__
(
" .set push
\n
"
" .set mips3
\n
"
" .set noat
\n
"
" mfc0 $1, $12
\n
"
" sync
\n
"
" mtc0 $1, $12 # stalls until W stage
\n
"
" wait
\n
"
" mtc0 $1, $12 # stalls until W stage
\n
"
" .set pop
\n
"
);
local_irq_enable
();
}
/* The Au1xxx wait is available only if using 32khz counter or
* external timer source, but specifically not CP0 Counter. */
int
allow_au1k_wait
;
...
...
@@ -132,7 +153,6 @@ static inline void check_wait(void)
case
CPU_R4700
:
case
CPU_R5000
:
case
CPU_NEVADA
:
case
CPU_RM7000
:
case
CPU_4KC
:
case
CPU_4KEC
:
case
CPU_4KSC
:
...
...
@@ -142,6 +162,10 @@ static inline void check_wait(void)
cpu_wait
=
r4k_wait
;
break
;
case
CPU_RM7000
:
cpu_wait
=
rm7k_wait_irqoff
;
break
;
case
CPU_24K
:
case
CPU_34K
:
cpu_wait
=
r4k_wait
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录