aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAchin Gupta <achin.gupta@arm.com>2014-06-26 08:59:07 +0100
committerAchin Gupta <achin.gupta@arm.com>2014-07-19 23:31:52 +0100
commitafff8cbdd816ca9b0d71ab54882ce70b21ed84e1 (patch)
tree45cd0afb3cdcc7db4fd42669e0430a57fa396768 /include
parent754a2b7a092d3cf81767f1b5a6ab61531792e45f (diff)
downloadtrusted-firmware-a-afff8cbdd816ca9b0d71ab54882ce70b21ed84e1.tar.gz
Make enablement of the MMU more flexible
This patch adds a 'flags' parameter to each exception level specific function responsible for enabling the MMU. At present only a single flag which indicates whether the data cache should also be enabled is implemented. Subsequent patches will use this flag when enabling the MMU in the warm boot paths. Change-Id: I0eafae1e678c9ecc604e680851093f1680e9cefa
Diffstat (limited to 'include')
-rw-r--r--include/lib/aarch64/xlat_tables.h13
-rw-r--r--include/plat/common/platform.h4
2 files changed, 13 insertions, 4 deletions
diff --git a/include/lib/aarch64/xlat_tables.h b/include/lib/aarch64/xlat_tables.h
index 8e0adc7fa6..2d4a211b9c 100644
--- a/include/lib/aarch64/xlat_tables.h
+++ b/include/lib/aarch64/xlat_tables.h
@@ -31,6 +31,14 @@
#ifndef __XLAT_TABLES_H__
#define __XLAT_TABLES_H__
+
+/*
+ * Flags to override default values used to program system registers while
+ * enabling the MMU.
+ */
+#define DISABLE_DCACHE (1 << 0)
+
+#ifndef __ASSEMBLY__
#include <stdint.h>
/*
@@ -67,7 +75,8 @@ void mmap_add(const mmap_region_t *mm);
void init_xlat_tables(void);
-void enable_mmu_el1(void);
-void enable_mmu_el3(void);
+void enable_mmu_el1(uint32_t flags);
+void enable_mmu_el3(uint32_t flags);
+#endif /*__ASSEMBLY__*/
#endif /* __XLAT_TABLES_H__ */
diff --git a/include/plat/common/platform.h b/include/plat/common/platform.h
index 1eeaac2784..4b73a0971d 100644
--- a/include/plat/common/platform.h
+++ b/include/plat/common/platform.h
@@ -180,7 +180,7 @@ unsigned int plat_get_aff_state(unsigned int, unsigned long);
/*******************************************************************************
* Optional BL3-1 functions (may be overridden)
******************************************************************************/
-void bl31_plat_enable_mmu(void);
+void bl31_plat_enable_mmu(uint32_t flags);
/*******************************************************************************
* Mandatory BL3-2 functions (only if platform contains a BL3-2)
@@ -190,6 +190,6 @@ void bl32_platform_setup(void);
/*******************************************************************************
* Optional BL3-2 functions (may be overridden)
******************************************************************************/
-void bl32_plat_enable_mmu(void);
+void bl32_plat_enable_mmu(uint32_t flags);
#endif /* __PLATFORM_H__ */