Browse Source

arm64: optimize __asm_{flush, invalidate}_dcache_all

__asm_dcache_all can directly return to the caller of
__asm_{flush,invalidate}_dcache_all.

We do not have to waste x16 register here.

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: York Sun <york.sun@nxp.com>
Masahiro Yamada 9 years ago
parent
commit
2582858841
1 changed files with 2 additions and 8 deletions
  1. 2 8
      arch/arm/cpu/armv8/cache.S

+ 2 - 8
arch/arm/cpu/armv8/cache.S

@@ -104,19 +104,13 @@ finished:
 ENDPROC(__asm_dcache_all)
 ENDPROC(__asm_dcache_all)
 
 
 ENTRY(__asm_flush_dcache_all)
 ENTRY(__asm_flush_dcache_all)
-	mov	x16, lr
 	mov	x0, #0
 	mov	x0, #0
-	bl	__asm_dcache_all
-	mov	lr, x16
-	ret
+	b	__asm_dcache_all
 ENDPROC(__asm_flush_dcache_all)
 ENDPROC(__asm_flush_dcache_all)
 
 
 ENTRY(__asm_invalidate_dcache_all)
 ENTRY(__asm_invalidate_dcache_all)
-	mov	x16, lr
 	mov	x0, #0x1
 	mov	x0, #0x1
-	bl	__asm_dcache_all
-	mov	lr, x16
-	ret
+	b	__asm_dcache_all
 ENDPROC(__asm_invalidate_dcache_all)
 ENDPROC(__asm_invalidate_dcache_all)
 
 
 /*
 /*