diff options
author | Vineet Gupta <vgupta@synopsys.com> | 2014-10-13 14:20:39 +0530 |
---|---|---|
committer | Vineet Gupta <vgupta@synopsys.com> | 2015-06-19 18:09:35 +0530 |
commit | a615b47dbf0d2cd8ba9ff922addef4e189c627bb (patch) | |
tree | 319398930271c0b4549d578a9bfb1e7ccfc10be6 | |
parent | f033737e77d98893f3d03586215aeec026dd7e2f (diff) | |
download | linux-a615b47dbf0d2cd8ba9ff922addef4e189c627bb.tar.bz2 |
ARC: entry.S: confine EXCEPTION_* macros to one file
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
-rw-r--r-- | arch/arc/kernel/entry.S | 16 | ||||
-rw-r--r-- | 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 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 ; --------------------------------------------- diff --git a/arch/arc/mm/tlbex.S b/arch/arc/mm/tlbex.S index d572f1c2c724..d224bf0feefc 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) |