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

Reply via email to