Jelajahi Sumber

ARC: entry.S: confine EXCEPTION_* macros to one file

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
Vineet Gupta 10 tahun lalu
induk
melakukan
a615b47dbf
2 mengubah file dengan 17 tambahan dan 15 penghapusan
  1. 16 0
      arch/arc/kernel/entry.S
  2. 1 15
      arch/arc/mm/tlbex.S

+ 16 - 0
arch/arc/kernel/entry.S

@@ -368,6 +368,22 @@ ENTRY(EV_TLBProtV)
 
 
 END(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
 ; Privilege Violation Exception Handler
 ; ---------------------------------------------
 ; ---------------------------------------------

+ 1 - 15
arch/arc/mm/tlbex.S

@@ -366,19 +366,5 @@ do_slow_path_pf:
 
 
 	; Slow path TLB Miss handled as a regular ARC Exception
 	; Slow path TLB Miss handled as a regular ARC Exception
 	; (stack switching / save the complete reg-file).
 	; (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)
 END(EV_TLBMissD)