bsps/arm: Merge ARMv7 MMU section definitions

This commit is contained in:
Sebastian Huber
2013-05-31 09:59:27 +02:00
parent ac2bb464a5
commit 1dcf5febf2
5 changed files with 69 additions and 80 deletions

View File

@@ -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 {

View File

@@ -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)
);

View File

@@ -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 {

View File

@@ -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)
);

View File

@@ -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)
/** @} */
/**