Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
9b2616c2
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
9b2616c2
编写于
8月 15, 2009
作者:
R
Russell King
提交者:
Russell King
8月 15, 2009
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'for-rmk-2.6.32' of
git://git.pengutronix.de/git/ukl/linux-2.6
into devel-stable
上级
590a94d9
ac25150f
变更
8
隐藏空白更改
内联
并排
Showing
8 changed file
with
73 addition
and
128 deletion
+73
-128
arch/arm/Kconfig
arch/arm/Kconfig
+2
-113
arch/arm/include/asm/assembler.h
arch/arm/include/asm/assembler.h
+44
-5
arch/arm/include/asm/ftrace.h
arch/arm/include/asm/ftrace.h
+1
-0
arch/arm/kernel/armksyms.c
arch/arm/kernel/armksyms.c
+1
-0
arch/arm/kernel/entry-armv.S
arch/arm/kernel/entry-armv.S
+4
-6
arch/arm/kernel/entry-common.S
arch/arm/kernel/entry-common.S
+19
-0
arch/arm/lib/bitops.h
arch/arm/lib/bitops.h
+1
-1
arch/arm/mach-netx/include/mach/entry-macro.S
arch/arm/mach-netx/include/mach/entry-macro.S
+1
-3
未找到文件。
arch/arm/Kconfig
浏览文件 @
9b2616c2
...
...
@@ -965,18 +965,7 @@ config LOCAL_TIMERS
accounting to be spread across the timer interval, preventing a
"thundering herd" at every timer tick.
config PREEMPT
bool "Preemptible Kernel (EXPERIMENTAL)"
depends on EXPERIMENTAL
help
This option reduces the latency of the kernel when reacting to
real-time or interactive events by allowing a low priority process to
be preempted even if it is in kernel mode executing a system call.
This allows applications to run more reliably even when the system is
under load.
Say Y here if you are building a kernel for a desktop, embedded
or real-time system. Say N if you are unsure.
source kernel/Kconfig.preempt
config HZ
int
...
...
@@ -1395,107 +1384,7 @@ endmenu
source "net/Kconfig"
menu "Device Drivers"
source "drivers/base/Kconfig"
source "drivers/connector/Kconfig"
if ALIGNMENT_TRAP || !CPU_CP15_MMU
source "drivers/mtd/Kconfig"
endif
source "drivers/parport/Kconfig"
source "drivers/pnp/Kconfig"
source "drivers/block/Kconfig"
# misc before ide - BLK_DEV_SGIIOC4 depends on SGI_IOC4
source "drivers/misc/Kconfig"
source "drivers/ide/Kconfig"
source "drivers/scsi/Kconfig"
source "drivers/ata/Kconfig"
source "drivers/md/Kconfig"
source "drivers/message/fusion/Kconfig"
source "drivers/ieee1394/Kconfig"
source "drivers/message/i2o/Kconfig"
source "drivers/net/Kconfig"
source "drivers/isdn/Kconfig"
# input before char - char/joystick depends on it. As does USB.
source "drivers/input/Kconfig"
source "drivers/char/Kconfig"
source "drivers/i2c/Kconfig"
source "drivers/spi/Kconfig"
source "drivers/gpio/Kconfig"
source "drivers/w1/Kconfig"
source "drivers/power/Kconfig"
source "drivers/hwmon/Kconfig"
source "drivers/thermal/Kconfig"
source "drivers/watchdog/Kconfig"
source "drivers/ssb/Kconfig"
#source "drivers/l3/Kconfig"
source "drivers/mfd/Kconfig"
source "drivers/media/Kconfig"
source "drivers/video/Kconfig"
source "sound/Kconfig"
source "drivers/hid/Kconfig"
source "drivers/usb/Kconfig"
source "drivers/uwb/Kconfig"
source "drivers/mmc/Kconfig"
source "drivers/memstick/Kconfig"
source "drivers/accessibility/Kconfig"
source "drivers/leds/Kconfig"
source "drivers/rtc/Kconfig"
source "drivers/dma/Kconfig"
source "drivers/dca/Kconfig"
source "drivers/auxdisplay/Kconfig"
source "drivers/regulator/Kconfig"
source "drivers/uio/Kconfig"
source "drivers/staging/Kconfig"
endmenu
source "drivers/Kconfig"
source "fs/Kconfig"
...
...
arch/arm/include/asm/assembler.h
浏览文件 @
9b2616c2
...
...
@@ -74,23 +74,56 @@
* Enable and disable interrupts
*/
#if __LINUX_ARM_ARCH__ >= 6
.
macro
disable_irq
.
macro
disable_irq
_notrace
cpsid
i
.
endm
.
macro
enable_irq
.
macro
enable_irq
_notrace
cpsie
i
.
endm
#else
.
macro
disable_irq
.
macro
disable_irq
_notrace
msr
cpsr_c
,
#
PSR_I_BIT
|
SVC_MODE
.
endm
.
macro
enable_irq
.
macro
enable_irq
_notrace
msr
cpsr_c
,
#
SVC_MODE
.
endm
#endif
.
macro
asm_trace_hardirqs_off
#if defined(CONFIG_TRACE_IRQFLAGS)
stmdb
sp
!
,
{
r0
-
r3
,
ip
,
lr
}
bl
trace_hardirqs_off
ldmia
sp
!
,
{
r0
-
r3
,
ip
,
lr
}
#endif
.
endm
.
macro
asm_trace_hardirqs_on_cond
,
cond
#if defined(CONFIG_TRACE_IRQFLAGS)
/*
* actually the registers should be pushed and pop'd conditionally, but
* after bl the flags are certainly clobbered
*/
stmdb
sp
!
,
{
r0
-
r3
,
ip
,
lr
}
bl
\
cond
trace_hardirqs_on
ldmia
sp
!
,
{
r0
-
r3
,
ip
,
lr
}
#endif
.
endm
.
macro
asm_trace_hardirqs_on
asm_trace_hardirqs_on_cond
al
.
endm
.
macro
disable_irq
disable_irq_notrace
asm_trace_hardirqs_off
.
endm
.
macro
enable_irq
asm_trace_hardirqs_on
enable_irq_notrace
.
endm
/*
* Save the current IRQ state and disable IRQs. Note that this macro
* assumes FIQs are enabled, and that the processor is in SVC mode.
...
...
@@ -104,10 +137,16 @@
* Restore interrupt state previously stored in a register. We don't
* guarantee that this will preserve the flags.
*/
.
macro
restore_irqs
,
oldcpsr
.
macro
restore_irqs
_notrace
,
oldcpsr
msr
cpsr_c
,
\
oldcpsr
.
endm
.
macro
restore_irqs
,
oldcpsr
tst
\
oldcpsr
,
#
PSR_I_BIT
asm_trace_hardirqs_on_cond
eq
restore_irqs_notrace
\
oldcpsr
.
endm
#define USER(x...) \
9999: x; \
.section __ex_table,"a"; \
...
...
arch/arm/include/asm/ftrace.h
浏览文件 @
9b2616c2
...
...
@@ -7,6 +7,7 @@
#ifndef __ASSEMBLY__
extern
void
mcount
(
void
);
extern
void
__gnu_mcount_nc
(
void
);
#endif
#endif
...
...
arch/arm/kernel/armksyms.c
浏览文件 @
9b2616c2
...
...
@@ -186,4 +186,5 @@ EXPORT_SYMBOL(_find_next_bit_be);
#ifdef CONFIG_FUNCTION_TRACER
EXPORT_SYMBOL
(
mcount
);
EXPORT_SYMBOL
(
__gnu_mcount_nc
);
#endif
arch/arm/kernel/entry-armv.S
浏览文件 @
9b2616c2
...
...
@@ -161,6 +161,8 @@ ENDPROC(__und_invalid)
@
r4
-
orig_r0
(
see
pt_regs
definition
in
ptrace
.
h
)
@
stmia
r5
,
{
r0
-
r4
}
asm_trace_hardirqs_off
.
endm
.
align
5
...
...
@@ -215,9 +217,6 @@ ENDPROC(__dabt_svc)
__irq_svc
:
svc_entry
#ifdef CONFIG_TRACE_IRQFLAGS
bl
trace_hardirqs_off
#endif
#ifdef CONFIG_PREEMPT
get_thread_info
tsk
ldr
r8
,
[
tsk
,
#
TI_PREEMPT
]
@
get
preempt
count
...
...
@@ -391,6 +390,8 @@ ENDPROC(__pabt_svc)
@
Clear
FP
to
mark
the
first
stack
frame
@
zero_fp
asm_trace_hardirqs_off
.
endm
.
macro
kuser_cmpxchg_check
...
...
@@ -445,9 +446,6 @@ __irq_usr:
usr_entry
kuser_cmpxchg_check
#ifdef CONFIG_TRACE_IRQFLAGS
bl
trace_hardirqs_off
#endif
get_thread_info
tsk
#ifdef CONFIG_PREEMPT
ldr
r8
,
[
tsk
,
#
TI_PREEMPT
]
@
get
preempt
count
...
...
arch/arm/kernel/entry-common.S
浏览文件 @
9b2616c2
...
...
@@ -118,6 +118,25 @@ ftrace_call:
#else
ENTRY
(
__gnu_mcount_nc
)
stmdb
sp
!,
{
r0
-
r3
,
lr
}
ldr
r0
,
=
ftrace_trace_function
ldr
r2
,
[
r0
]
adr
r0
,
ftrace_stub
cmp
r0
,
r2
bne
gnu_trace
ldmia
sp
!,
{
r0
-
r3
,
ip
,
lr
}
bx
ip
gnu_trace
:
ldr
r1
,
[
sp
,
#
20
]
@
lr
of
instrumented
routine
mov
r0
,
lr
sub
r0
,
r0
,
#
MCOUNT_INSN_SIZE
mov
lr
,
pc
mov
pc
,
r2
ldmia
sp
!,
{
r0
-
r3
,
ip
,
lr
}
bx
ip
ENTRY
(
mcount
)
stmdb
sp
!,
{
r0
-
r3
,
lr
}
ldr
r0
,
=
ftrace_trace_function
...
...
arch/arm/lib/bitops.h
浏览文件 @
9b2616c2
...
...
@@ -60,8 +60,8 @@
tst
r2
,
r0
,
lsl
r3
\
instr
r2
,
r2
,
r0
,
lsl
r3
\
store
r2
,
[
r1
]
restore_irqs
ip
moveq
r0
,
#
0
restore_irqs
ip
mov
pc
,
lr
.
endm
#endif
arch/arm/mach-netx/include/mach/entry-macro.S
浏览文件 @
9b2616c2
...
...
@@ -24,15 +24,13 @@
.
endm
.
macro
get_irqnr_preamble
,
base
,
tmp
ldr
\
base
,
=
io_p2v
(
0x001ff000
)
.
endm
.
macro
arch_ret_to_user
,
tmp1
,
tmp2
.
endm
.
macro
get_irqnr_and_base
,
irqnr
,
irqstat
,
base
,
tmp
mov
\
base
,
#
io_p2v
(
0x00100000
)
add
\
base
,
\
base
,
#
0x000ff000
ldr
\
irqstat
,
[
\
base
,
#
0
]
clz
\
irqnr
,
\
irqstat
rsb
\
irqnr
,
\
irqnr
,
#
31
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录