Use of System mode for exception handling
Corruption of the link register can be a problem when handling multiple exceptions of the same type. ARMv4 and later architectures include a privileged mode called System mode, to overcome this problem.
System mode shares the same registers as User mode, it can run tasks that require privileged access, and exceptions no longer overwrite the link register.
System mode cannot be entered by an exception. The exception handlers modify the CPSR to enter System mode.