forked from Imagelibrary/rtems
bsps/arm: Merge ARMv7 MMU section definitions
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
);
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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)
|
||||
);
|
||||
|
||||
@@ -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)
|
||||
|
||||
/** @} */
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user