Is this change to lower_to_irq14 necessary? CSYNC is executed before it
is called and IVHW is enabled in evt14 handler as well.
Sonic
________________________________
From: [email protected]
[mailto:[email protected]] On Behalf Of
[email protected]
Sent: Sunday, May 31, 2009 6:20 AM
To: [email protected]
Subject: [Linux-kernel-commits] [6506]
trunk/arch/blackfin/mach-common/entry.S: Tweak ENTRY/ENDPROC, fix a few
comments, and add one more place for
Revision
6506
<http://blackfin.uclinux.org/gf/project/linux-kernel/scmsvn/?action=brow
se&path=/&view=rev&root=linux-kernel&revision=6506>
Author
rgetz <http://blackfin.uclinux.org/gf/user/rgetz/>
Date
2009-05-30 17:19:31 -0500 (Sat, 30 May 2009)
Log Message
Tweak ENTRY/ENDPROC, fix a few comments, and add one more place
for
DEBUG_HWERR
Modified Paths
* trunk/arch/blackfin/mach-common/entry.S
Diff
Modified: trunk/arch/blackfin/mach-common/entry.S (6505 => 6506)
--- trunk/arch/blackfin/mach-common/entry.S 2009-05-30
15:06:56 UTC (rev 6505)
+++ trunk/arch/blackfin/mach-common/entry.S 2009-05-30
22:19:31 UTC (rev 6506)
@@ -866,7 +866,7 @@
p1.h = _schedule_and_signal;
[p0] = p1;
csync;
- raise 15; /* raise evt14 to do signal or
reschedule */
+ raise 15; /* raise evt15 to do signal or
reschedule */
4:
r0 = syscfg;
bitclr(r0, 0);
@@ -946,10 +946,19 @@
r0.h = hi(SAFE_USER_INSTRUCTION);
reti = r0;
#endif
- r0 = 0x401f;
+
+#ifdef CONFIG_DEBUG_HWERR
+ /* enable irq14 & hwerr interrupt, until we transition
to _evt14_softirq */
+ r0 = (EVT_IVG14 | EVT_IVHW | EVT_IRPTEN | EVT_EVX |
EVT_NMI | EVT_RST | EVT_EMU);
+#else
+ /* Only enable irq14 interrupt, until we transition to
_evt14_softirq */
+ r0 = (EVT_IVG14 | EVT_IRPTEN | EVT_EVX | EVT_NMI |
EVT_RST | EVT_EMU);
+#endif
sti r0;
raise 14;
rti;
+ENDPROC(_lower_to_irq14)
+
ENTRY(_evt14_softirq)
#ifdef CONFIG_DEBUG_HWERR
r0 = 0x3f;
@@ -960,8 +969,9 @@
[--sp] = RETI;
SP += 4;
rts;
+ENDPROC(_evt14_softirq)
-_schedule_and_signal_from_int:
+ENTRY(_schedule_and_signal_from_int)
/* To end up here, vector 15 was changed - so we have to
change it
* back.
*/
@@ -994,8 +1004,9 @@
call _finish_atomic_sections;
sp += 12;
jump.s .Lresume_userspace;
+ENDPROC(_schedule_and_signal_from_int)
-_schedule_and_signal:
+ENTRY(_schedule_and_signal)
SAVE_CONTEXT_SYSCALL
/* To end up here, vector 15 was changed - so we have to
change it
* back.
@@ -1013,7 +1024,7 @@
1:
RESTORE_CONTEXT
rti;
-ENDPROC(_lower_to_irq14)
+ENDPROC(_schedule_and_signal)
/* We handle this 100% in exception space - to reduce overhead
* Only potiential problem is if the software buffer gets
swapped out of the
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits