From a615b47dbf0d2cd8ba9ff922addef4e189c627bb Mon Sep 17 00:00:00 2001 From: Vineet Gupta Date: Mon, 13 Oct 2014 14:20:39 +0530 Subject: [PATCH] ARC: entry.S: confine EXCEPTION_* macros to one file Signed-off-by: Vineet Gupta --- arch/arc/kernel/entry.S | 16 ++++++++++++++++ arch/arc/mm/tlbex.S | 16 +--------------- 2 files changed, 17 insertions(+), 15 deletions(-) diff --git a/arch/arc/kernel/entry.S b/arch/arc/kernel/entry.S index d8ec722..6cced37e 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 ; --------------------------------------------- diff --git a/arch/arc/mm/tlbex.S b/arch/arc/mm/tlbex.S index d572f1c..d224bf0 100644 --- a/arch/arc/mm/tlbex.S +++ b/arch/arc/mm/tlbex.S @@ -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) -- 2.7.4