diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-11-13 12:20:59 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-12-03 13:17:09 +0100 |
commit | bd75e589e1f50a9ebcd6afc6e9020522ddd7d131 (patch) | |
tree | e24138f234b480aa08f316dae481c77beeb18a35 /c/src/lib/libcpu/powerpc/mpc55xx/irq/irq.c | |
parent | bsp/mpc55xx: Fix no-cache section load (diff) | |
download | rtems-bd75e589e1f50a9ebcd6afc6e9020522ddd7d131.tar.bz2 |
bsp/mpc55xx: Fix INTC initialization
Diffstat (limited to 'c/src/lib/libcpu/powerpc/mpc55xx/irq/irq.c')
-rw-r--r-- | c/src/lib/libcpu/powerpc/mpc55xx/irq/irq.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/c/src/lib/libcpu/powerpc/mpc55xx/irq/irq.c b/c/src/lib/libcpu/powerpc/mpc55xx/irq/irq.c index 7863fb8987..c60a3016f8 100644 --- a/c/src/lib/libcpu/powerpc/mpc55xx/irq/irq.c +++ b/c/src/lib/libcpu/powerpc/mpc55xx/irq/irq.c @@ -135,8 +135,10 @@ static int mpc55xx_external_exception_handler( BSP_Exception_frame *frame, unsig return 0; } -rtems_status_code bsp_interrupt_facility_initialize() +rtems_status_code bsp_interrupt_facility_initialize(void) { + rtems_vector_number vector; + /* Install exception handler */ if (ppc_exc_set_handler( ASM_EXT_VECTOR, mpc55xx_external_exception_handler)) { return RTEMS_IO_ERROR; @@ -144,6 +146,11 @@ rtems_status_code bsp_interrupt_facility_initialize() /* Initialize interrupt controller */ + /* Disable all interrupts */ + for (vector = MPC55XX_IRQ_MIN; vector <= MPC55XX_IRQ_MAX; ++vector) { + INTC.PSR [vector].B.PRI = MPC55XX_INTC_DISABLED_PRIORITY; + } + /* Software vector mode */ INTC.MCR.B.VTES = 0; INTC.MCR.B.HVEN = 0; |