summaryrefslogtreecommitdiff
path: root/arch/arc/kernel/entry.S
diff options
context:
space:
mode:
authorVineet Gupta <vgupta@synopsys.com>2014-10-13 14:20:39 +0530
committerVineet Gupta <vgupta@synopsys.com>2015-06-19 18:09:35 +0530
commita615b47dbf0d2cd8ba9ff922addef4e189c627bb (patch)
tree319398930271c0b4549d578a9bfb1e7ccfc10be6 /arch/arc/kernel/entry.S
parentf033737e77d98893f3d03586215aeec026dd7e2f (diff)
ARC: entry.S: confine EXCEPTION_* macros to one file
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Diffstat (limited to 'arch/arc/kernel/entry.S')
-rw-r--r--arch/arc/kernel/entry.S16
1 files changed, 16 insertions, 0 deletions
diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S
index d8ec722a936b..6cced37e7a76 100644
--- a/arch/arc/kernel/entry.S
+++ b/arch/arc/kernel/entry.S
@@ -368,6 +368,22 @@ ENTRY(EV_TLBProtV)
END(EV_TLBProtV)
+; Wrapper for Linux page fault handler called from EV_TLBMiss*
+; Very similar to ProtV handler case (6a) above, but avoids the extra checks
+; for Misaligned access
+;
+ENTRY(call_do_page_fault)
+
+ EXCEPTION_PROLOGUE
+ lr r0, [efa] ; Faulting Data address
+ mov r1, sp
+ FAKE_RET_FROM_EXCPN r9
+
+ mov blink, ret_from_exception
+ b do_page_fault
+
+END(call_do_page_fault)
+
; ---------------------------------------------
; Privilege Violation Exception Handler
; ---------------------------------------------