summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/sparc/leon3/startup/bspstart.c')
-rw-r--r--c/src/lib/libbsp/sparc/leon3/startup/bspstart.c125
1 files changed, 0 insertions, 125 deletions
diff --git a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c b/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
deleted file mode 100644
index 58fc7d0907..0000000000
--- a/c/src/lib/libbsp/sparc/leon3/startup/bspstart.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * This set of routines starts the application. It includes application,
- * board, and monitor specific initialization and configuration.
- * The generic CPU dependent initialization has been performed
- * before any of these are invoked.
- *
- * COPYRIGHT (c) 2011
- * Aeroflex Gaisler
- *
- * COPYRIGHT (c) 1989-2013.
- * On-Line Applications Research Corporation (OAR).
- *
- * Modified for LEON3 BSP.
- * COPYRIGHT (c) 2004.
- * Gaisler Research.
- *
- * 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 <leon.h>
-#include <bsp/bootcard.h>
-#include <drvmgr/drvmgr.h>
-#include <rtems/sysinit.h>
-
-#if defined(RTEMS_SMP) || defined(RTEMS_MULTIPROCESSING)
-/* Irq used by shared memory driver and for inter-processor interrupts.
- * Can be overridden by being defined in the application.
- */
-const unsigned char LEON3_mp_irq __attribute__((weak)) = 14;
-#endif
-
-/*
- * Tells us if data cache snooping is available
- */
-int CPU_SPARC_HAS_SNOOPING;
-
-/* Index of CPU, in an AMP system CPU-index may be non-zero */
-uint32_t LEON3_Cpu_Index = 0;
-
-#if defined(RTEMS_SMP)
-/* Index of the boot CPU. Set by the first CPU at boot to its CPU ID. */
-int LEON3_Boot_Cpu = -1;
-#endif
-
-/*
- * set_snooping
- *
- * Read the cache control register to determine if
- * bus snooping is available and enabled. This is needed for some
- * drivers so that they can select the most efficient copy routines.
- *
- */
-
-static inline int set_snooping(void)
-{
- return (leon3_get_cache_control_register() >> 23) & 1;
-}
-
-/*
- * bsp_start
- *
- * This routine does the bulk of the system initialization.
- */
-void bsp_start( void )
-{
- CPU_SPARC_HAS_SNOOPING = set_snooping();
-}
-
-static void leon3_cpu_index_init(void)
-{
- /* Get the LEON3 CPU index, normally 0, but for MP systems we do
- * _not_ assume that this is CPU0. One may run another OS on CPU0
- * and RTEMS on this CPU, and AMP system with mixed operating
- * systems
- */
- LEON3_Cpu_Index = _LEON3_Get_current_processor();
-}
-
-RTEMS_SYSINIT_ITEM(
- leon3_cpu_index_init,
- RTEMS_SYSINIT_BSP_START,
- RTEMS_SYSINIT_ORDER_FIRST
-);
-
-static void leon3_interrupt_common_init( void )
-{
- /* Initialize shared interrupt handling, must be done after IRQ
- * controller has been found and initialized.
- */
- BSP_shared_interrupt_init();
-}
-
-/*
- * Called just before drivers are initialized. Is used to initialize shared
- * interrupt handling.
- */
-static void leon3_pre_driver_hook( void )
-{
- bsp_spurious_initialize();
-
-#ifndef RTEMS_DRVMGR_STARTUP
- leon3_interrupt_common_init();
-#endif
-}
-
-RTEMS_SYSINIT_ITEM(
- leon3_pre_driver_hook,
- RTEMS_SYSINIT_BSP_PRE_DRIVERS,
- RTEMS_SYSINIT_ORDER_MIDDLE
-);
-
-#ifdef RTEMS_DRVMGR_STARTUP
-/*
- * Initialize shared interrupt handling, must be done after IRQ controller has
- * been found and initialized.
- */
-RTEMS_SYSINIT_ITEM(
- leon3_interrupt_common_init,
- RTEMS_SYSINIT_DRVMGR_LEVEL_1,
- RTEMS_SYSINIT_ORDER_LAST
-);
-#endif