summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2013-05-31 09:59:27 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2013-05-31 15:20:31 +0200
commit1dcf5febf21a84df61d6363e96e30422467f4b63 (patch)
tree97f963b2eeea320f9440a7e0298ac45c14bfb609
parentsmptests: Use priority ceiling for locked print (diff)
downloadrtems-1dcf5febf21a84df61d6363e96e30422467f4b63.tar.bz2
bsps/arm: Merge ARMv7 MMU section definitions
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/include/bsp.h27
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c26
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/include/bsp.h27
-rw-r--r--c/src/lib/libbsp/arm/xilinx-zynq/startup/bspstarthooks.c26
-rw-r--r--c/src/lib/libcpu/arm/shared/include/arm-cp15.h43
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 4e89635e01..41b714b51b 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 a049a55d1d..48e174a0ad 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 0934800146..a0267d48e7 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 b15f95ca74..f9fceeb965 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 1ed9fc9b18..478dd33688 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)
+
/** @} */
/**