Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/mips/boot/compressed/head.S
10818 views
1
/*
2
* This file is subject to the terms and conditions of the GNU General Public
3
* License. See the file "COPYING" in the main directory of this archive
4
* for more details.
5
*
6
* Copyright (C) 1994, 1995 Waldorf Electronics
7
* Written by Ralf Baechle and Andreas Busse
8
* Copyright (C) 1995 - 1999 Ralf Baechle
9
* Copyright (C) 1996 Paul M. Antoine
10
* Modified for DECStation and hence R3000 support by Paul M. Antoine
11
* Further modifications by David S. Miller and Harald Koerfgen
12
* Copyright (C) 1999 Silicon Graphics, Inc.
13
*/
14
15
#include <asm/asm.h>
16
#include <asm/regdef.h>
17
18
.set noreorder
19
.cprestore
20
LEAF(start)
21
start:
22
/* Save boot rom start args */
23
move s0, a0
24
move s1, a1
25
move s2, a2
26
move s3, a3
27
28
/* Clear BSS */
29
PTR_LA a0, _edata
30
PTR_LA a2, _end
31
1: sw zero, 0(a0)
32
bne a2, a0, 1b
33
addiu a0, a0, 4
34
35
PTR_LA a0, (.heap) /* heap address */
36
PTR_LA sp, (.stack + 8192) /* stack address */
37
38
PTR_LA ra, 2f
39
PTR_LA k0, decompress_kernel
40
jr k0
41
nop
42
2:
43
move a0, s0
44
move a1, s1
45
move a2, s2
46
move a3, s3
47
PTR_LI k0, KERNEL_ENTRY
48
jr k0
49
nop
50
3:
51
b 3b
52
nop
53
END(start)
54
55
.comm .heap,BOOT_HEAP_SIZE,4
56
.comm .stack,4096*2,4
57
58