Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
6f52707e
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6f52707e
编写于
8月 06, 2008
作者:
P
Paul Mundt
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
sh: smp: Hook up a timer IPI stub.
Signed-off-by:
N
Paul Mundt
<
lethal@linux-sh.org
>
上级
c7936b9a
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
31 addition
and
6 deletion
+31
-6
arch/sh/include/asm/smp.h
arch/sh/include/asm/smp.h
+13
-6
arch/sh/kernel/smp.c
arch/sh/kernel/smp.c
+18
-0
未找到文件。
arch/sh/include/asm/smp.h
浏览文件 @
6f52707e
...
...
@@ -21,19 +21,26 @@ extern int __cpu_number_map[NR_CPUS];
extern
int
__cpu_logical_map
[
NR_CPUS
];
#define cpu_logical_map(cpu) __cpu_logical_map[cpu]
#define SMP_MSG_FUNCTION 0
#define SMP_MSG_RESCHEDULE 1
#define SMP_MSG_FUNCTION_SINGLE 2
#define SMP_MSG_NR 3
enum
{
SMP_MSG_FUNCTION
,
SMP_MSG_RESCHEDULE
,
SMP_MSG_FUNCTION_SINGLE
,
SMP_MSG_TIMER
,
SMP_MSG_NR
,
/* must be last */
};
void
smp_message_recv
(
unsigned
int
msg
);
void
smp_timer_broadcast
(
cpumask_t
mask
);
void
plat_smp_setup
(
void
);
void
plat_prepare_cpus
(
unsigned
int
max_cpus
);
int
plat_smp_processor_id
(
void
);
void
plat_start_cpu
(
unsigned
int
cpu
,
unsigned
long
entry_point
);
void
plat_send_ipi
(
unsigned
int
cpu
,
unsigned
int
message
);
extern
void
arch_send_call_function_single_ipi
(
int
cpu
);
extern
void
arch_send_call_function_ipi
(
cpumask_t
mask
);
void
arch_send_call_function_single_ipi
(
int
cpu
);
void
arch_send_call_function_ipi
(
cpumask_t
mask
);
#else
...
...
arch/sh/kernel/smp.c
浏览文件 @
6f52707e
...
...
@@ -184,6 +184,21 @@ void arch_send_call_function_single_ipi(int cpu)
plat_send_ipi
(
cpu
,
SMP_MSG_FUNCTION_SINGLE
);
}
void
smp_timer_broadcast
(
cpumask_t
mask
)
{
int
cpu
;
for_each_cpu_mask
(
cpu
,
mask
)
plat_send_ipi
(
cpu
,
SMP_MSG_TIMER
);
}
static
void
ipi_timer
(
void
)
{
irq_enter
();
/* XXX ... */
irq_exit
();
}
void
smp_message_recv
(
unsigned
int
msg
)
{
switch
(
msg
)
{
...
...
@@ -195,6 +210,9 @@ void smp_message_recv(unsigned int msg)
case
SMP_MSG_FUNCTION_SINGLE
:
generic_smp_call_function_single_interrupt
();
break
;
case
SMP_MSG_TIMER
:
ipi_timer
();
break
;
default:
printk
(
KERN_WARNING
"SMP %d: %s(): unknown IPI %d
\n
"
,
smp_processor_id
(),
__func__
,
msg
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录