On 10/31/2013 03:09 PM, Gedare Bloom wrote:
On Thu, Oct 31, 2013 at 9:58 AM, Daniel Hellstrom <[email protected]> wrote:
Basically the shared-irq handler overwrite the SMP/MP traphandler
previously initialized with set_vector(). That caused IPIs to enter
BSP spurious handler.

Signed-off-by: Daniel Hellstrom <[email protected]>
RTEMS Project has not defined what it means to "sign-off" a commit, so
please leave this off.

Ok, I will update and resubmit.

Thanks

---
  c/src/lib/libbsp/sparc/shared/irq/irq-shared.c |    5 +++++
  1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c 
b/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c
index c84eeb3..16119ff 100644
--- a/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c
+++ b/c/src/lib/libbsp/sparc/shared/irq/irq-shared.c
@@ -32,6 +32,11 @@ void BSP_shared_interrupt_init(void)
         int i;

         for (i=0; i <= BSP_INTERRUPT_VECTOR_MAX_STD; i++) {
+#if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)
+               /* Don't install IRQ handler on IPI interrupt */
+               if (i == LEON3_MP_IRQ)
+                       continue;
+#endif
This is fine for now. I wonder if there will be more such early
initialization handlers that need to be ignored. If so then we might
consider a more elegant solution.

                 vector = SPARC_ASYNCHRONOUS_TRAP(i) + 0x10;
                 rtems_interrupt_catch(BSP_ISR_handler, vector, &previous_isr);
         }
--
1.7.0.4

_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel

_______________________________________________
rtems-devel mailing list
[email protected]
http://www.rtems.org/mailman/listinfo/rtems-devel

Reply via email to