diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 10:35:35 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-04-20 13:52:14 +0200 |
commit | 99648958668d3a33ee57974479b36201fe303f34 (patch) | |
tree | 6f27ea790e2823c6156e71219a4f54680263fac6 /c/src/lib/libbsp/arm/raspberrypi | |
parent | bsps: Move start files to bsps (diff) | |
download | rtems-99648958668d3a33ee57974479b36201fe303f34.tar.bz2 |
bsps: Move startup files to bsps
Adjust build support files to new directory layout.
This patch is a part of the BSP source reorganization.
Update #3285.
Diffstat (limited to 'c/src/lib/libbsp/arm/raspberrypi')
12 files changed, 12 insertions, 646 deletions
diff --git a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am index d0c168867e..41e50b1aae 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/Makefile.am +++ b/c/src/lib/libbsp/arm/raspberrypi/Makefile.am @@ -10,7 +10,7 @@ ACLOCAL_AMFLAGS = -I ../../../../aclocal include $(top_srcdir)/../../../../automake/compile.am include $(top_srcdir)/../../bsp.am -dist_project_lib_DATA = startup/bsp_specs +dist_project_lib_DATA = ../../../../../../bsps/arm/raspberrypi/start/bsp_specs ############################################################################### # Header # @@ -43,23 +43,23 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/cpucounter/cpucounter librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/cpucounter/cpucounterdiff.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/sbrk.c librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/stackalloc.c -librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-memcpy.S +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/start/bsp-start-memcpy.S librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c if BSP_START_IN_HYP_SUPPORT -librtemsbsp_a_SOURCES += ../shared/startup/bsp-start-in-hyp-support.S +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/start/bsp-start-in-hyp-support.S endif # Startup -librtemsbsp_a_SOURCES += startup/bspstart.c -librtemsbsp_a_SOURCES += startup/cmdline.c -librtemsbsp_a_SOURCES += startup/bspgetworkarea.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/raspberrypi/start/bspstart.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/raspberrypi/start/cmdline.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/raspberrypi/start/bspgetworkarea.c if HAS_SMP -librtemsbsp_a_SOURCES += startup/bspsmp.c -librtemsbsp_a_SOURCES += startup/bspsmp_init.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/raspberrypi/start/bspsmp.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/raspberrypi/start/bspsmp_init.c endif # Restart -librtemsbsp_a_SOURCES += startup/bspreset.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/raspberrypi/start/bspreset.c # IRQ librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-exception-handler.c @@ -105,10 +105,10 @@ librtemsbsp_a_SOURCES += spi/spi.c librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/cache/cache-cp15.c # Start hooks -librtemsbsp_a_SOURCES += startup/bspstarthooks.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/raspberrypi/start/bspstarthooks.c # LIBMM -librtemsbsp_a_SOURCES += startup/mm_config_table.c +librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/raspberrypi/start/mm_config_table.c librtemsbsp_a_SOURCES += ../shared/mminit.c ############################################################################### diff --git a/c/src/lib/libbsp/arm/raspberrypi/configure.ac b/c/src/lib/libbsp/arm/raspberrypi/configure.ac index 051d5ad299..5180cb8e12 100644 --- a/c/src/lib/libbsp/arm/raspberrypi/configure.ac +++ b/c/src/lib/libbsp/arm/raspberrypi/configure.ac @@ -53,5 +53,5 @@ RTEMS_BSP_CLEANUP_OPTIONS AC_CONFIG_FILES([ Makefile -linkcmds:startup/linkcmds.in]) +linkcmds:../../../../../../bsps/arm/raspberrypi/start/linkcmds.in]) AC_OUTPUT diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bsp_specs b/c/src/lib/libbsp/arm/raspberrypi/startup/bsp_specs deleted file mode 100644 index 47dd31d46b..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bsp_specs +++ /dev/null @@ -1,9 +0,0 @@ -%rename endfile old_endfile -%rename startfile old_startfile - -*startfile: -%{!qrtems: %(old_startfile)} \ -%{!nostdlib: %{qrtems: crti.o%s crtbegin.o%s}} - -*endfile: -%{!qrtems: %(old_endfiles)} %{qrtems: crtend.o%s crtn.o%s} diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspgetworkarea.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspgetworkarea.c deleted file mode 100644 index 6a43e3c437..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspgetworkarea.c +++ /dev/null @@ -1,78 +0,0 @@ -/** - * @file - * - * @ingroup arm_start - * - * @brief Raspberry pi workarea initialization. - */ - -/* - * COPYRIGHT (c) 1989-2008. - * On-Line Applications Research Corporation (OAR). - * - * Copyright (c) 2011-2012 embedded brains GmbH. - * - * 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. - * - * Copyright (c) 2015 YANG Qiao - * - * Code is based on c/src/lib/libbsp/shared/bspgetworkarea.c - */ - -#include <string.h> -#include <bsp.h> -#include <bsp/bootcard.h> -#include <bsp/vc.h> -#ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN - #include <rtems/config.h> -#endif - -#if defined(HAS_UBOOT) && !defined(BSP_DISABLE_UBOOT_WORK_AREA_CONFIG) - #define USE_UBOOT -#endif - -/* - * These are provided by the linkcmds for ALL of the BSPs which use this file. - */ -extern char WorkAreaBase[]; - -/* - * We may get the size information from U-Boot or the linker scripts. - */ -#ifdef USE_UBOOT - #include <bsp/u-boot.h> -#else - extern char RamBase[]; - extern char RamSize[]; -#endif - -void bsp_work_area_initialize(void) -{ - uintptr_t work_base = (uintptr_t) WorkAreaBase; - uintptr_t ram_end; - bcm2835_get_vc_memory_entries vc_entry; - /* - * bcm2835_get_arm_memory_entries arm_entry; - * is another alternative how to obtain usable memory size - */ - - #ifdef USE_UBOOT - ram_end = (uintptr_t) bsp_uboot_board_info.bi_memstart + - bsp_uboot_board_info.bi_memsize; - #else - ram_end = (uintptr_t)RamBase + (uintptr_t)RamSize; - #endif - - #ifdef BSP_INTERRUPT_STACK_AT_WORK_AREA_BEGIN - work_base += rtems_configuration_get_interrupt_stack_size(); - #endif - - memset( &vc_entry, 0, sizeof(vc_entry) ); - if (bcm2835_mailbox_get_vc_memory( &vc_entry ) >= 0) { - if (vc_entry.base > 10 * 1024 *1024) - ram_end = ram_end > vc_entry.base? vc_entry.base: ram_end; - } - bsp_work_area_initialize_default( (void *) work_base, ram_end - work_base ); -} diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspreset.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspreset.c deleted file mode 100644 index 98c28bea9d..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspreset.c +++ /dev/null @@ -1,26 +0,0 @@ -/** - * @file - * - * @ingroup raspberrypi - * - * @brief Raspberry pi restart chip function - */ - -#include <bsp/bootcard.h> -#include <bsp/raspberrypi.h> -#include <bsp.h> -#include <rtems.h> - -void bsp_reset(void) -{ - uint32_t rstc; - - BCM2835_REG(BCM2835_PM_WDOG) = BCM2835_PM_PASSWD_MAGIC | 20; - rstc = BCM2835_REG(BCM2835_PM_RSTC); - rstc &= ~BCM2835_PM_RSTC_WRCFG; - rstc |= BCM2835_PM_PASSWD_MAGIC | BCM2835_PM_RSTC_WRCFG_FULL; - BCM2835_REG(BCM2835_PM_RSTC) = rstc; - BCM2835_REG(BCM2835_PM_WDOG) = BCM2835_PM_PASSWD_MAGIC | 1; - - while (1) ; -} diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp.c deleted file mode 100644 index c3e5451442..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp.c +++ /dev/null @@ -1,83 +0,0 @@ -/** - * @file - * - * @ingroup raspberrypi - * - * @brief Raspberry pi SMP management functions provided to SuperCore - */ - -/* - * Copyright (c) 2016 Pavel Pisa <pisa@cmp.felk.cvut.cz> - * - * Czech Technical University in Prague - * Zikova 1903/4 - * 166 36 Praha 6 - * Czech Republic - * - * Reuses some ideas from Rohini Kulkarni <krohini1593@gmail.com> - * GSoC 2015 project and Altera Cyclone-V SMP code - * by embedded brains GmbH - * - * 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 <rtems/score/smpimpl.h> - -#include <bsp/start.h> -#include <bsp/raspberrypi.h> -#include <bsp.h> -#include <bsp/arm-cp15-start.h> -#include <libcpu/arm-cp15.h> -#include <rtems.h> -#include <bsp/irq-generic.h> -#include <assert.h> - -bool _CPU_SMP_Start_processor( uint32_t cpu_index ) -{ - bool started; - uint32_t cpu_index_self = _SMP_Get_current_processor(); - - if (cpu_index != cpu_index_self) { - - BCM2835_REG(BCM2836_MAILBOX_3_WRITE_SET_BASE + 0x10 * cpu_index) = (uint32_t)_start; - - /* - * Wait for secondary processor to complete its basic initialization so - * that we can enable the unified L2 cache. - */ - started = _Per_CPU_State_wait_for_non_initial_state(cpu_index, 0); - } else { - started = false; - } - - return started; -} - -uint32_t _CPU_SMP_Initialize(void) -{ - uint32_t cpu_count = (uint32_t)bsp_processor_count; - - if ( cpu_count > 4 ) - cpu_count = 4; - - return cpu_count; -} - -void _CPU_SMP_Finalize_initialization( uint32_t cpu_count ) -{ - /* Do nothing */ -} - -void _CPU_SMP_Prepare_start_multitasking( void ) -{ - /* Do nothing */ -} - -void _CPU_SMP_Send_interrupt( uint32_t target_cpu_index ) -{ - /* Generates IPI */ - BCM2835_REG(BCM2836_MAILBOX_3_WRITE_SET_BASE + - 0x10 * target_cpu_index) = 0x1; -} diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp_init.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp_init.c deleted file mode 100644 index 8c8cd74712..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspsmp_init.c +++ /dev/null @@ -1,81 +0,0 @@ -/** - * @file - * - * @ingroup raspberrypi - * - * @brief Raspberry pi secondary CPU and IPI HW initialization - */ - -/* - * Copyright (c) 2016 Pavel Pisa <pisa@cmp.felk.cvut.cz> - * - * Czech Technical University in Prague - * Zikova 1903/4 - * 166 36 Praha 6 - * Czech Republic - * - * Reuses some ideas from Rohini Kulkarni <krohini1593@gmail.com> - * GSoC 2015 project and Altera Cyclone-V SMP code - * by embedded brains GmbH - * - * 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 <rtems/score/smpimpl.h> - -#include <bsp/start.h> -#include <bsp/raspberrypi.h> -#include <bsp.h> -#include <bsp/arm-cp15-start.h> -#include <libcpu/arm-cp15.h> -#include <rtems.h> -#include <bsp/irq-generic.h> -#include <assert.h> - -void rpi_ipi_initialize(void) -{ - uint32_t cpu_index_self = _SMP_Get_current_processor(); - - /* - * Includes support only for mailbox 3 interrupt. - * Further interrupt support has to be added. This will have to be integrated - * with existing interrupt support for Raspberry Pi - */ - - /* reset mailbox 3 contents to zero */ - BCM2835_REG(BCM2836_MAILBOX_3_READ_CLEAR_BASE + 0x10 * cpu_index_self) = 0xffffffff; - - BCM2835_REG(BCM2836_MAILBOX_IRQ_CTRL(cpu_index_self)) = - BCM2836_MAILBOX_IRQ_CTRL_MBOX3_IRQ; -} - -void rpi_start_rtems_on_secondary_processor(void) -{ - uint32_t ctrl; - - ctrl = arm_cp15_start_setup_mmu_and_cache( - 0, - ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_Z - ); - - rpi_ipi_initialize(); - - arm_cp15_set_domain_access_control( - ARM_CP15_DAC_DOMAIN(ARM_MMU_DEFAULT_CLIENT_DOMAIN, ARM_CP15_DAC_CLIENT) - ); - - /* FIXME: Sharing the translation table between processors is brittle */ - arm_cp15_set_translation_table_base( - (uint32_t *) bsp_translation_table_base - ); - - arm_cp15_tlb_invalidate(); - - ctrl |= ARM_CP15_CTRL_I | ARM_CP15_CTRL_C | ARM_CP15_CTRL_M; - ctrl &= ~ARM_CP15_CTRL_V; - arm_cp15_set_control(ctrl); - - _SMP_Start_multitasking_on_secondary_processor(); -} diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstart.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstart.c deleted file mode 100644 index c5786bfa4a..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstart.c +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @file - * - * @ingroup arm_start - * - * @brief Raspberry pi startup code. - */ - -/* - * Copyright (c) 2013 by Alan Cudmore - * - * 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 <bsp.h> -#include <bsp/bootcard.h> -#include <bsp/irq-generic.h> -#include <bsp/irq.h> -#include <bsp/linker-symbols.h> -#include <bsp/stackalloc.h> -#include <bsp/raspberrypi.h> - -void bsp_start(void) -{ - bsp_interrupt_initialize(); -} diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c b/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c deleted file mode 100644 index 165a555880..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/bspstarthooks.c +++ /dev/null @@ -1,107 +0,0 @@ -/** - * @file - * - * @ingroup arm_start - * - * @brief Rasberry Pi startup code. - */ - -/* - * Copyright (c) 2013. Hesham AL-Matary - * Copyright (c) 2013 by Alan Cudmore - * based on work by: - * Copyright (c) 2009 - * embedded brains GmbH - * Obere Lagerstr. 30 - * D-82178 Puchheim - * Germany - * <rtems@embedded-brains.de> - * - * 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 <bspopts.h> -#include <bsp/start.h> -#include <bsp/raspberrypi.h> -#include <bsp/mm.h> -#include <libcpu/arm-cp15.h> -#include <bsp.h> - -#ifdef RTEMS_SMP -#include <rtems/score/smp.h> -#endif - -void BSP_START_TEXT_SECTION bsp_start_hook_0(void) -{ - uint32_t sctlr_val; -#ifdef RTEMS_SMP - uint32_t cpu_index_self = _SMP_Get_current_processor(); -#endif /* RTEMS_SMP */ - - sctlr_val = arm_cp15_get_control(); - - /* - * Current U-boot loader seems to start kernel image - * with I and D caches on and MMU enabled. - * If RTEMS application image finds that cache is on - * during startup then disable caches. - */ - if (sctlr_val & (ARM_CP15_CTRL_I | ARM_CP15_CTRL_C | ARM_CP15_CTRL_M)) { - if (sctlr_val & (ARM_CP15_CTRL_C | ARM_CP15_CTRL_M)) { - /* - * If the data cache is on then ensure that it is clean - * before switching off to be extra carefull. - */ -#ifdef RTEMS_SMP - if (cpu_index_self != 0) { - arm_cp15_data_cache_clean_level(0); - arm_cp15_cache_invalidate_level(0, 0); - } else -#endif /* RTEMS_SMP */ - { - rtems_cache_flush_entire_data(); - rtems_cache_invalidate_entire_data(); - } - } - arm_cp15_flush_prefetch_buffer(); - sctlr_val &= ~(ARM_CP15_CTRL_I | ARM_CP15_CTRL_C | ARM_CP15_CTRL_M | ARM_CP15_CTRL_A); - arm_cp15_set_control(sctlr_val); - } -#ifdef RTEMS_SMP - if (cpu_index_self != 0) { - arm_cp15_cache_invalidate_level(0, 0); - } else -#endif /* RTEMS_SMP */ - { - rtems_cache_invalidate_entire_data(); - } - rtems_cache_invalidate_entire_instruction(); - arm_cp15_branch_predictor_invalidate_all(); - arm_cp15_tlb_invalidate(); - arm_cp15_flush_prefetch_buffer(); - - /* Clear Translation Table Base Control Register */ - arm_cp15_set_translation_table_base_control_register(0); - - /* Clear Secure or Non-secure Vector Base Address Register */ - arm_cp15_set_vector_base_address(0); - -#ifdef RTEMS_SMP - if (cpu_index_self == 0) { - rpi_ipi_initialize(); - } else { - rpi_start_rtems_on_secondary_processor(); - } -#endif -} - -void BSP_START_TEXT_SECTION bsp_start_hook_1(void) -{ - bsp_start_copy_sections(); - bsp_memory_management_initialize(); - bsp_start_clear_bss(); - - rpi_video_init(); -} diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c b/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c deleted file mode 100644 index 222b21eb63..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/cmdline.c +++ /dev/null @@ -1,55 +0,0 @@ -/** - * @file - * - * @ingroup raspberrypi - * - * @brief mailbox support. - */ -/* - * Copyright (c) 2015 Yang Qiao - * - * 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 <bsp.h> -#include <bsp/vc.h> - -#include <string.h> - -#define MAX_CMDLINE_LENGTH 1024 -static int rpi_cmdline_ready = -1; -static char rpi_cmdline_cached[MAX_CMDLINE_LENGTH] = "force .data placement"; -static bcm2835_get_cmdline_entries rpi_cmdline_entries; - -const char *rpi_cmdline_get_raw(void) -{ - memset(&rpi_cmdline_entries, 0, sizeof(rpi_cmdline_entries)); - if (bcm2835_mailbox_get_cmdline(&rpi_cmdline_entries) < 0) - return NULL; - return rpi_cmdline_entries.cmdline; -} - -const char *rpi_cmdline_get_cached(void) -{ - if (rpi_cmdline_ready <= 0) { - const char *line = rpi_cmdline_get_raw(); - if (line != NULL) - strncpy(rpi_cmdline_cached, line, MAX_CMDLINE_LENGTH - 1); - rpi_cmdline_cached[MAX_CMDLINE_LENGTH - 1] = 0; - rpi_cmdline_ready = 1; - } - return rpi_cmdline_cached; -} - -const char *rpi_cmdline_get_arg(const char* arg) -{ - const char *opt_data; - opt_data = strstr(rpi_cmdline_get_cached(), arg); - if (opt_data) - opt_data += strlen(arg); - return opt_data; -} diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/linkcmds.in b/c/src/lib/libbsp/arm/raspberrypi/startup/linkcmds.in deleted file mode 100644 index 829716c11c..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/linkcmds.in +++ /dev/null @@ -1,70 +0,0 @@ -/** - * @file - * - * @ingroup raspberrypi_linker - * - * @brief Memory map - */ - -/** - * @defgroup raspberrypi_linker Raspberry Pi Memory Map - * - * @ingroup bsp_linker - * - * @brief Raspberry Pi memory map. - */ - -/** - * <table> - * <tr><th>Region Name</th><th>Region Begin</th><th>Region Size</th></tr> - * <tr><td>VECTOR_RAM</td><td>0x08000000</td><td>8k</td></tr> - * <tr><td>RAM</td><td>0x80008000</td><td>128M</td></tr> - * </table> - * - * <table> - * <tr><th>Section Name</th><th>Section Runtime Region</th><th>Section Load Region</th></tr> - * <tr><td>.start</td><td>RAM</td><td></td></tr> - * <tr><td>.vector</td><td>VECTOR_RAM</td><td></td></tr> - * <tr><td>.text</td><td>RAM</td><td>RAM_EXT</td></tr> - * <tr><td>.rodata</td><td>RAM</td><td>RAM_EXT</td></tr> - * <tr><td>.data</td><td>RAM</td><td>RAM_EXT</td></tr> - * <tr><td>.fast</td><td>RAM</td><td>RAM_EXT</td></tr> - * <tr><td>.bss</td><td>RAM</td><td></td></tr> - * <tr><td>.work</td><td>RAM</td><td></td></tr> - * <tr><td>.stack</td><td>RAM</td><td></td></tr> - * </table> - */ - -MEMORY { - VECTOR_RAM (AIW) : ORIGIN = 0x0 , LENGTH = 16k - RAM_MMU (AIW) : ORIGIN = 0x00004000, LENGTH = 16k - RAM (AIW) : ORIGIN = 0x00008000, LENGTH = 128M - 32k -} - -bsp_processor_count = DEFINED (bsp_processor_count) ? bsp_processor_count : @RASPBERRYPI_CPUS@; - -REGION_ALIAS ("REGION_START", RAM); -REGION_ALIAS ("REGION_VECTOR", VECTOR_RAM); -REGION_ALIAS ("REGION_TEXT", RAM); -REGION_ALIAS ("REGION_TEXT_LOAD", RAM); -REGION_ALIAS ("REGION_RODATA", RAM); -REGION_ALIAS ("REGION_RODATA_LOAD", RAM); -REGION_ALIAS ("REGION_DATA", RAM); -REGION_ALIAS ("REGION_DATA_LOAD", RAM); -REGION_ALIAS ("REGION_FAST_TEXT", RAM); -REGION_ALIAS ("REGION_FAST_TEXT_LOAD", RAM); -REGION_ALIAS ("REGION_FAST_DATA", RAM); -REGION_ALIAS ("REGION_FAST_DATA_LOAD", RAM); -REGION_ALIAS ("REGION_BSS", RAM); -REGION_ALIAS ("REGION_WORK", RAM); -REGION_ALIAS ("REGION_STACK", RAM); -REGION_ALIAS ("REGION_NOCACHE", RAM); -REGION_ALIAS ("REGION_NOCACHE_LOAD", RAM); - -bsp_stack_irq_size = DEFINED (bsp_stack_irq_size) ? bsp_stack_irq_size : 3008; -bsp_stack_abt_size = DEFINED (bsp_stack_abt_size) ? bsp_stack_abt_size : 1024; - -bsp_section_robarrier_align = DEFINED (bsp_section_robarrier_align) ? bsp_section_robarrier_align : 1M; -bsp_translation_table_base = ORIGIN (RAM_MMU); - -INCLUDE linkcmds.armv4 diff --git a/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c b/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c deleted file mode 100644 index 27fa76b355..0000000000 --- a/c/src/lib/libbsp/arm/raspberrypi/startup/mm_config_table.c +++ /dev/null @@ -1,96 +0,0 @@ -/** - * @file - * - * @ingroup arm_start - * - * @brief Raspberry Pi low level start - */ - -/* - * Copyright (c) 2013 embedded brains GmbH. All rights reserved. - * - * embedded brains GmbH - * Dornierstr. 4 - * 82178 Puchheim - * Germany - * <info@embedded-brains.de> - * - * 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 <bsp.h> -#include <bsp/arm-cp15-start.h> - -/* - * Pagetable initialization data - * - * Keep all read-only sections before read-write ones. - * This ensures that write is allowed if one page/region - * is partially filled by read-only section contentent - * and rest is used for writeable section - */ - -const arm_cp15_start_section_config arm_cp15_start_mmu_config_table[] = { - { - .begin = (uint32_t) bsp_section_fast_text_begin, - .end = (uint32_t) bsp_section_fast_text_end, - .flags = ARMV7_MMU_CODE_CACHED - }, { - .begin = (uint32_t) bsp_section_start_begin, - .end = (uint32_t) bsp_section_start_end, - .flags = ARMV7_MMU_CODE_CACHED - }, { - .begin = (uint32_t) bsp_section_text_begin, - .end = (uint32_t) bsp_section_text_end, - .flags = ARMV7_MMU_CODE_CACHED - }, { - .begin = (uint32_t) bsp_section_rodata_begin, - .end = (uint32_t) bsp_section_rodata_end, - .flags = ARMV7_MMU_DATA_READ_ONLY_CACHED - }, { - .begin = (uint32_t) bsp_translation_table_base, - .end = (uint32_t) bsp_translation_table_base + 0x4000, - .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED - }, { - .begin = (uint32_t) bsp_section_fast_data_begin, - .end = (uint32_t) bsp_section_fast_data_end, - .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED - }, { - .begin = (uint32_t) bsp_section_vector_begin, - .end = (uint32_t) bsp_section_vector_end, - .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED - }, { - .begin = (uint32_t) bsp_section_data_begin, - .end = (uint32_t) bsp_section_data_end, - .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED - }, { - .begin = (uint32_t) bsp_section_bss_begin, - .end = (uint32_t) bsp_section_bss_end, - .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED - }, { - .begin = (uint32_t) bsp_section_work_begin, - .end = (uint32_t) bsp_section_work_end, - .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED - }, { - .begin = (uint32_t) bsp_section_stack_begin, - .end = (uint32_t) bsp_section_stack_end, - .flags = ARMV7_MMU_DATA_READ_WRITE_CACHED - }, { - .begin = RPI_PERIPHERAL_BASE, - .end = RPI_PERIPHERAL_BASE + RPI_PERIPHERAL_SIZE, - .flags = ARMV7_MMU_DEVICE - } -#if (BSP_IS_RPI2 == 1) - /* Core local peripherals area - timer, mailboxes */ - , { - .begin = BCM2836_CORE_LOCAL_PERIPH_BASE, - .end = BCM2836_CORE_LOCAL_PERIPH_BASE + BCM2836_CORE_LOCAL_PERIPH_SIZE, - .flags = ARMV7_MMU_DEVICE - } -#endif -}; - -const size_t arm_cp15_start_mmu_config_table_size = - RTEMS_ARRAY_SIZE(arm_cp15_start_mmu_config_table); |