diff options
Diffstat (limited to 'c/src/exec/score/cpu/m68k/rtems.S')
-rw-r--r-- | c/src/exec/score/cpu/m68k/rtems.S | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/c/src/exec/score/cpu/m68k/rtems.S b/c/src/exec/score/cpu/m68k/rtems.S new file mode 100644 index 0000000000..e8cba8204c --- /dev/null +++ b/c/src/exec/score/cpu/m68k/rtems.S @@ -0,0 +1,52 @@ +/* rtems.s + * + * This file contains the single entry point code for + * the m68k implementation of RTEMS. + * + * COPYRIGHT (c) 1989-1998. + * On-Line Applications Research Corporation (OAR). + * Copyright assigned to U.S. Government, 1994. + * + * The license and distribution terms for this file may be + * found in the file LICENSE in this distribution or at + * http://www.OARcorp.com/rtems/license.html. + * + * $Id$ + */ + + +#include <asm.h> + +/* + * There seems to be no reason to have two versions of this. + * The following version should work across the entire family. + * The worst assumption is that gcc will put entry in a scratch + * register and not screw up the stack. + * + * NOTE: This is a 68020 version: + * + * jmpl @(%%d0:l:4)@(__Entry_points) + */ + + EXTERN (_Entry_points) + + BEGIN_CODE + + .align 4 + .global SYM (RTEMS) + +SYM (RTEMS): + moveal SYM (_Entry_points), a0 + lsll #2, d0 + addal d0, a0 + +#if (M68K_COLDFIRE_ARCH == 0) + moveal @(a0),a0 + jmpl @(a0) +#else + moveal (a0),a0 + jmpl (a0) +#endif + + END_CODE +END |