fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / arch / arm26 / mm / extable.c
index 72644dd..38e1958 100644 (file)
@@ -1,8 +1,7 @@
 /*
- *  linux/arch/arm/mm/extable.c
+ *  linux/arch/arm26/mm/extable.c
  */
 
-#include <linux/config.h>
 #include <linux/module.h>
 #include <asm/uaccess.h>
 
@@ -11,6 +10,12 @@ int fixup_exception(struct pt_regs *regs)
         const struct exception_table_entry *fixup;
 
         fixup = search_exception_tables(instruction_pointer(regs));
+
+       /*
+        * The kernel runs in SVC mode - make sure we keep running in SVC mode
+        * by frobbing the PSR appropriately (PSR and PC are in the same reg.
+        * on ARM26)
+        */
         if (fixup)
                 regs->ARM_pc = fixup->fixup | PSR_I_BIT | MODE_SVC26;