diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-07-11 19:31:04 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2000-07-11 19:31:04 +0000 |
commit | bc85fd5a6df8753543ba55c98a588e255471752b (patch) | |
tree | b51e3eb5c77cca042081bb7ba88e5515560451d2 /c/src/lib/libcpu/i960/i960ca/cpu_install_intr_stack.c | |
parent | Patch rtems-rc-20000711-2-cvs.diff from Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-bc85fd5a6df8753543ba55c98a588e255471752b.tar.bz2 |
Reworked score/cpu/i960 so it can be safely compiled multilib. All
routines and structures that require CPU model specific information
are now in libcpu. This required significant rework of the
score/cpu header files and the creation of multiple header files
and subdirectories in libcpu/i960.
Diffstat (limited to 'c/src/lib/libcpu/i960/i960ca/cpu_install_intr_stack.c')
-rw-r--r-- | c/src/lib/libcpu/i960/i960ca/cpu_install_intr_stack.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/c/src/lib/libcpu/i960/i960ca/cpu_install_intr_stack.c b/c/src/lib/libcpu/i960/i960ca/cpu_install_intr_stack.c new file mode 100644 index 0000000000..bb0e491b49 --- /dev/null +++ b/c/src/lib/libcpu/i960/i960ca/cpu_install_intr_stack.c @@ -0,0 +1,30 @@ +/* + * 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; + unsigned32 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 ); +} + |