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