From 7ab6046a6246fcb5704ebb7a471fa9b0f10bff36 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Tue, 1 Jul 2014 15:30:07 +0200 Subject: bsp/altera-cyclone-v: Move MMU configuration table This makes it possible to use application specific version. --- c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am | 1 + .../arm/altera-cyclone-v/startup/bspstarthooks.c | 22 ++------------ .../arm/altera-cyclone-v/startup/mmu-config.c | 34 ++++++++++++++++++++++ 3 files changed, 37 insertions(+), 20 deletions(-) create mode 100644 c/src/lib/libbsp/arm/altera-cyclone-v/startup/mmu-config.c diff --git a/c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am b/c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am index 78abb0b358..6d7115b410 100644 --- a/c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am +++ b/c/src/lib/libbsp/arm/altera-cyclone-v/Makefile.am @@ -151,6 +151,7 @@ libbsp_a_SOURCES += startup/bspreset.c libbsp_a_SOURCES += startup/bspstart.c libbsp_a_SOURCES += startup/bspstarthooks.c libbsp_a_SOURCES += startup/nocache-heap.c +libbsp_a_SOURCES += startup/mmu-config.c if HAS_SMP libbsp_a_SOURCES += startup/bspsmp.c endif diff --git a/c/src/lib/libbsp/arm/altera-cyclone-v/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/altera-cyclone-v/startup/bspstarthooks.c index e543ea27d1..bd1f1c8121 100644 --- a/c/src/lib/libbsp/arm/altera-cyclone-v/startup/bspstarthooks.c +++ b/c/src/lib/libbsp/arm/altera-cyclone-v/startup/bspstarthooks.c @@ -27,24 +27,6 @@ /* 1 MB reset default value for address filtering start */ #define BSPSTART_L2_CACHE_ADDR_FILTERING_START_RESET 0x100000 -LINKER_SYMBOL(bsp_section_nocache_size); -LINKER_SYMBOL(bsp_section_nocache_end); -LINKER_SYMBOL(bsp_section_nocache_begin); - -BSP_START_DATA_SECTION static const arm_cp15_start_section_config - altcycv_mmu_config_table[] = { - ARMV7_CP15_START_DEFAULT_SECTIONS, - { - .begin = (uint32_t) bsp_section_nocache_begin, - .end = (uint32_t) bsp_section_nocache_end, - .flags = ARMV7_MMU_DATA_READ_WRITE - }, { /* Periphery area */ - .begin = 0xFC000000U, - .end = 0x00000000U, - .flags = ARMV7_MMU_DEVICE - } -}; - BSP_START_TEXT_SECTION void bsp_start_hook_0( void ) { arm_cp15_instruction_cache_invalidate(); @@ -63,8 +45,8 @@ BSP_START_TEXT_SECTION static void setup_mmu_and_cache(void) ctrl, (uint32_t *) bsp_translation_table_base, ARM_MMU_DEFAULT_CLIENT_DOMAIN, - &altcycv_mmu_config_table[0], - RTEMS_ARRAY_SIZE(altcycv_mmu_config_table) + &arm_cp15_start_mmu_config_table[0], + arm_cp15_start_mmu_config_table_size ); } diff --git a/c/src/lib/libbsp/arm/altera-cyclone-v/startup/mmu-config.c b/c/src/lib/libbsp/arm/altera-cyclone-v/startup/mmu-config.c new file mode 100644 index 0000000000..98b4ac833b --- /dev/null +++ b/c/src/lib/libbsp/arm/altera-cyclone-v/startup/mmu-config.c @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2013-2014 embedded brains GmbH. All rights reserved. + * + * embedded brains GmbH + * Dornierstr. 4 + * 82178 Puchheim + * Germany + * + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.rtems.org/license/LICENSE. + */ + +#include + +LINKER_SYMBOL(bsp_section_nocache_end); +LINKER_SYMBOL(bsp_section_nocache_begin); + +const arm_cp15_start_section_config arm_cp15_start_mmu_config_table[] = { + ARMV7_CP15_START_DEFAULT_SECTIONS, + { + .begin = (uint32_t) bsp_section_nocache_begin, + .end = (uint32_t) bsp_section_nocache_end, + .flags = ARMV7_MMU_DATA_READ_WRITE + }, { /* Periphery area */ + .begin = 0xFC000000U, + .end = 0x00000000U, + .flags = ARMV7_MMU_DEVICE + } +}; + +const size_t arm_cp15_start_mmu_config_table_size = + RTEMS_ARRAY_SIZE(arm_cp15_start_mmu_config_table); -- cgit v1.2.3