1/* 2 * (c) 2008-2009 Adam Lackorzynski <adam@os.inf.tu-dresden.de> 3 * economic rights: Technische Universität Dresden (Germany) 4 * 5 * This file is part of TUD:OS and distributed under the terms of the 6 * GNU General Public License 2. 7 * Please see the COPYING-GPL-2 file for details. 8 */ 9 10.section .text.init,#alloc,#execinstr 11.type _start,#function 12.globl _start 13_start: 14 adr x9, crt0_stack_high 15 mov sp, x9 16 adr x30, _exit 17 b init 18 19/* This is not a normal function and must not clobber any register. 20 * This is a special syscall stub -- do not add any code! */ 21.global __l4_sys_syscall 22.type __l4_sys_syscall, @function 23__l4_sys_syscall: 24#ifdef CONFIG_KERNEL_CPU_VIRT 25 hvc #0 26#else 27 svc #0 28#endif 29 ret 30.size __l4_sys_syscall, . - __l4_sys_syscall 31 32.section ".bss" 33 34 .align 4 35 .global crt0_stack_low 36crt0_stack_low: 37 .space 2048 38 .global crt0_stack_high 39crt0_stack_high: 40