xref: /rk3399_rockchip-uboot/examples/api/crt0.S (revision 1a4596601fd395f3afb8f82f3f840c5e00bdd57a)
1d4abc757SPeter Tyser/*
2d4abc757SPeter Tyser * (C) Copyright 2007 Semihalf
3d4abc757SPeter Tyser *
4d4abc757SPeter Tyser * Written by: Rafal Jaworowski <raj@semihalf.com>
5d4abc757SPeter Tyser *
6*1a459660SWolfgang Denk * SPDX-License-Identifier:	GPL-2.0+
7d4abc757SPeter Tyser */
8d4abc757SPeter Tyser
9d4abc757SPeter Tyser#if defined(CONFIG_PPC)
10d4abc757SPeter Tyser
11d4abc757SPeter Tyser	.text
12d4abc757SPeter Tyser	.globl _start
13d4abc757SPeter Tyser_start:
14d4abc757SPeter Tyser	lis	%r11, search_hint@ha
15d4abc757SPeter Tyser	addi	%r11, %r11, search_hint@l
16d4abc757SPeter Tyser	stw	%r1, 0(%r11)
17d4abc757SPeter Tyser	b	main
18d4abc757SPeter Tyser
19d4abc757SPeter Tyser
20d4abc757SPeter Tyser	.globl syscall
21d4abc757SPeter Tysersyscall:
22d4abc757SPeter Tyser	lis	%r11, syscall_ptr@ha
23d4abc757SPeter Tyser	addi	%r11, %r11, syscall_ptr@l
24d4abc757SPeter Tyser	lwz	%r11, 0(%r11)
25d4abc757SPeter Tyser	mtctr	%r11
26d4abc757SPeter Tyser	bctr
27d4abc757SPeter Tyser
28d4abc757SPeter Tyser#elif defined(CONFIG_ARM)
29d4abc757SPeter Tyser
30d4abc757SPeter Tyser	.text
31d4abc757SPeter Tyser	.globl _start
32d4abc757SPeter Tyser_start:
33d4abc757SPeter Tyser	ldr	ip, =search_hint
34d4abc757SPeter Tyser	str	sp, [ip]
35d4abc757SPeter Tyser	b	main
36d4abc757SPeter Tyser
37d4abc757SPeter Tyser
38d4abc757SPeter Tyser	.globl syscall
39d4abc757SPeter Tysersyscall:
40d4abc757SPeter Tyser	ldr	ip, =syscall_ptr
41d4abc757SPeter Tyser	ldr	pc, [ip]
42d4abc757SPeter Tyser
43d4abc757SPeter Tyser#else
44d4abc757SPeter Tyser#error No support for this arch!
45d4abc757SPeter Tyser#endif
46d4abc757SPeter Tyser
47d4abc757SPeter Tyser	.globl syscall_ptr
48d4abc757SPeter Tysersyscall_ptr:
49d4abc757SPeter Tyser	.align	4
50d4abc757SPeter Tyser	.long	0
51d4abc757SPeter Tyser
52d4abc757SPeter Tyser	.globl search_hint
53d4abc757SPeter Tysersearch_hint:
54d4abc757SPeter Tyser	.long   0
55