Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
 
 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
 ; ---------------------------------------------
 
 
        ; 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)