Add enable mmu platform porting interfaces
Previously, the enable_mmu_elX() functions were implicitly part of
the platform porting layer since they were included by generic
code. These functions have been placed behind 2 new platform
functions, bl31_plat_enable_mmu() and bl32_plat_enable_mmu().
These are weakly defined so that they can be optionally overridden
by platform ports.
Also, the enable_mmu_elX() functions have been moved to
lib/aarch64/xlat_tables.c for optional re-use by platform ports.
These functions are tightly coupled with the translation table
initialization code.
Fixes ARM-software/tf-issues#152
Change-Id: I0a2251ce76acfa3c27541f832a9efaa49135cc1c
diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h
index 7e2e912..e2ba11d 100644
--- a/include/plat/common/platform.h
+++ b/include/plat/common/platform.h
@@ -50,8 +50,6 @@
* Mandatory common functions
******************************************************************************/
uint64_t plat_get_syscnt_freq(void);
-void enable_mmu_el1(void);
-void enable_mmu_el3(void);
int plat_get_image_source(const char *image_name,
uintptr_t *dev_handle,
uintptr_t *image_spec);
@@ -180,8 +178,18 @@
unsigned int plat_get_aff_state(unsigned int, unsigned long);
/*******************************************************************************
+ * Optional BL3-1 functions (may be overridden)
+ ******************************************************************************/
+void bl31_plat_enable_mmu();
+
+/*******************************************************************************
* Mandatory BL3-2 functions (only if platform contains a BL3-2)
******************************************************************************/
void bl32_platform_setup(void);
+/*******************************************************************************
+ * Optional BL3-2 functions (may be overridden)
+ ******************************************************************************/
+void bl32_plat_enable_mmu();
+
#endif /* __PLATFORM_H__ */