1

ARM: 9386/2: mm: Use symbol alias for cache functions

The cache functions to flush user cache (*_flush_user_cache_all)
are in many cases just a branch to the corresponfing userspace or
kernelspace function. These functions also have the same arguments.

Simplify these by using SYM_FUNC_ALIAS() in all affected sites.

The NOP cache has very many similar calls which are just returns,
but it would be confusing to use aliases here, so leave all the
explicit returns and drop a comment on why we are not using aliases.

Reviewed-by: Sami Tolvanen <samitolvanen@google.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
This commit is contained in:
Linus Walleij 2024-04-23 08:31:41 +01:00 committed by Russell King (Oracle)
parent 1036b89580
commit 2074beebac
19 changed files with 22 additions and 54 deletions

View File

@ -52,9 +52,7 @@ SYM_FUNC_END(fa_flush_icache_all)
* Clean and invalidate all cache entries in a particular address * Clean and invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(fa_flush_user_cache_all) SYM_FUNC_ALIAS(fa_flush_user_cache_all, fa_flush_kern_cache_all)
b fa_flush_kern_cache_all
SYM_FUNC_END(fa_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -6,6 +6,10 @@
#include "proc-macros.S" #include "proc-macros.S"
/*
* These are all open-coded instead of aliased, to make clear
* what is going on here: all functions are stubbed out.
*/
SYM_TYPED_FUNC_START(nop_flush_icache_all) SYM_TYPED_FUNC_START(nop_flush_icache_all)
ret lr ret lr
SYM_FUNC_END(nop_flush_icache_all) SYM_FUNC_END(nop_flush_icache_all)

View File

@ -28,9 +28,7 @@ SYM_FUNC_END(v4_flush_icache_all)
* *
* - mm - mm_struct describing address space * - mm - mm_struct describing address space
*/ */
SYM_TYPED_FUNC_START(v4_flush_user_cache_all) SYM_FUNC_ALIAS(v4_flush_user_cache_all, v4_flush_kern_cache_all)
b v4_flush_kern_cache_all
SYM_FUNC_END(v4_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -66,9 +66,7 @@ SYM_FUNC_END(v4wb_flush_icache_all)
* Clean and invalidate all cache entries in a particular address * Clean and invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(v4wb_flush_user_cache_all) SYM_FUNC_ALIAS(v4wb_flush_user_cache_all, v4wb_flush_kern_cache_all)
b v4wb_flush_kern_cache_all
SYM_FUNC_END(v4wb_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -56,9 +56,7 @@ SYM_FUNC_END(v4wt_flush_icache_all)
* Invalidate all cache entries in a particular address * Invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(v4wt_flush_user_cache_all) SYM_FUNC_ALIAS(v4wt_flush_user_cache_all, v4wt_flush_kern_cache_all)
b v4wt_flush_kern_cache_all
SYM_FUNC_END(v4wt_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -127,9 +127,7 @@ SYM_FUNC_END(arm1020_flush_icache_all)
* Invalidate all cache entries in a particular address * Invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(arm1020_flush_user_cache_all) SYM_FUNC_ALIAS(arm1020_flush_user_cache_all, arm1020_flush_kern_cache_all)
b arm1020_flush_kern_cache_all
SYM_FUNC_END(arm1020_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -127,9 +127,7 @@ SYM_FUNC_END(arm1020e_flush_icache_all)
* Invalidate all cache entries in a particular address * Invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(arm1020e_flush_user_cache_all) SYM_FUNC_ALIAS(arm1020e_flush_user_cache_all, arm1020e_flush_kern_cache_all)
b arm1020e_flush_kern_cache_all
SYM_FUNC_END(arm1020e_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -127,9 +127,7 @@ SYM_FUNC_END(arm1022_flush_icache_all)
* Invalidate all cache entries in a particular address * Invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(arm1022_flush_user_cache_all) SYM_FUNC_ALIAS(arm1022_flush_user_cache_all, arm1022_flush_kern_cache_all)
b arm1022_flush_kern_cache_all
SYM_FUNC_END(arm1022_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -127,9 +127,7 @@ SYM_FUNC_END(arm1026_flush_icache_all)
* Invalidate all cache entries in a particular address * Invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(arm1026_flush_user_cache_all) SYM_FUNC_ALIAS(arm1026_flush_user_cache_all, arm1026_flush_kern_cache_all)
b arm1026_flush_kern_cache_all
SYM_FUNC_END(arm1026_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -116,9 +116,7 @@ SYM_FUNC_END(arm920_flush_icache_all)
* Invalidate all cache entries in a particular address * Invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(arm920_flush_user_cache_all) SYM_FUNC_ALIAS(arm920_flush_user_cache_all, arm920_flush_kern_cache_all)
b arm920_flush_kern_cache_all
SYM_FUNC_END(arm920_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -118,9 +118,7 @@ SYM_FUNC_END(arm922_flush_icache_all)
* Clean and invalidate all cache entries in a particular * Clean and invalidate all cache entries in a particular
* address space. * address space.
*/ */
SYM_TYPED_FUNC_START(arm922_flush_user_cache_all) SYM_FUNC_ALIAS(arm922_flush_user_cache_all, arm922_flush_kern_cache_all)
b arm922_flush_kern_cache_all
SYM_FUNC_END(arm922_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -151,9 +151,7 @@ SYM_FUNC_END(arm925_flush_icache_all)
* Clean and invalidate all cache entries in a particular * Clean and invalidate all cache entries in a particular
* address space. * address space.
*/ */
SYM_TYPED_FUNC_START(arm925_flush_user_cache_all) SYM_FUNC_ALIAS(arm925_flush_user_cache_all, arm925_flush_kern_cache_all)
b arm925_flush_kern_cache_all
SYM_FUNC_END(arm925_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -117,9 +117,7 @@ SYM_FUNC_END(arm926_flush_icache_all)
* Clean and invalidate all cache entries in a particular * Clean and invalidate all cache entries in a particular
* address space. * address space.
*/ */
SYM_TYPED_FUNC_START(arm926_flush_user_cache_all) SYM_FUNC_ALIAS(arm926_flush_user_cache_all, arm926_flush_kern_cache_all)
b arm926_flush_kern_cache_all
SYM_FUNC_END(arm926_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -81,9 +81,7 @@ SYM_FUNC_END(arm940_flush_icache_all)
/* /*
* flush_user_cache_all() * flush_user_cache_all()
*/ */
SYM_TYPED_FUNC_START(arm940_flush_user_cache_all) SYM_FUNC_ALIAS(arm940_flush_user_cache_all, arm940_flush_kern_cache_all)
b arm940_flush_kern_cache_all
SYM_FUNC_END(arm940_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -88,9 +88,7 @@ SYM_FUNC_END(arm946_flush_icache_all)
/* /*
* flush_user_cache_all() * flush_user_cache_all()
*/ */
SYM_TYPED_FUNC_START(arm946_flush_user_cache_all) SYM_FUNC_ALIAS(arm946_flush_user_cache_all, arm946_flush_kern_cache_all)
b arm946_flush_kern_cache_all
SYM_FUNC_END(arm946_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -136,9 +136,7 @@ SYM_FUNC_END(feroceon_flush_icache_all)
* address space. * address space.
*/ */
.align 5 .align 5
SYM_TYPED_FUNC_START(feroceon_flush_user_cache_all) SYM_FUNC_ALIAS(feroceon_flush_user_cache_all, feroceon_flush_kern_cache_all)
b feroceon_flush_kern_cache_all
SYM_FUNC_END(feroceon_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -100,9 +100,7 @@ SYM_FUNC_END(mohawk_flush_icache_all)
* Clean and invalidate all cache entries in a particular * Clean and invalidate all cache entries in a particular
* address space. * address space.
*/ */
SYM_TYPED_FUNC_START(mohawk_flush_user_cache_all) SYM_FUNC_ALIAS(mohawk_flush_user_cache_all, mohawk_flush_kern_cache_all)
b mohawk_flush_kern_cache_all
SYM_FUNC_END(mohawk_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -157,9 +157,7 @@ SYM_FUNC_END(xsc3_flush_icache_all)
* Invalidate all cache entries in a particular address * Invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(xsc3_flush_user_cache_all) SYM_FUNC_ALIAS(xsc3_flush_user_cache_all, xsc3_flush_kern_cache_all)
b xsc3_flush_kern_cache_all
SYM_FUNC_END(xsc3_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()

View File

@ -199,9 +199,7 @@ SYM_FUNC_END(xscale_flush_icache_all)
* Invalidate all cache entries in a particular address * Invalidate all cache entries in a particular address
* space. * space.
*/ */
SYM_TYPED_FUNC_START(xscale_flush_user_cache_all) SYM_FUNC_ALIAS(xscale_flush_user_cache_all, xscale_flush_kern_cache_all)
b xscale_flush_kern_cache_all
SYM_FUNC_END(xscale_flush_user_cache_all)
/* /*
* flush_kern_cache_all() * flush_kern_cache_all()