diff mbox series

[v2,3/3] common/board_f: Make reserve_mmu generic

Message ID 20200329175741.26297-4-ovpanait@gmail.com
State Accepted
Commit 79926e4f2f3cf84c65188c59ea1e93d6b221d36b
Headers show
Series common/board_f: Make reserve_mmu generic | expand

Commit Message

Ovidiu Panait March 29, 2020, 5:57 p.m. UTC
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 at gmail.com>
---
 arch/arm/lib/cache.c |  2 +-
 common/board_f.c     |  9 ++++++---
 include/init.h       | 13 ++++++++++++-
 3 files changed, 19 insertions(+), 5 deletions(-)

Comments

Simon Glass March 30, 2020, 11:57 p.m. UTC | #1
On Sun, 29 Mar 2020 at 11:59, Ovidiu Panait <ovpanait at gmail.com> wrote:
>
> 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 at gmail.com>
> ---
>  arch/arm/lib/cache.c |  2 +-
>  common/board_f.c     |  9 ++++++---
>  include/init.h       | 13 ++++++++++++-
>  3 files changed, 19 insertions(+), 5 deletions(-)

Reviewed-by: Simon Glass <sjg at chromium.org>

This series is very well put together, thank you.
diff mbox series

Patch

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 a88bd64630..52750dd307 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
@@ -942,9 +947,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
@@ -129,6 +129,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
  *
@@ -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)