[rtems commit] bsps/arm: Merge ARMv7 MMU section definitions

Sebastian Huber sebh at rtems.org
Fri May 31 13:15:45 UTC 2013


Module:    rtems
Branch:    master
Commit:    1dcf5febf21a84df61d6363e96e30422467f4b63
Changeset: http://git.rtems.org/rtems/commit/?id=1dcf5febf21a84df61d6363e96e30422467f4b63

Author:    Sebastian Huber <sebastian.huber at embedded-brains.de>
Date:      Fri May 31 09:59:27 2013 +0200

bsps/arm: Merge ARMv7 MMU section definitions

---

 c/src/lib/libbsp/arm/realview-pbx-a9/include/bsp.h |   27 ------------
 .../arm/realview-pbx-a9/startup/bspstarthooks.c    |   26 ++++++------
 c/src/lib/libbsp/arm/xilinx-zynq/include/bsp.h     |   27 ------------
 .../libbsp/arm/xilinx-zynq/startup/bspstarthooks.c |   26 ++++++------
 c/src/lib/libcpu/arm/shared/include/arm-cp15.h     |   43 ++++++++++++++++++++
 5 files changed, 69 insertions(+), 80 deletions(-)

diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/include/bsp.h b/c/src/lib/libbsp/arm/realview-pbx-a9/include/bsp.h
index 4e89635..41b714b 100644
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/include/bsp.h
+++ b/c/src/lib/libbsp/arm/realview-pbx-a9/include/bsp.h
@@ -31,33 +31,6 @@
 extern "C" {
 #endif /* __cplusplus */
 
-#define BSP_ARM_MMU_CLIENT_DOMAIN 15U
-
-#define BSP_ARM_MMU_READ_ONLY \
-  ((BSP_ARM_MMU_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
-    | ARM_MMU_SECT_AP_0 \
-    | ARM_MMU_SECT_AP_2 \
-    | ARM_MMU_SECT_DEFAULT)
-
-#define BSP_ARM_MMU_READ_ONLY_CACHED \
-  (BSP_ARM_MMU_READ_ONLY | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
-
-#define BSP_ARM_MMU_READ_WRITE \
-  ((BSP_ARM_MMU_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
-    | ARM_MMU_SECT_AP_0 \
-    | ARM_MMU_SECT_DEFAULT)
-
-#define BSP_ARM_MMU_READ_WRITE_CACHED \
-  (BSP_ARM_MMU_READ_WRITE | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
-
-#define BSP_ARM_MMU_READ_WRITE_DATA \
-  BSP_ARM_MMU_READ_WRITE_CACHED
-
-#define BSP_ARM_MMU_READ_ONLY_DATA \
-  BSP_ARM_MMU_READ_ONLY_CACHED
-
-#define BSP_ARM_MMU_CODE BSP_ARM_MMU_READ_ONLY_CACHED
-
 #define BSP_ARM_A9MPCORE_PT_BASE 0x1f000600
 
 typedef enum {
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c
index a049a55..48e174a 100644
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c
+++ b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c
@@ -27,51 +27,51 @@ rvpbxa9_mmu_config_table[] = {
   {
     .begin = (uint32_t) bsp_section_fast_text_begin,
     .end = (uint32_t) bsp_section_fast_text_end,
-    .flags = BSP_ARM_MMU_CODE
+    .flags = ARMV7_MMU_CODE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_fast_data_begin,
     .end = (uint32_t) bsp_section_fast_data_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_start_begin,
     .end = (uint32_t) bsp_section_start_end,
-    .flags = BSP_ARM_MMU_CODE
+    .flags = ARMV7_MMU_CODE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_vector_begin,
     .end = (uint32_t) bsp_section_vector_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_CACHED
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_text_begin,
     .end = (uint32_t) bsp_section_text_end,
-    .flags = BSP_ARM_MMU_CODE
+    .flags = ARMV7_MMU_CODE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_rodata_begin,
     .end = (uint32_t) bsp_section_rodata_end,
-    .flags = BSP_ARM_MMU_READ_ONLY_DATA
+    .flags = ARMV7_MMU_DATA_READ_ONLY_CACHED
   }, {
     .begin = (uint32_t) bsp_section_data_begin,
     .end = (uint32_t) bsp_section_data_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_bss_begin,
     .end = (uint32_t) bsp_section_bss_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_work_begin,
     .end = (uint32_t) bsp_section_work_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_stack_begin,
     .end = (uint32_t) bsp_section_stack_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = 0x10000000U,
     .end = 0x10020000U,
-    .flags = BSP_ARM_MMU_READ_WRITE
+    .flags = ARMV7_MMU_DEVICE
   }, {
     .begin = 0x1f000000U,
     .end = 0x20000000U,
-    .flags = BSP_ARM_MMU_READ_WRITE
+    .flags = ARMV7_MMU_DEVICE
   }
 };
 
@@ -85,7 +85,7 @@ BSP_START_TEXT_SECTION static void setup_mmu_and_cache(void)
   arm_cp15_start_setup_translation_table_and_enable_mmu(
     ctrl,
     (uint32_t *) bsp_translation_table_base,
-    BSP_ARM_MMU_CLIENT_DOMAIN,
+    ARM_MMU_DEFAULT_CLIENT_DOMAIN,
     &rvpbxa9_mmu_config_table[0],
     RTEMS_ARRAY_SIZE(rvpbxa9_mmu_config_table)
   );
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/include/bsp.h b/c/src/lib/libbsp/arm/xilinx-zynq/include/bsp.h
index 0934800..a0267d4 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/include/bsp.h
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/include/bsp.h
@@ -31,33 +31,6 @@
 extern "C" {
 #endif /* __cplusplus */
 
-#define BSP_ARM_MMU_CLIENT_DOMAIN 15U
-
-#define BSP_ARM_MMU_READ_ONLY \
-  ((BSP_ARM_MMU_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
-    | ARM_MMU_SECT_AP_0 \
-    | ARM_MMU_SECT_AP_2 \
-    | ARM_MMU_SECT_DEFAULT)
-
-#define BSP_ARM_MMU_READ_ONLY_CACHED \
-  (BSP_ARM_MMU_READ_ONLY | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
-
-#define BSP_ARM_MMU_READ_WRITE \
-  ((BSP_ARM_MMU_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
-    | ARM_MMU_SECT_AP_0 \
-    | ARM_MMU_SECT_DEFAULT)
-
-#define BSP_ARM_MMU_READ_WRITE_CACHED \
-  (BSP_ARM_MMU_READ_WRITE | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
-
-#define BSP_ARM_MMU_READ_WRITE_DATA \
-  BSP_ARM_MMU_READ_WRITE_CACHED
-
-#define BSP_ARM_MMU_READ_ONLY_DATA \
-  BSP_ARM_MMU_READ_ONLY_CACHED
-
-#define BSP_ARM_MMU_CODE BSP_ARM_MMU_READ_ONLY_CACHED
-
 #define BSP_ARM_A9MPCORE_PT_BASE 0xf8f00600
 
 typedef enum {
diff --git a/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspstarthooks.c
index b15f95c..f9fceeb 100644
--- a/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspstarthooks.c
+++ b/c/src/lib/libbsp/arm/xilinx-zynq/startup/bspstarthooks.c
@@ -27,51 +27,51 @@ zynq_mmu_config_table[] = {
   {
     .begin = (uint32_t) bsp_section_fast_text_begin,
     .end = (uint32_t) bsp_section_fast_text_end,
-    .flags = BSP_ARM_MMU_CODE
+    .flags = ARMV7_MMU_CODE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_fast_data_begin,
     .end = (uint32_t) bsp_section_fast_data_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_start_begin,
     .end = (uint32_t) bsp_section_start_end,
-    .flags = BSP_ARM_MMU_CODE
+    .flags = ARMV7_MMU_CODE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_vector_begin,
     .end = (uint32_t) bsp_section_vector_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_CACHED
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_text_begin,
     .end = (uint32_t) bsp_section_text_end,
-    .flags = BSP_ARM_MMU_CODE
+    .flags = ARMV7_MMU_CODE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_rodata_begin,
     .end = (uint32_t) bsp_section_rodata_end,
-    .flags = BSP_ARM_MMU_READ_ONLY_DATA
+    .flags = ARMV7_MMU_DATA_READ_ONLY_CACHED
   }, {
     .begin = (uint32_t) bsp_section_data_begin,
     .end = (uint32_t) bsp_section_data_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_bss_begin,
     .end = (uint32_t) bsp_section_bss_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_work_begin,
     .end = (uint32_t) bsp_section_work_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = (uint32_t) bsp_section_stack_begin,
     .end = (uint32_t) bsp_section_stack_end,
-    .flags = BSP_ARM_MMU_READ_WRITE_DATA
+    .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED
   }, {
     .begin = 0xe0000000U,
     .end = 0xe0200000U,
-    .flags = BSP_ARM_MMU_READ_WRITE
+    .flags = ARMV7_MMU_DEVICE
   }, {
     .begin = 0xf8000000U,
     .end = 0xf9000000U,
-    .flags = BSP_ARM_MMU_READ_WRITE
+    .flags = ARMV7_MMU_DEVICE
   }
 };
 
@@ -85,7 +85,7 @@ BSP_START_TEXT_SECTION static void setup_mmu_and_cache(void)
   arm_cp15_start_setup_translation_table_and_enable_mmu(
     ctrl,
     (uint32_t *) bsp_translation_table_base,
-    BSP_ARM_MMU_CLIENT_DOMAIN,
+    ARM_MMU_DEFAULT_CLIENT_DOMAIN,
     &zynq_mmu_config_table[0],
     RTEMS_ARRAY_SIZE(zynq_mmu_config_table)
   );
diff --git a/c/src/lib/libcpu/arm/shared/include/arm-cp15.h b/c/src/lib/libcpu/arm/shared/include/arm-cp15.h
index 1ed9fc9..478dd33 100644
--- a/c/src/lib/libcpu/arm/shared/include/arm-cp15.h
+++ b/c/src/lib/libcpu/arm/shared/include/arm-cp15.h
@@ -82,6 +82,49 @@ extern "C" {
 #define ARM_MMU_TRANSLATION_TABLE_ENTRY_SIZE 4U
 #define ARM_MMU_TRANSLATION_TABLE_ENTRY_COUNT 4096U
 
+#define ARM_MMU_DEFAULT_CLIENT_DOMAIN 15U
+
+#define ARMV7_MMU_READ_ONLY \
+  ((ARM_MMU_DEFAULT_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
+    | ARM_MMU_SECT_AP_0 \
+    | ARM_MMU_SECT_AP_2 \
+    | ARM_MMU_SECT_DEFAULT)
+
+#define ARMV7_MMU_READ_ONLY_CACHED \
+  (ARMV7_MMU_READ_ONLY | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
+
+#define ARMV7_MMU_READ_WRITE \
+  ((ARM_MMU_DEFAULT_CLIENT_DOMAIN << ARM_MMU_SECT_DOMAIN_SHIFT) \
+    | ARM_MMU_SECT_AP_0 \
+    | ARM_MMU_SECT_DEFAULT)
+
+#define ARMV7_MMU_READ_WRITE_CACHED \
+  (ARMV7_MMU_READ_WRITE | ARM_MMU_SECT_C | ARM_MMU_SECT_B)
+
+#define ARMV7_MMU_DATA_READ_ONLY \
+  ARMV7_MMU_READ_ONLY
+
+#define ARMV7_MMU_DATA_READ_ONLY_CACHED \
+  ARMV7_MMU_READ_ONLY_CACHED
+
+#define ARMV7_MMU_DATA_READ_WRITE \
+  ARMV7_MMU_READ_WRITE
+
+#define ARMV7_MMU_DATA_READ_WRITE_CACHED \
+  ARMV7_MMU_READ_WRITE_CACHED
+
+#define ARMV7_MMU_DATA_READ_WRITE_SHAREABLE \
+  (ARMV7_MMU_READ_WRITE_CACHED | ARM_MMU_SECT_S)
+
+#define ARMV7_MMU_CODE \
+  ARMV7_MMU_READ_ONLY
+
+#define ARMV7_MMU_CODE_CACHED \
+  ARMV7_MMU_READ_ONLY_CACHED
+
+#define ARMV7_MMU_DEVICE \
+  (ARMV7_MMU_READ_WRITE | ARM_MMU_SECT_B)
+
 /** @} */
 
 /**




More information about the vc mailing list