From dd1dc109735e94d6f88c239b4e2b4f084f0534b1 Mon Sep 17 00:00:00 2001 From: gdisirio Date: Thu, 24 Jul 2014 07:29:41 +0000 Subject: git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7064 35acf78f-673a-0410-8e92-d51de3d6d3f4 --- os/nil/ports/e200/nilcore.h | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'os/nil/ports/e200/nilcore.h') diff --git a/os/nil/ports/e200/nilcore.h b/os/nil/ports/e200/nilcore.h index 1189bd835..583452c67 100644 --- a/os/nil/ports/e200/nilcore.h +++ b/os/nil/ports/e200/nilcore.h @@ -29,6 +29,8 @@ #ifndef _NILCORE_H_ #define _NILCORE_H_ +#include "intc.h" + /*===========================================================================*/ /* Module constants. */ /*===========================================================================*/ @@ -368,6 +370,7 @@ extern "C" { */ static inline void port_init(void) { uint32_t n; + unsigned i; /* Initializing the SPRG0 register to zero, it is required for interrupts handling.*/ @@ -383,8 +386,13 @@ static inline void port_init(void) { "mtIVOR10 %%r3" : : : "r3", "memory"); #endif - /* Interrupt controller initialization.*/ - intc_init(); + /* INTC initialization, software vector mode, 4 bytes vectors, starting + at priority 0.*/ + INTC_BCR = 0; + for (i = 0; i < PPC_CORE_NUMBER; i++) { + INTC_CPR(i) = 0; + INTC_IACKR(i) = (uint32_t)_vectors; + } } /** -- cgit v1.2.3