diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-17 16:20:39 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2010-06-17 16:20:39 +0000 |
commit | df970844195f6814e35f12ad5e585f4645c2f152 (patch) | |
tree | 8bf1c5169e6db37568123585ddb9892a2e9bfead /c/src/lib/libbsp/sparc64/usiii/start/bspinit.S | |
parent | 2010-06-17 Joel Sherrill <joel.sherrill@oarcorp.com> (diff) | |
download | rtems-df970844195f6814e35f12ad5e585f4645c2f152.tar.bz2 |
2010-06-17 Joel Sherrill <joel.sherrill@oarcorp.com>
* ChangeLog, Makefile.am, README, bsp_specs, configure.ac,
preinstall.am, include/bsp.h, include/tm27.h, make/custom/usiii.cfg,
start/bspinit.S: New files.
Diffstat (limited to 'c/src/lib/libbsp/sparc64/usiii/start/bspinit.S')
-rw-r--r-- | c/src/lib/libbsp/sparc64/usiii/start/bspinit.S | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/c/src/lib/libbsp/sparc64/usiii/start/bspinit.S b/c/src/lib/libbsp/sparc64/usiii/start/bspinit.S new file mode 100644 index 0000000000..2646c8230b --- /dev/null +++ b/c/src/lib/libbsp/sparc64/usiii/start/bspinit.S @@ -0,0 +1,51 @@ +/* +* bspinit.S +* +* BSP specific initialization for Sparc64 RTEMS -- sun4u BSP +* +* COPYRIGHT (c) 2010 Gedare Bloom. +* +* The license and distribution terms for this file may be +* found in the file LICENSE in this distribution or at +* http://www.rtems.com/license/LICENSE. +* +* This code defines start code specific to the sun4u BSP +* +* $Id$ +* +*/ + +#include <rtems/asm.h> +#include <rtems/score/cpu.h> + +#include <traptable.h> + +#define LSU_CR_IM_MASK (0x0004) /* bit 2 */ +#define LSU_CR_DM_MASK (0x0008) /* bit 3 */ + +#define STACK_WINDOW_SAVE_AREA_SIZE (16*8) + +.register %g2, #scratch +.register %g3, #scratch + +.section .text + +PUBLIC(_BSP_init) +.global _BSP_init + SYM(_BSP_init): + save %sp, -STACK_WINDOW_SAVE_AREA_SIZE, %sp + + /* copy firmware trap table so that RTEMS can install ISR handlers */ + setx SYM(trap_table), %l0, %o0 + rdpr %tba, %o1 + set TABLE_SIZE, %o2 + call memcpy + nop + + mov %g0, %o0 + call _take_mmu + nop + + ret + restore + |