Index: kernel/arch/arm32/src/exception.c
===================================================================
--- kernel/arch/arm32/src/exception.c	(revision 936b72e201381317b2f2553fcfdba3265e667a93)
+++ kernel/arch/arm32/src/exception.c	(revision c5b69a5e9fd7b8727cdb839bd6311e2db9fd9873)
@@ -117,10 +117,23 @@
 
 #ifdef HIGH_EXCEPTION_VECTORS
-/** Activates use of high exception vectors addresses. */
+/** Activates use of high exception vectors addresses.
+ *
+ * "High vectors were introduced into some implementations of ARMv4 and are
+ * required in ARMv6 implementations. High vectors allow the exception vector
+ * locations to be moved from their normal address range 0x00000000-0x0000001C
+ * at the bottom of the 32-bit address space, to an alternative address range
+ * 0xFFFF0000-0xFFFF001C near the top of the address space. These alternative
+ * locations are known as the high vectors.
+ *
+ * Prior to ARMv6, it is IMPLEMENTATION DEFINED whether the high vectors are
+ * supported. When they are, a hardware configuration input selects whether
+ * the normal vectors or the high vectors are to be used from
+ * reset." ARM Architecture Reference Manual A2.6.11 (p. 64 in the PDF).
+ */
 static void high_vectors(void)
 {
 	uint32_t control_reg = 0;
-	
-#if defined(PROCESSOR_armv7_a)
+	// TODO CHeck the armv6 way and implement it
+#if defined(PROCESSOR_armv7_a) | defined(ROCESSOR_armv6)
 	asm volatile (
 		"mrc p15, 0, %[control_reg], c1, c0"
@@ -137,5 +150,5 @@
 	control_reg |= CP15_R1_HIGH_VECTORS_BIT;
 	
-#if defined(PROCESSOR_armv7_a)
+#if defined(PROCESSOR_armv7_a) | defined(ROCESSOR_armv6)
 	asm volatile (
 		"mcr p15, 0, %[control_reg], c1, c0"
@@ -167,4 +180,5 @@
 void exception_init(void)
 {
+	// TODO check for availability of high vectors for <= armv5
 #ifdef HIGH_EXCEPTION_VECTORS
 	high_vectors();
