summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2012-11-13 12:20:59 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2012-12-03 13:17:09 +0100
commitbd75e589e1f50a9ebcd6afc6e9020522ddd7d131 (patch)
treee24138f234b480aa08f316dae481c77beeb18a35 /c
parentbsp/mpc55xx: Fix no-cache section load (diff)
downloadrtems-bd75e589e1f50a9ebcd6afc6e9020522ddd7d131.tar.bz2
bsp/mpc55xx: Fix INTC initialization
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libcpu/powerpc/mpc55xx/irq/irq.c9
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;