Index: kernel/arch/arm32/src/exception.c
===================================================================
--- kernel/arch/arm32/src/exception.c	(revision d5087aa3fad89debb05d267f38ebb78362b1e3d2)
+++ kernel/arch/arm32/src/exception.c	(revision 1e1e5e1f552946adaf5576371c0d6cd57ecfd5a9)
@@ -41,4 +41,5 @@
 #include <arch/machine.h>
 #include <arch/mm/page_fault.h>
+#include <arch/barrier.h>
 #include <print.h>
 #include <syscall/syscall.h>
@@ -210,5 +211,5 @@
  *  Addresses of handlers are stored in memory following exception vectors.
  */
-static void install_handler (unsigned handler_addr, unsigned* vector)
+static void install_handler(unsigned handler_addr, unsigned *vector)
 {
 	/* relative address (related to exc. vector) of the word
@@ -220,4 +221,5 @@
 	/* make it LDR instruction and store at exception vector */
 	*vector = handler_address_ptr | LDR_OPCODE;
+	smc_coherence(*vector);
 	
 	/* store handler's address */
@@ -227,5 +229,5 @@
 
 /** Low-level Reset Exception handler. */
-static void reset_exception_entry()
+static void reset_exception_entry(void)
 {
 	PROCESS_EXCEPTION(EXC_RESET);
@@ -233,5 +235,5 @@
 
 /** Low-level Software Interrupt Exception handler. */
-static void swi_exception_entry()
+static void swi_exception_entry(void)
 {
 	PROCESS_EXCEPTION(EXC_SWI);
@@ -239,5 +241,5 @@
 
 /** Low-level Undefined Instruction Exception handler. */
-static void undef_instr_exception_entry()
+static void undef_instr_exception_entry(void)
 {
 	PROCESS_EXCEPTION(EXC_UNDEF_INSTR);
@@ -245,5 +247,5 @@
 
 /** Low-level Fast Interrupt Exception handler. */
-static void fiq_exception_entry()
+static void fiq_exception_entry(void)
 {
 	PROCESS_EXCEPTION(EXC_FIQ);
@@ -251,5 +253,5 @@
 
 /** Low-level Prefetch Abort Exception handler. */
-static void prefetch_abort_exception_entry()
+static void prefetch_abort_exception_entry(void)
 {
 	asm("sub lr, lr, #4");
@@ -258,5 +260,5 @@
 
 /** Low-level Data Abort Exception handler. */
-static void data_abort_exception_entry()
+static void data_abort_exception_entry(void)
 {
 	asm("sub lr, lr, #8");
@@ -270,5 +272,5 @@
  * would overwrite (and thus spoil) stack pointer.
  */
-static void irq_exception_entry()
+static void irq_exception_entry(void)
 {
 	asm("sub lr, lr, #4");
