ARC: entry: EV_Trap expects r10 (vs. r9) to have exception cause
authorVineet Gupta <vgupta@synopsys.com>
Wed, 15 May 2019 23:08:10 +0000 (16:08 -0700)
committerVineet Gupta <vgupta@synopsys.com>
Mon, 8 Jul 2019 08:24:44 +0000 (09:24 +0100)
avoids 1 MOV instruction in light of double load/store code

Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
arch/arc/include/asm/entry-arcv2.h
arch/arc/include/asm/entry-compact.h
arch/arc/kernel/entry-compact.S
arch/arc/kernel/entry.S

index 0733752ce7fe88b9044038b76decd9e411e0565b..f5ae394ebe067028bd9076dbd5075068a589390c 100644 (file)
@@ -95,9 +95,8 @@
        lr      r10, [ecr]
        lr      r11, [erbta]
        ST2     r10, r11, PT_event
-       mov     r9, r10
 
-       ; OUTPUT: r9 has ECR
+       ; OUTPUT: r10 has ECR expected by EV_Trap
 .endm
 
 /*------------------------------------------------------------------------
index 66ba1bf21d285045944eee792d4ed3e66fbf6ad2..66a292335ee6770e96ecbbb3c5abb4ce4aaf898d 100644 (file)
        PUSHAX  CTOP_AUX_EFLAGS
 #endif
 
-       lr      r9, [ecr]
-       st      r9, [sp, PT_event]    /* EV_Trap expects r9 to have ECR */
+       lr      r10, [ecr]
+       st      r10, [sp, PT_event]    /* EV_Trap expects r10 to have ECR */
 .endm
 
 /*--------------------------------------------------------------
index 7fe59880c16b57c8cc1a3a440e3e86ccacb7375f..5cb0cd7e4eabaff15d8e4bc3afa356042615b8fe 100644 (file)
@@ -256,7 +256,7 @@ ENTRY(EV_TLBProtV)
 
        EXCEPTION_PROLOGUE
 
-       mov r2, r9      ; ECR set into r9 already
+       mov r2, r10     ; ECR set into r10 already
        lr  r0, [efa]   ; Faulting Data address (not part of pt_regs saved above)
 
        ; Exception auto-disables further Intr/exceptions.
index a2bfacbcfce1977e638af999b87c04568963db80..72be01270e24632d1b53756f03dfacdd19442db5 100644 (file)
@@ -232,8 +232,8 @@ ENTRY(EV_Trap)
        EXCEPTION_PROLOGUE
 
        ;============ TRAP 1   :breakpoints
-       ; Check ECR for trap with arg (PROLOGUE ensures r9 has ECR)
-       bmsk.f 0, r9, 7
+       ; Check ECR for trap with arg (PROLOGUE ensures r10 has ECR)
+       bmsk.f 0, r10, 7
        bnz    trap_with_param
 
        ;============ TRAP  (no param): syscall top level