aboutsummaryrefslogtreecommitdiff
path: root/arch/arc/kernel/entry.S
diff options
context:
space:
mode:
authorJohn Stultz <john.stultz@linaro.org>2013-05-15 12:42:15 -0700
committerJohn Stultz <john.stultz@linaro.org>2013-05-15 12:42:15 -0700
commit15a6affec4449b54afba15ab7edbad0cac2736d3 (patch)
treef2fa815f74be0b56acd05e62113600a7113d48a9 /arch/arc/kernel/entry.S
parentcd432fc233f4e7aba43b4fe499a4445f0f6ee1c6 (diff)
parentf722406faae2d073cc1d01063d1123c35425939e (diff)
Merge tag 'v3.10-rc1' into linaro-android-3.10-experimental-mergetracking-linaro-android-3.10-llct-20130518.0
Linux 3.10-rc1
Diffstat (limited to 'arch/arc/kernel/entry.S')
-rw-r--r--arch/arc/kernel/entry.S8
1 files changed, 5 insertions, 3 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S
index 91eeab81f52d..0c6d664d4a83 100644
--- a/arch/arc/kernel/entry.S
+++ b/arch/arc/kernel/entry.S
@@ -393,12 +393,14 @@ ARC_ENTRY EV_TLBProtV
#ifdef CONFIG_ARC_MISALIGN_ACCESS
SAVE_CALLEE_SAVED_USER
mov r3, sp ; callee_regs
-#endif
bl do_misaligned_access
-#ifdef CONFIG_ARC_MISALIGN_ACCESS
- DISCARD_CALLEE_SAVED_USER
+ ; TBD: optimize - do this only if a callee reg was involved
+ ; either a dst of emulated LD/ST or src with address-writeback
+ RESTORE_CALLEE_SAVED_USER
+#else
+ bl do_misaligned_error
#endif
b ret_from_exception