From 1dcf5febf21a84df61d6363e96e30422467f4b63 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Fri, 31 May 2013 09:59:27 +0200 Subject: 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 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) + /** @} */ /** -- cgit v1.2.3