summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libcpu/i960/i960ca/cpu_install_intr_stack.c
blob: 50aa3ab19ddcf4479e2446057c64facb3fd0066e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/*
 *  Install interrupt stack i960ca
 *
 *  $Id$
 */

#include <rtems.h>
#include <libcpu/i960CA.h>

extern i960_PRCB *Prcb;

void _CPU_Install_interrupt_stack( void )
{
  i960_PRCB *prcb = Prcb;
  uint32_t     level;
  
  /*  
   *  Set the Interrupt Stack in the PRCB and force a reload of it.
   *  Interrupts are disabled for safety.
   */

  _CPU_ISR_Disable( level );

    prcb->intr_stack = _CPU_Interrupt_stack_low;

    i960_soft_reset( prcb );

  _CPU_ISR_Enable( level );
}