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/m68k/mvme147s/startup/bspstart.c | |
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/m68k/mvme147s/startup/bspstart.c')
-rw-r--r-- | c/src/lib/libbsp/m68k/mvme147s/startup/bspstart.c | 108 |
1 files changed, 0 insertions, 108 deletions
diff --git a/c/src/lib/libbsp/m68k/mvme147s/startup/bspstart.c b/c/src/lib/libbsp/m68k/mvme147s/startup/bspstart.c deleted file mode 100644 index 497b644150..0000000000 --- a/c/src/lib/libbsp/m68k/mvme147s/startup/bspstart.c +++ /dev/null @@ -1,108 +0,0 @@ -/* - * This routine does the bulk of the system initialization. - */ - -/* - * COPYRIGHT (c) 1989-1999. - * On-Line Applications Research Corporation (OAR). - * - * 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. - * - * MVME147 port for TNI - Telecom Bretagne - * by Dominique LE CAMPION (Dominique.LECAMPION@enst-bretagne.fr) - * May 1996 - */ - -#include <bsp.h> -#include <bsp/bootcard.h> - -void bsp_start( void ) -{ - rtems_isr_entry *monitors_vector_table; - int index; - uint8_t node_number; - - monitors_vector_table = (rtems_isr_entry *)0; /* 147Bug Vectors are at 0 */ - m68k_set_vbr( monitors_vector_table ); - - for ( index=2 ; index<=255 ; index++ ) - M68Kvec[ index ] = monitors_vector_table[ 32 ]; - - M68Kvec[ 2 ] = monitors_vector_table[ 2 ]; /* bus error vector */ - M68Kvec[ 4 ] = monitors_vector_table[ 4 ]; /* breakpoints vector */ - M68Kvec[ 9 ] = monitors_vector_table[ 9 ]; /* trace vector */ - M68Kvec[ 47 ] = monitors_vector_table[ 47 ]; /* system call vector */ - - m68k_set_vbr( &M68Kvec ); - - pcc->int_base_vector = PCC_BASE_VECTOR & 0xF0; - /* Set the PCC int vectors base */ - - /* VME shared memory configuration */ - /* Only the first node shares its top 128k DRAM */ - - vme_lcsr->utility_interrupt_vector = VME_BASE_VECTOR & 0xF8; - /* Set VMEchip base interrupt vector */ - vme_lcsr->utility_interrupt_mask |= 0x02; - /* Enable SIGLP interruption (see shm support) */ - pcc->general_purpose_control &= 0x10; - /* Enable VME master interruptions */ - - if (vme_lcsr->system_controller & 0x01) { - /* the board is system controller */ - vme_lcsr->system_controller = 0x08; - /* Make VME access round-robin */ - } - -#if defined(RTEMS_MULTIPROCESSING) - node_number = (uint8_t) - (rtems_configuration_get_user_multiprocessing_table()->node - 1) & 0xF; -#else - node_number = 1; -#endif - /* Get and store node ID, first node_number = 0 */ - vme_gcsr->board_identification = node_number; - - vme_lcsr->gcsr_base_address = node_number; - /* Setup the base address of this board's gcsr */ - vme_lcsr->timer_configuration = 0x6a; - /* Enable VME time outs, maximum periods */ - - if (node_number == 0) { - pcc->slave_base_address = 0x01; - /* Set local DRAM base address on the VME bus to the DRAM size */ - - vme_lcsr->vme_bus_requester = 0x80; - while (! (vme_lcsr->vme_bus_requester & 0x40)); - /* Get VMEbus mastership */ - vme_lcsr->slave_address_modifier = 0xfb; - /* Share everything */ - vme_lcsr->slave_configuration = 0x80; - /* Share local DRAM */ - vme_lcsr->vme_bus_requester = 0x0; - /* release bus */ - } else { - pcc->slave_base_address = 0; - /* Set local DRAM base address on the VME bus to 0 */ - - vme_lcsr->vme_bus_requester = 0x80; - while (! (vme_lcsr->vme_bus_requester & 0x40)); - /* Get VMEbus mastership */ - vme_lcsr->slave_address_modifier = 0x08; - /* Share only the short adress range */ - vme_lcsr->slave_configuration = 0; - /* Don't share local DRAM */ - vme_lcsr->vme_bus_requester = 0x0; - /* release bus */ - } - - vme_lcsr->master_address_modifier = 0; - /* Automatically set the address modifier */ - vme_lcsr->master_configuration = 1; - /* Disable D32 transfers : they don't work on my VMEbus rack */ - - rtems_cache_enable_instruction(); - rtems_cache_enable_data(); -} |