Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
e426f8e3
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 2 年 前同步成功
通知
173
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看板
提交
e426f8e3
编写于
8月 13, 2011
作者:
R
Russell King
浏览文件
操作
浏览文件
下载
差异文件
Merge branch '3.1-fixes-for-rmk' of
git://linux-arm.org/linux-2.6-wd
into fixes
上级
73e0881d
72dc53ac
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
32 addition
and
27 deletion
+32
-27
arch/arm/include/asm/pmu.h
arch/arm/include/asm/pmu.h
+5
-5
arch/arm/kernel/pmu.c
arch/arm/kernel/pmu.c
+13
-13
arch/arm/kernel/setup.c
arch/arm/kernel/setup.c
+8
-7
arch/arm/kernel/smp_twd.c
arch/arm/kernel/smp_twd.c
+2
-2
arch/arm/mach-realview/include/mach/system.h
arch/arm/mach-realview/include/mach/system.h
+1
-0
tools/perf/arch/arm/util/dwarf-regs.c
tools/perf/arch/arm/util/dwarf-regs.c
+3
-0
未找到文件。
arch/arm/include/asm/pmu.h
浏览文件 @
e426f8e3
...
@@ -41,7 +41,7 @@ struct arm_pmu_platdata {
...
@@ -41,7 +41,7 @@ struct arm_pmu_platdata {
* encoded error on failure.
* encoded error on failure.
*/
*/
extern
struct
platform_device
*
extern
struct
platform_device
*
reserve_pmu
(
enum
arm_pmu_type
devic
e
);
reserve_pmu
(
enum
arm_pmu_type
typ
e
);
/**
/**
* release_pmu() - Relinquish control of the performance counters
* release_pmu() - Relinquish control of the performance counters
...
@@ -62,26 +62,26 @@ release_pmu(enum arm_pmu_type type);
...
@@ -62,26 +62,26 @@ release_pmu(enum arm_pmu_type type);
* the actual hardware initialisation.
* the actual hardware initialisation.
*/
*/
extern
int
extern
int
init_pmu
(
enum
arm_pmu_type
devic
e
);
init_pmu
(
enum
arm_pmu_type
typ
e
);
#else
/* CONFIG_CPU_HAS_PMU */
#else
/* CONFIG_CPU_HAS_PMU */
#include <linux/err.h>
#include <linux/err.h>
static
inline
struct
platform_device
*
static
inline
struct
platform_device
*
reserve_pmu
(
enum
arm_pmu_type
devic
e
)
reserve_pmu
(
enum
arm_pmu_type
typ
e
)
{
{
return
ERR_PTR
(
-
ENODEV
);
return
ERR_PTR
(
-
ENODEV
);
}
}
static
inline
int
static
inline
int
release_pmu
(
struct
platform_device
*
pdev
)
release_pmu
(
enum
arm_pmu_type
type
)
{
{
return
-
ENODEV
;
return
-
ENODEV
;
}
}
static
inline
int
static
inline
int
init_pmu
(
enum
arm_pmu_type
devic
e
)
init_pmu
(
enum
arm_pmu_type
typ
e
)
{
{
return
-
ENODEV
;
return
-
ENODEV
;
}
}
...
...
arch/arm/kernel/pmu.c
浏览文件 @
e426f8e3
...
@@ -31,7 +31,7 @@ static int __devinit pmu_register(struct platform_device *pdev,
...
@@ -31,7 +31,7 @@ static int __devinit pmu_register(struct platform_device *pdev,
{
{
if
(
type
<
0
||
type
>=
ARM_NUM_PMU_DEVICES
)
{
if
(
type
<
0
||
type
>=
ARM_NUM_PMU_DEVICES
)
{
pr_warning
(
"received registration request for unknown "
pr_warning
(
"received registration request for unknown "
"
devic
e %d
\n
"
,
type
);
"
PMU device typ
e %d
\n
"
,
type
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
...
@@ -112,17 +112,17 @@ static int __init register_pmu_driver(void)
...
@@ -112,17 +112,17 @@ static int __init register_pmu_driver(void)
device_initcall
(
register_pmu_driver
);
device_initcall
(
register_pmu_driver
);
struct
platform_device
*
struct
platform_device
*
reserve_pmu
(
enum
arm_pmu_type
devic
e
)
reserve_pmu
(
enum
arm_pmu_type
typ
e
)
{
{
struct
platform_device
*
pdev
;
struct
platform_device
*
pdev
;
if
(
test_and_set_bit_lock
(
devic
e
,
&
pmu_lock
))
{
if
(
test_and_set_bit_lock
(
typ
e
,
&
pmu_lock
))
{
pdev
=
ERR_PTR
(
-
EBUSY
);
pdev
=
ERR_PTR
(
-
EBUSY
);
}
else
if
(
pmu_devices
[
devic
e
]
==
NULL
)
{
}
else
if
(
pmu_devices
[
typ
e
]
==
NULL
)
{
clear_bit_unlock
(
devic
e
,
&
pmu_lock
);
clear_bit_unlock
(
typ
e
,
&
pmu_lock
);
pdev
=
ERR_PTR
(
-
ENODEV
);
pdev
=
ERR_PTR
(
-
ENODEV
);
}
else
{
}
else
{
pdev
=
pmu_devices
[
devic
e
];
pdev
=
pmu_devices
[
typ
e
];
}
}
return
pdev
;
return
pdev
;
...
@@ -130,11 +130,11 @@ reserve_pmu(enum arm_pmu_type device)
...
@@ -130,11 +130,11 @@ reserve_pmu(enum arm_pmu_type device)
EXPORT_SYMBOL_GPL
(
reserve_pmu
);
EXPORT_SYMBOL_GPL
(
reserve_pmu
);
int
int
release_pmu
(
enum
arm_pmu_type
devic
e
)
release_pmu
(
enum
arm_pmu_type
typ
e
)
{
{
if
(
WARN_ON
(
!
pmu_devices
[
devic
e
]))
if
(
WARN_ON
(
!
pmu_devices
[
typ
e
]))
return
-
EINVAL
;
return
-
EINVAL
;
clear_bit_unlock
(
devic
e
,
&
pmu_lock
);
clear_bit_unlock
(
typ
e
,
&
pmu_lock
);
return
0
;
return
0
;
}
}
EXPORT_SYMBOL_GPL
(
release_pmu
);
EXPORT_SYMBOL_GPL
(
release_pmu
);
...
@@ -182,17 +182,17 @@ init_cpu_pmu(void)
...
@@ -182,17 +182,17 @@ init_cpu_pmu(void)
}
}
int
int
init_pmu
(
enum
arm_pmu_type
devic
e
)
init_pmu
(
enum
arm_pmu_type
typ
e
)
{
{
int
err
=
0
;
int
err
=
0
;
switch
(
devic
e
)
{
switch
(
typ
e
)
{
case
ARM_PMU_DEVICE_CPU
:
case
ARM_PMU_DEVICE_CPU
:
err
=
init_cpu_pmu
();
err
=
init_cpu_pmu
();
break
;
break
;
default:
default:
pr_warning
(
"attempt to initialise
unknown device %d
\n
"
,
pr_warning
(
"attempt to initialise
PMU of unknown "
devic
e
);
"type %d
\n
"
,
typ
e
);
err
=
-
EINVAL
;
err
=
-
EINVAL
;
}
}
...
...
arch/arm/kernel/setup.c
浏览文件 @
e426f8e3
...
@@ -280,18 +280,19 @@ static void __init cacheid_init(void)
...
@@ -280,18 +280,19 @@ static void __init cacheid_init(void)
if
(
arch
>=
CPU_ARCH_ARMv6
)
{
if
(
arch
>=
CPU_ARCH_ARMv6
)
{
if
((
cachetype
&
(
7
<<
29
))
==
4
<<
29
)
{
if
((
cachetype
&
(
7
<<
29
))
==
4
<<
29
)
{
/* ARMv7 register format */
/* ARMv7 register format */
arch
=
CPU_ARCH_ARMv7
;
cacheid
=
CACHEID_VIPT_NONALIASING
;
cacheid
=
CACHEID_VIPT_NONALIASING
;
if
((
cachetype
&
(
3
<<
14
))
==
1
<<
14
)
if
((
cachetype
&
(
3
<<
14
))
==
1
<<
14
)
cacheid
|=
CACHEID_ASID_TAGGED
;
cacheid
|=
CACHEID_ASID_TAGGED
;
else
if
(
cpu_has_aliasing_icache
(
CPU_ARCH_ARMv7
))
cacheid
|=
CACHEID_VIPT_I_ALIASING
;
}
else
if
(
cachetype
&
(
1
<<
23
))
{
cacheid
=
CACHEID_VIPT_ALIASING
;
}
else
{
}
else
{
cacheid
=
CACHEID_VIPT_NONALIASING
;
arch
=
CPU_ARCH_ARMv6
;
if
(
cpu_has_aliasing_icache
(
CPU_ARCH_ARMv6
))
if
(
cachetype
&
(
1
<<
23
))
cacheid
|=
CACHEID_VIPT_I_ALIASING
;
cacheid
=
CACHEID_VIPT_ALIASING
;
else
cacheid
=
CACHEID_VIPT_NONALIASING
;
}
}
if
(
cpu_has_aliasing_icache
(
arch
))
cacheid
|=
CACHEID_VIPT_I_ALIASING
;
}
else
{
}
else
{
cacheid
=
CACHEID_VIVT
;
cacheid
=
CACHEID_VIVT
;
}
}
...
...
arch/arm/kernel/smp_twd.c
浏览文件 @
e426f8e3
...
@@ -137,8 +137,8 @@ void __cpuinit twd_timer_setup(struct clock_event_device *clk)
...
@@ -137,8 +137,8 @@ void __cpuinit twd_timer_setup(struct clock_event_device *clk)
clk
->
max_delta_ns
=
clockevent_delta2ns
(
0xffffffff
,
clk
);
clk
->
max_delta_ns
=
clockevent_delta2ns
(
0xffffffff
,
clk
);
clk
->
min_delta_ns
=
clockevent_delta2ns
(
0xf
,
clk
);
clk
->
min_delta_ns
=
clockevent_delta2ns
(
0xf
,
clk
);
clockevents_register_device
(
clk
);
/* Make sure our local interrupt controller has this enabled */
/* Make sure our local interrupt controller has this enabled */
gic_enable_ppi
(
clk
->
irq
);
gic_enable_ppi
(
clk
->
irq
);
clockevents_register_device
(
clk
);
}
}
arch/arm/mach-realview/include/mach/system.h
浏览文件 @
e426f8e3
...
@@ -44,6 +44,7 @@ static inline void arch_reset(char mode, const char *cmd)
...
@@ -44,6 +44,7 @@ static inline void arch_reset(char mode, const char *cmd)
*/
*/
if
(
realview_reset
)
if
(
realview_reset
)
realview_reset
(
mode
);
realview_reset
(
mode
);
dsb
();
}
}
#endif
#endif
tools/perf/arch/arm/util/dwarf-regs.c
浏览文件 @
e426f8e3
...
@@ -8,7 +8,10 @@
...
@@ -8,7 +8,10 @@
* published by the Free Software Foundation.
* published by the Free Software Foundation.
*/
*/
#include <stdlib.h>
#ifndef __UCLIBC__
#include <libio.h>
#include <libio.h>
#endif
#include <dwarf-regs.h>
#include <dwarf-regs.h>
struct
pt_regs_dwarfnum
{
struct
pt_regs_dwarfnum
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录