aboutsummaryrefslogtreecommitdiffstats
path: root/arch/blackfin/mach-common/interrupt.S
diff options
context:
space:
mode:
authorGraf Yang <graf.yang@analog.com>2009-01-07 23:14:39 +0800
committerBryan Wu <cooloney@kernel.org>2009-01-07 23:14:39 +0800
commitf994607a2e118aedf1116a58ecd16126dbb83d28 (patch)
tree2b1764e2a037c904aa1358a54852eeb6e349cf6f /arch/blackfin/mach-common/interrupt.S
parentBlackfin arch: fix bugs in linker script when using upstream binutils (diff)
downloadlinux-dev-f994607a2e118aedf1116a58ecd16126dbb83d28.tar.xz
linux-dev-f994607a2e118aedf1116a58ecd16126dbb83d28.zip
Blackfin arch: get oprofile work for user space
Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Bryan Wu <cooloney@kernel.org>
Diffstat (limited to 'arch/blackfin/mach-common/interrupt.S')
-rw-r--r--arch/blackfin/mach-common/interrupt.S12
1 files changed, 7 insertions, 5 deletions
diff --git a/arch/blackfin/mach-common/interrupt.S b/arch/blackfin/mach-common/interrupt.S
index 4a2ec7a9675a..2604b532897c 100644
--- a/arch/blackfin/mach-common/interrupt.S
+++ b/arch/blackfin/mach-common/interrupt.S
@@ -152,6 +152,12 @@ ENTRY(_evt_ivhw)
1:
#endif
+ # We are going to dump something out, so make sure we print IPEND properly
+ p2.l = lo(IPEND);
+ p2.h = hi(IPEND);
+ r0 = [p2];
+ [sp + PT_IPEND] = r0;
+
#ifdef CONFIG_HARDWARE_PM
r7 = [sp + PT_SEQSTAT];
r7 = r7 >>> 0xe;
@@ -161,11 +167,6 @@ ENTRY(_evt_ivhw)
cc = r7 == r5;
if cc jump .Lcall_do_ovf; /* deal with performance counter overflow */
#endif
- # We are going to dump something out, so make sure we print IPEND properly
- p2.l = lo(IPEND);
- p2.h = hi(IPEND);
- r0 = [p2];
- [sp + PT_IPEND] = r0;
/* set the EXCAUSE to HWERR for trap_c */
r0 = [sp + PT_SEQSTAT];
@@ -196,6 +197,7 @@ ENTRY(_evt_ivhw)
#ifdef CONFIG_HARDWARE_PM
.Lcall_do_ovf:
+ R0 = SP;
SP += -12;
call _pm_overflow;
SP += 12;