diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-28 17:40:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-28 17:40:39 -0400 |
commit | ebdea46fecae40c4d7effcd33f40918a37a1df4b (patch) | |
tree | e4312bf7f1f3d184738963a0ec300aa9fdfd55c1 /arch/arm/kernel/entry-armv.S | |
parent | fecf3404f4aba6d0edeba31eeb018cbb6326dff2 (diff) | |
parent | 250d375d1da45a5e08ab8baf5eaa7eb258afd82b (diff) |
Merge branch 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm
* 'devel' of master.kernel.org:/home/rmk/linux-2.6-arm: (130 commits)
[ARM] 3856/1: Add clocksource for Intel IXP4xx platforms
[ARM] 3855/1: Add generic time support
[ARM] 3873/1: S3C24XX: Add irq_chip names
[ARM] 3872/1: S3C24XX: Apply consistant tabbing to irq_chips
[ARM] 3871/1: S3C24XX: Fix ordering of EINT4..23
[ARM] nommu: confirms the CR_V bit in nommu mode
[ARM] nommu: abort handler fixup for !CPU_CP15_MMU cores.
[ARM] 3870/1: AT91: Start removing static memory mappings
[ARM] 3869/1: AT91: NAND support for DK and KB9202 boards
[ARM] 3868/1: AT91 hardware header update
[ARM] 3867/1: AT91 GPIO update
[ARM] 3866/1: AT91 clock update
[ARM] 3865/1: AT91RM9200 header updates
[ARM] 3862/2: S3C2410 - add basic power management support for AML M5900 series
[ARM] kthread: switch arch/arm/kernel/apm.c
[ARM] Off-by-one in arch/arm/common/icst*
[ARM] 3864/1: Refactore sharpsl_pm
[ARM] 3863/1: Add Locomo SPI Device
[ARM] 3847/2: Convert LOMOMO to use struct device for GPIOs
[ARM] Use CPU_CACHE_* where possible in asm/cacheflush.h
...
Diffstat (limited to 'arch/arm/kernel/entry-armv.S')
-rw-r--r-- | arch/arm/kernel/entry-armv.S | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/arch/arm/kernel/entry-armv.S b/arch/arm/kernel/entry-armv.S index de4e33137901..bd623b73445f 100644 --- a/arch/arm/kernel/entry-armv.S +++ b/arch/arm/kernel/entry-armv.S | |||
@@ -191,6 +191,9 @@ __dabt_svc: | |||
191 | __irq_svc: | 191 | __irq_svc: |
192 | svc_entry | 192 | svc_entry |
193 | 193 | ||
194 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
195 | bl trace_hardirqs_off | ||
196 | #endif | ||
194 | #ifdef CONFIG_PREEMPT | 197 | #ifdef CONFIG_PREEMPT |
195 | get_thread_info tsk | 198 | get_thread_info tsk |
196 | ldr r8, [tsk, #TI_PREEMPT] @ get preempt count | 199 | ldr r8, [tsk, #TI_PREEMPT] @ get preempt count |
@@ -211,6 +214,10 @@ preempt_return: | |||
211 | #endif | 214 | #endif |
212 | ldr r0, [sp, #S_PSR] @ irqs are already disabled | 215 | ldr r0, [sp, #S_PSR] @ irqs are already disabled |
213 | msr spsr_cxsf, r0 | 216 | msr spsr_cxsf, r0 |
217 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
218 | tst r0, #PSR_I_BIT | ||
219 | bleq trace_hardirqs_on | ||
220 | #endif | ||
214 | ldmia sp, {r0 - pc}^ @ load r0 - pc, cpsr | 221 | ldmia sp, {r0 - pc}^ @ load r0 - pc, cpsr |
215 | 222 | ||
216 | .ltorg | 223 | .ltorg |
@@ -398,6 +405,9 @@ __dabt_usr: | |||
398 | __irq_usr: | 405 | __irq_usr: |
399 | usr_entry | 406 | usr_entry |
400 | 407 | ||
408 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
409 | bl trace_hardirqs_off | ||
410 | #endif | ||
401 | get_thread_info tsk | 411 | get_thread_info tsk |
402 | #ifdef CONFIG_PREEMPT | 412 | #ifdef CONFIG_PREEMPT |
403 | ldr r8, [tsk, #TI_PREEMPT] @ get preempt count | 413 | ldr r8, [tsk, #TI_PREEMPT] @ get preempt count |
@@ -412,6 +422,9 @@ __irq_usr: | |||
412 | teq r0, r7 | 422 | teq r0, r7 |
413 | strne r0, [r0, -r0] | 423 | strne r0, [r0, -r0] |
414 | #endif | 424 | #endif |
425 | #ifdef CONFIG_TRACE_IRQFLAGS | ||
426 | bl trace_hardirqs_on | ||
427 | #endif | ||
415 | 428 | ||
416 | mov why, #0 | 429 | mov why, #0 |
417 | b ret_to_user | 430 | b ret_to_user |