]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arc/kernel/entry-arcv2.S
Merge remote-tracking branch 'h8300/h8300-next'
[karo-tx-linux.git] / arch / arc / kernel / entry-arcv2.S
index 8fa76567e40299e0449b01d4d6dae6e7b8918807..cbfec79137bf77735fa675d0eb2be57da217ba63 100644 (file)
@@ -24,7 +24,7 @@
        .align 4
 
 # Initial 16 slots are Exception Vectors
-VECTOR stext                   ; Restart Vector (jump to entry point)
+VECTOR res_service             ; Reset Vector
 VECTOR mem_service             ; Mem exception
 VECTOR instr_service           ; Instrn Error
 VECTOR EV_MachineCheck         ; Fatal Machine check
@@ -91,6 +91,25 @@ ENTRY(EV_DCError)
        flag 1
 END(EV_DCError)
 
+; ---------------------------------------------
+; Memory Error Exception Handler
+;   - Unlike ARCompact, handles Bus errors for both User/Kernel mode,
+;     Instruction fetch or Data access, under a single Exception Vector
+; ---------------------------------------------
+
+ENTRY(mem_service)
+
+       EXCEPTION_PROLOGUE
+
+       lr  r0, [efa]
+       mov r1, sp
+
+       FAKE_RET_FROM_EXCPN
+
+       bl  do_memory_error
+       b   ret_from_exception
+END(mem_service)
+
 ENTRY(EV_Misaligned)
 
        EXCEPTION_PROLOGUE