Back to home page

LXR

 
 

    


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

0001 /*
0002  *  This routine returns control to 162Bug.
0003  */
0004 
0005 /*
0006  *  COPYRIGHT (c) 1989-2014.
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 <rtems/zilog/z8036.h>
0024 #include <page_table.h>
0025 
0026 static rtems_isr bsp_return_to_monitor_trap(
0027   rtems_vector_number vector
0028 )
0029 {
0030   page_table_teardown();
0031 
0032   lcsr->intr_ena = 0;                    /* disable interrupts */
0033   m68k_set_vbr(MOT_162BUG_VEC_ADDRESS);  /* restore 162Bug vectors */
0034 
0035   __asm__ volatile( "trap   #15"  );    /* trap to 162Bug */
0036   __asm__ volatile( ".short 0x63" );    /* return to 162Bug (.RETURN) */
0037 }
0038 
0039 void bsp_reset( rtems_fatal_source source, rtems_fatal_code code )
0040 {
0041   (void) source;
0042   (void) code;
0043 
0044    M68Kvec[ 45 ] = bsp_return_to_monitor_trap;   /* install handler */
0045    __asm__ volatile( "trap #13" );               /* ensures SUPV mode */
0046    RTEMS_UNREACHABLE();
0047 }