diff options
author | Roland McGrath <roland@gnu.org> | 2004-10-24 19:23:43 +0000 |
---|---|---|
committer | Roland McGrath <roland@gnu.org> | 2004-10-24 19:23:43 +0000 |
commit | 89c235754c8986b6394a969e92f75ba63ecbbf7c (patch) | |
tree | 880ae7f5c447ad63bc171148fc4b90ff102eecb2 /sysdeps/standalone/m68k/m68020/start.S | |
parent | 8aeb5058b6457cf9ca8d76026cbb60ca07015570 (diff) | |
download | glibc-89c235754c8986b6394a969e92f75ba63ecbbf7c.tar.gz glibc-89c235754c8986b6394a969e92f75ba63ecbbf7c.tar.xz glibc-89c235754c8986b6394a969e92f75ba63ecbbf7c.zip |
Ancient files moved to ports repository
Diffstat (limited to 'sysdeps/standalone/m68k/m68020/start.S')
-rw-r--r-- | sysdeps/standalone/m68k/m68020/start.S | 172 |
1 files changed, 0 insertions, 172 deletions
diff --git a/sysdeps/standalone/m68k/m68020/start.S b/sysdeps/standalone/m68k/m68020/start.S deleted file mode 100644 index 166605fb4f..0000000000 --- a/sysdeps/standalone/m68k/m68020/start.S +++ /dev/null @@ -1,172 +0,0 @@ -/* Copyright (C) 1994, 1996, 1997 Free Software Foundation, Inc. - Contributed by Joel Sherrill (jsherril@redstone-emh2.army.mil), - On-Line Applications Research Corporation. - This file is part of the GNU C Library. - - The GNU C Library is free software; you can redistribute it and/or - modify it under the terms of the GNU Lesser General Public - License as published by the Free Software Foundation; either - version 2.1 of the License, or (at your option) any later version. - - In addition to the permissions in the GNU Lesser General Public - License, the Free Software Foundation gives you unlimited - permission to link the compiled version of this file with other - programs, and to distribute those programs without any restriction - coming from the use of this file. (The GNU Lesser General Public - License restrictions do apply in other respects; for example, they - cover modification of the file, and distribution when not linked - into another program.) - - Note that people who make modified versions of this file are not - obligated to grant this special exception for their modified - versions; it is their choice whether to do so. The GNU Lesser - General Public License gives permission to release a modified - version without this exception; this exception also makes it - possible to release a modified version which carries forward this - exception. - - The GNU C Library is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - Lesser General Public License for more details. - - You should have received a copy of the GNU Lesser General Public - License along with the GNU C Library; if not, write to the Free - Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA - 02111-1307 USA. */ - -/* entry.s - * - * This file contains the entry point for the application. - * The name of this entry point is compiler dependent. - * It jumps to the BSP which is responsible for performing - * all initialization. - */ - - .text - .globl start | Default entry point - .globl _start | Default entry point - .globl M68Kvec | Vector Table - .globl _M68Kvec | Vector Table - -start: -_start: -M68Kvec: | standard location for vectors -_M68Kvec: | standard location for vectors - nop | for linkers with problem - | using location zero as entry - jmp around - .space 4088 | to avoid initial intr stack - | from 135BUG on MVME13? as entry - | and start code at 0x4000 -around: - move.w %sr,initial_sr | save initial values - movec %isp,%a0 - movel %a0,initial_isp - movec %usp,%a0 - movel %a0,initial_usp - movec %msp,%a0 - movel %a0,initial_msp - oriw #0x0700,%sr | INTERRUPTS OFF!!! - - - - | - | zero out uninitialized data area - | -zerobss: - moveal #end,%a0 | find end of .bss - moveal #_bss_start,%a1 | find beginning of .bss - movel #0,%d0 - -loop: movel #0,%a1@+ | to zero out uninitialized - cmpal %a0,%a1 - jlt loop | loop until _end reached - - movel #heap_size,__C_heap_size | set ___C_heap_size - movel #heap_memory,__C_heap_start | set ___C_heap_start - moveal #interrupt_stack_end,%a0 | set interrupt stack pointer - movec %a0,%isp - moveal #stack_end,%a0 | set master stack pointer - movec %a0,%msp - moveal #stack_end,%a6 | set base pointer - movw #0x3000,%sr | SUPV MODE,INTERRUPTS ON!!! - -#ifdef NEED_UNDERSCORES - jsr __Board_Initialize | initialize the board -#else - jsr _Board_Initialize | initialize the board -#endif - - move.l #0,%sp@- | envp = NULL - move.l #0,%sp@- | argv = NULL - move.l #0,%sp@- | argc = NULL -#ifdef NEED_UNDERSCORES - jsr ___libc_init | initialize the library and - | call main -#else - jsr __libc_init | initialize the library and - | call main -#endif - add.l #12,%sp - - move.l #0,%sp@- | argc = NULL - jsr __exit | call the Board specific exit - addq.l #4,%sp - - move.l initial_isp,%a0 | if __exit returns then we can - movec %a0,%isp | restore the initial values - move.l initial_usp,%a0 - movec %a0,%usp - move.l initial_msp,%a0 - movec %a0,%msp - move.w initial_sr,%sr - rts - - - .bss - -/* - * So initial stack registers and status register can be saved. - */ - -#define DECLARE_SPACE(_name,_space,_align) \ - .globl _name ; \ - .align _align ; \ -_name##: .space _space - -#define DECLARE_LABEL(_name) \ - .globl _name ; \ -_name##: - -#define DECLARE_PTR(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U32(_name) DECLARE_SPACE(_name,4,2) -#define DECLARE_U16(_name) DECLARE_SPACE(_name,2,1) - -DECLARE_U32(initial_isp) -DECLARE_U32(initial_msp) -DECLARE_U32(initial_usp) -DECLARE_U16(initial_sr) - -/* - * Require environment stuff - */ - -DECLARE_LABEL(_environ) -DECLARE_PTR(environ) - -DECLARE_LABEL(__errno) -DECLARE_LABEL(_errno) -DECLARE_U32(errno) - -/* - * Stack Size and Space - */ - - .set stack_size, 0x20000 - -DECLARE_SPACE(stack_memory,stack_size,4) -DECLARE_LABEL(stack_end) - -DECLARE_SPACE(interrupt_stack_memory,0x1000,4) -DECLARE_LABEL(interrupt_stack_end) |