Back to home page

LXR

 
 

    


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

0001 /*  timer_isr()
0002  *
0003  *  This routine provides the ISR for the Z8036 timer on the MVME136
0004  *  board.   The timer is set up to generate an interrupt at maximum
0005  *  intervals.
0006  *
0007  *  Input parameters:  NONE
0008  *
0009  *  Output parameters:  NONE
0010  *
0011  *  COPYRIGHT (c) 1989-1999.
0012  *  On-Line Applications Research Corporation (OAR).
0013  *
0014  *  The license and distribution terms for this file may be
0015  *  found in the file LICENSE in this distribution or at
0016  *  http://www.rtems.org/license/LICENSE.
0017  *
0018  *  Modifications of respective RTEMS file: COPYRIGHT (c) 1994.
0019  *  EISCAT Scientific Association. M.Savitski
0020  *
0021  *  This material is a part of the MVME162 Board Support Package
0022  *  for the RTEMS executive. Its licensing policies are those of the
0023  *  RTEMS above.
0024  */
0025 
0026 #include <rtems/asm.h>
0027 
0028 BEGIN_CODE
0029 
0030 .set INTR_CLEAR_REG,      0xfff40074      | interrupt clear register
0031 .set RELOAD,              0x01000000      | clear tick 1 interrupt
0032 
0033         PUBLIC (Ttimer_val)
0034         PUBLIC (timerisr)
0035 SYM (timerisr):
0036         move.l  a0, -(a7)                 | save a0
0037         movea.l #INTR_CLEAR_REG, a0       | a0 = addr of cmd status reg
0038         ori.l   #RELOAD, (a0)             | reload countdown
0039         addq.l  #1, SYM (Ttimer_val)      | increment timer value
0040         move.l  (a7)+, a0                 | restore a0
0041         rte
0042 
0043 END_CODE
0044 END