diff options
Diffstat (limited to 'arch/arc/kernel')
-rw-r--r-- | arch/arc/kernel/entry.S | 16 |
1 files changed, 16 insertions, 0 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 ; --------------------------------------------- |