ARC: entry.S: confine EXCEPTION_* macros to one file
authorVineet Gupta <vgupta@synopsys.com>
Mon, 13 Oct 2014 08:50:39 +0000 (14:20 +0530)
committerVineet Gupta <vgupta@synopsys.com>
Fri, 19 Jun 2015 12:39:35 +0000 (18:09 +0530)
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/kernel/entry.S
arch/arc/mm/tlbex.S

index d8ec722..6cced37 100644 (file)
@@ -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
 ; ---------------------------------------------
index d572f1c..d224bf0 100644 (file)
@@ -366,19 +366,5 @@ do_slow_path_pf:
 
        ; Slow path TLB Miss handled as a regular ARC Exception
        ; (stack switching / save the complete reg-file).
-       EXCEPTION_PROLOGUE
-
-       ; ------- setup args for Linux Page fault Hanlder ---------
-       mov_s r1, sp
-       lr    r0, [efa]
-
-       ; We don't want exceptions to be disabled while the fault is handled.
-       ; Now that we have saved the context we return from exception hence
-       ; exceptions get re-enable
-
-       FAKE_RET_FROM_EXCPN  r9
-
-       bl  do_page_fault
-       b   ret_from_exception
-
+       b  call_do_page_fault
 END(EV_TLBMissD)