Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:23:48

0001 /*
0002  *  This routine does the bulk of the system initialization.
0003  */
0004 
0005 /*
0006  *  COPYRIGHT (c) 1989-1999.
0007  *  On-Line Applications Research Corporation (OAR).
0008  *
0009  *  The license and distribution terms for this file may be
0010  *  found in the file LICENSE in this distribution or at
0011  *  http://www.rtems.org/license/LICENSE.
0012  *
0013  *  Modifications of respective RTEMS file: COPYRIGHT (c) 1994.
0014  *  EISCAT Scientific Association. M.Savitski
0015  *
0016  *  This material is a part of the MVME162 Board Support Package
0017  *  for the RTEMS executive. Its licensing policies are those of the
0018  *  RTEMS above.
0019  */
0020 
0021 #include <bsp.h>
0022 #include <bsp/bootcard.h>
0023 #include <page_table.h>
0024 
0025 /*
0026  *  bsp_start
0027  *
0028  *  This routine does the bulk of the system initialization.
0029  */
0030 void bsp_start( void )
0031 {
0032   rtems_isr_entry       *monitors_vector_table;
0033   int                   index;
0034 
0035   monitors_vector_table = (rtems_isr_entry *)MOT_162BUG_VEC_ADDRESS;
0036   m68k_set_vbr( monitors_vector_table );
0037 
0038   for ( index=2 ; index<=255 ; index++ )
0039     M68Kvec[ index ] = monitors_vector_table[ 32 ];
0040 
0041   M68Kvec[  2 ] = monitors_vector_table[  2 ];   /* bus error vector */
0042   M68Kvec[  4 ] = monitors_vector_table[  4 ];   /* breakpoints vector */
0043   M68Kvec[  9 ] = monitors_vector_table[  9 ];   /* trace vector */
0044   M68Kvec[ 47 ] = monitors_vector_table[ 47 ];   /* system call vector */
0045 
0046   m68k_set_vbr( &M68Kvec );
0047 
0048   /*
0049    *  You may wish to make the VME arbitration round-robin here, currently
0050    *  we leave it as it is.
0051    */
0052 
0053   /* set the Interrupt Base Vectors */
0054 
0055   lcsr->vector_base = (VBR0 << 28) | (VBR1 << 24);
0056 
0057   page_table_init();
0058 }