summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/realview-pbx-a9
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 10:35:35 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-04-20 13:52:14 +0200
commit99648958668d3a33ee57974479b36201fe303f34 (patch)
tree6f27ea790e2823c6156e71219a4f54680263fac6 /c/src/lib/libbsp/arm/realview-pbx-a9
parentbsps: Move start files to bsps (diff)
downloadrtems-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/realview-pbx-a9')
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am18
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/bsp_specs9
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspreset.c26
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspsmp.c24
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstart.c24
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c81
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/fb-config.c64
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu35
-rw-r--r--c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp3
9 files changed, 9 insertions, 275 deletions
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am b/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am
index 829fa617dc..64b89754a2 100644
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/Makefile.am
+++ b/c/src/lib/libbsp/arm/realview-pbx-a9/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/realview-pbx-a9/start/bsp_specs
###############################################################################
# Header #
@@ -25,8 +25,8 @@ start.$(OBJEXT): ../../../../../../bsps/arm/shared/start/start.S
project_lib_DATA = start.$(OBJEXT)
project_lib_DATA += linkcmds
-dist_project_lib_DATA += startup/linkcmds.realview_pbx_a9_qemu
-dist_project_lib_DATA += startup/linkcmds.realview_pbx_a9_qemu_smp
+dist_project_lib_DATA += ../../../../../../bsps/arm/realview-pbx-a9/start/linkcmds.realview_pbx_a9_qemu
+dist_project_lib_DATA += ../../../../../../bsps/arm/realview-pbx-a9/start/linkcmds.realview_pbx_a9_qemu_smp
###############################################################################
# LibBSP #
@@ -44,16 +44,16 @@ librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/cpucounter/cpucounter
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/start/sbrk.c
librtemsbsp_a_SOURCES += ../../../../../../bsps/shared/dev/btimer/btimer-stub.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-exception-handler.c
librtemsbsp_a_SOURCES += ../shared/arm-cp15-set-ttb-entries.c
# Startup
-librtemsbsp_a_SOURCES += startup/bspreset.c
-librtemsbsp_a_SOURCES += startup/bspstart.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspreset.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspstart.c
if HAS_SMP
librtemsbsp_a_SOURCES += ../shared/arm-a9mpcore-smp.c
-librtemsbsp_a_SOURCES += startup/bspsmp.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspsmp.c
endif
# IRQ
@@ -75,11 +75,11 @@ librtemsbsp_a_SOURCES += ../shared/arm-a9mpcore-clock-config.c
librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/shared/cache/cache-cp15.c
# Start hooks
-librtemsbsp_a_SOURCES += startup/bspstarthooks.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/bspstarthooks.c
# Framebuffer
librtemsbsp_a_SOURCES += ../shared/arm-pl111-fb.c
-librtemsbsp_a_SOURCES += startup/fb-config.c
+librtemsbsp_a_SOURCES += ../../../../../../bsps/arm/realview-pbx-a9/start/fb-config.c
###############################################################################
# Special Rules #
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bsp_specs b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bsp_specs
deleted file mode 100644
index 47dd31d46b..0000000000
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/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/realview-pbx-a9/startup/bspreset.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspreset.c
deleted file mode 100644
index 15ff7193f1..0000000000
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspreset.c
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
- * 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/bootcard.h>
-
-void bsp_reset(void)
-{
- volatile uint32_t *sys_lock = (volatile uint32_t *) 0x10000020;
- volatile uint32_t *sys_resetctl = (volatile uint32_t *) 0x10000040;
-
- while (true) {
- *sys_lock = 0xa05f;
- *sys_resetctl = 0xf4;
- }
-}
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspsmp.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspsmp.c
deleted file mode 100644
index 471e7e5f29..0000000000
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspsmp.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (c) 2014 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 <rtems/score/smpimpl.h>
-
-bool _CPU_SMP_Start_processor(uint32_t cpu_index)
-{
- (void) cpu_index;
-
- /* Nothing to do */
-
- return true;
-}
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstart.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstart.c
deleted file mode 100644
index 0be515c057..0000000000
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstart.c
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * 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/bootcard.h>
-#include <bsp/arm-a9mpcore-clock.h>
-#include <bsp/irq-generic.h>
-
-void bsp_start(void)
-{
- a9mpcore_clock_initialize_early();
- bsp_interrupt_initialize();
-}
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
deleted file mode 100644
index ab766e8626..0000000000
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/bspstarthooks.c
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * 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.
- */
-
-#define ARM_CP15_TEXT_SECTION BSP_START_TEXT_SECTION
-
-#include <bsp.h>
-#include <bsp/start.h>
-#include <bsp/arm-cp15-start.h>
-#include <bsp/arm-a9mpcore-start.h>
-
-BSP_START_DATA_SECTION static const arm_cp15_start_section_config
-rvpbxa9_mmu_config_table[] = {
- ARMV7_CP15_START_DEFAULT_SECTIONS,
- {
- .begin = 0x10000000U,
- .end = 0x10020000U,
- .flags = ARMV7_MMU_DEVICE
- }, {
- .begin = 0x1f000000U,
- .end = 0x20000000U,
- .flags = ARMV7_MMU_DEVICE
- }, {
- .begin = 0x4e000000U,
- .end = 0x4f000000U,
- .flags = ARMV7_MMU_DEVICE
- }
-};
-
-BSP_START_TEXT_SECTION static void setup_mmu_and_cache(void)
-{
- uint32_t ctrl = arm_cp15_start_setup_mmu_and_cache(
- ARM_CP15_CTRL_A,
- ARM_CP15_CTRL_AFE | ARM_CP15_CTRL_Z
- );
-
- arm_cp15_start_setup_translation_table_and_enable_mmu_and_cache(
- ctrl,
- (uint32_t *) bsp_translation_table_base,
- ARM_MMU_DEFAULT_CLIENT_DOMAIN,
- &rvpbxa9_mmu_config_table[0],
- RTEMS_ARRAY_SIZE(rvpbxa9_mmu_config_table)
- );
-}
-
-BSP_START_TEXT_SECTION void bsp_start_hook_0(void)
-{
-#ifdef RTEMS_SMP
- uint32_t cpu_id = arm_cortex_a9_get_multiprocessor_cpu_id();
-
- /*
- * QEMU jumps to the entry point of the ELF file on all processors. Prevent
- * a SMP_FATAL_MULTITASKING_START_ON_INVALID_PROCESSOR this way.
- */
- if ( cpu_id >= rtems_configuration_get_maximum_processors() ) {
- while (true) {
- _ARM_Wait_for_event();
- }
- }
-#endif
-
- arm_a9mpcore_start_hook_0();
-}
-
-BSP_START_TEXT_SECTION void bsp_start_hook_1(void)
-{
- arm_a9mpcore_start_hook_1();
- bsp_start_copy_sections();
- setup_mmu_and_cache();
- bsp_start_clear_bss();
-}
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/fb-config.c b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/fb-config.c
deleted file mode 100644
index a756c9ab22..0000000000
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/fb-config.c
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * 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/arm-pl111-fb.h>
-#include <bsp.h>
-
-static void fb_set_up(const pl111_fb_config *cfg)
-{
- /* TODO */
-}
-
-static void fb_pins_set_up(const pl111_fb_config *cfg)
-{
- /* TODO */
-}
-
-static void fb_pins_tear_down(const pl111_fb_config *cfg)
-{
- /* TODO */
-}
-
-static void fb_tear_down(const pl111_fb_config *cfg)
-{
- /* TODO */
-}
-
-static const pl111_fb_config fb_config = {
- .regs = (volatile pl111 *) 0x10020000,
-
- /*
- * Values obtained from "RealView Platform Baseboard Explore for Cortex-A9
- * User Guide" section 4.6.1 "Display resolutions and display memory
- * organization".
- */
- .timing0 = 0x3f1f3f9c,
- .timing1 = 0x090b61df,
- .timing2 = 0x067f1800,
-
- .timing3 = 0x0,
- .control = PL111_LCD_CONTROL_LCD_TFT
- | PL111_LCD_CONTROL_LCD_BPP(PL111_LCD_CONTROL_LCD_BPP_16)
- | PL111_LCD_CONTROL_BGR,
- .power_delay_in_us = 100000,
- .set_up = fb_set_up,
- .pins_set_up = fb_pins_set_up,
- .pins_tear_down = fb_pins_tear_down,
- .tear_down = fb_tear_down
-};
-
-const pl111_fb_config *arm_pl111_fb_get_config(void)
-{
- return &fb_config;
-}
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu
deleted file mode 100644
index e3b5b471b4..0000000000
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu
+++ /dev/null
@@ -1,35 +0,0 @@
-MEMORY {
- /* Waste the first 1MiB for NULL pointer protection */
- RAM : ORIGIN = 0x00100000, LENGTH = 255M - 16k
- RAM_MMU : ORIGIN = 0x0fffc000, LENGTH = 16k
-}
-
-REGION_ALIAS ("REGION_START", RAM);
-REGION_ALIAS ("REGION_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 : 4096;
-bsp_stack_abt_size = DEFINED (bsp_stack_abt_size) ? bsp_stack_abt_size : 1024;
-
-bsp_section_rwbarrier_align = DEFINED (bsp_section_rwbarrier_align) ? bsp_section_rwbarrier_align : 1M;
-
-bsp_vector_table_in_start_section = 1;
-
-bsp_translation_table_base = ORIGIN (RAM_MMU);
-bsp_translation_table_end = ORIGIN (RAM_MMU) + LENGTH (RAM_MMU);
-
-INCLUDE linkcmds.armv4
diff --git a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp b/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp
deleted file mode 100644
index d31c4f08ae..0000000000
--- a/c/src/lib/libbsp/arm/realview-pbx-a9/startup/linkcmds.realview_pbx_a9_qemu_smp
+++ /dev/null
@@ -1,3 +0,0 @@
-bsp_processor_count = DEFINED (bsp_processor_count) ? bsp_processor_count : 8;
-
-INCLUDE linkcmds.realview_pbx_a9_qemu