diff options
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; |