vserver 1.9.5.x5
[linux-2.6.git] / arch / arm26 / mm / extable.c
index 72644dd..2d9f5b5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- *  linux/arch/arm/mm/extable.c
+ *  linux/arch/arm26/mm/extable.c
  */
 
 #include <linux/config.h>
@@ -11,6 +11,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;