diff options
author | Ovidiu Panait <ovpanait@gmail.com> | 2020-03-29 20:57:41 +0300 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2020-04-24 15:17:14 -0400 |
commit | 79926e4f2f3cf84c65188c59ea1e93d6b221d36b (patch) | |
tree | c9898d4ebcdc81c67b1ff92553cfb12fdc7317a6 | |
parent | 6184858b859f6fcea4b23f76cfb7988882a3c8a7 (diff) | |
download | u-boot-79926e4f2f3cf84c65188c59ea1e93d6b221d36b.tar.gz |
common/board_f: Make reserve_mmu generic
Introduce arch_reserve_mmu to allow for architecture-specific reserve_mmu
routines. Also, define a weak nop stub for it.
Signed-off-by: Ovidiu Panait <ovpanait@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | arch/arm/lib/cache.c | 2 | ||||
-rw-r--r-- | common/board_f.c | 9 | ||||
-rw-r--r-- | include/init.h | 13 |
3 files changed, 19 insertions, 5 deletions
diff --git a/arch/arm/lib/cache.c b/arch/arm/lib/cache.c index 3cbed602eb..44dde26065 100644 --- a/arch/arm/lib/cache.c +++ b/arch/arm/lib/cache.c @@ -121,7 +121,7 @@ void invalidate_l2_cache(void) } #endif -__weak int reserve_mmu(void) +int arch_reserve_mmu(void) { return arm_reserve_mmu(); } diff --git a/common/board_f.c b/common/board_f.c index 26309c44d2..5c650f046c 100644 --- a/common/board_f.c +++ b/common/board_f.c @@ -385,6 +385,11 @@ static int reserve_round_4k(void) return 0; } +__weak int arch_reserve_mmu(void) +{ + return 0; +} + static int reserve_video(void) { #ifdef CONFIG_DM_VIDEO @@ -951,9 +956,7 @@ static const init_fnc_t init_sequence_f[] = { reserve_pram, #endif reserve_round_4k, -#ifdef CONFIG_ARM - reserve_mmu, -#endif + arch_reserve_mmu, reserve_video, reserve_trace, reserve_uboot, diff --git a/include/init.h b/include/init.h index 2a33a3fd1e..9ef88c966b 100644 --- a/include/init.h +++ b/include/init.h @@ -130,6 +130,18 @@ int testdram(void); int arch_reserve_stacks(void); /** + * arch_reserve_mmu() - Reserve memory for MMU TLB table + * + * Architecture-specific routine for reserving memory for the MMU TLB table. + * This is used in generic board init sequence in common/board_f.c. + * + * If an implementation is not provided, it will just be a nop stub. + * + * Return: 0 if OK + */ +int arch_reserve_mmu(void); + +/** * init_cache_f_r() - Turn on the cache in preparation for relocation * * Return: 0 if OK, -ve on error @@ -145,7 +157,6 @@ int init_cache_f_r(void); int print_cpuinfo(void); #endif int timer_init(void); -int reserve_mmu(void); int misc_init_f(void); #if defined(CONFIG_DTB_RESELECT) |