Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/mips/boot/compressed/head.S
26493 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
LEAF(start)
19
/* Save boot rom start args */
20
move s0, a0
21
move s1, a1
22
move s2, a2
23
move s3, a3
24
25
/* Clear BSS */
26
PTR_LA a0, _edata
27
PTR_LA a2, _end
28
1: PTR_S zero, 0(a0)
29
PTR_ADDIU a0, a0, PTRSIZE
30
bne a2, a0, 1b
31
32
PTR_LA a0, (.heap) /* heap address */
33
PTR_LA sp, (.stack + 8192) /* stack address */
34
35
PTR_LA t9, decompress_kernel
36
jalr t9
37
38
2:
39
move a0, s0
40
move a1, s1
41
move a2, s2
42
move a3, s3
43
PTR_LI t9, KERNEL_ENTRY
44
jalr t9
45
46
3:
47
b 3b
48
49
END(start)
50
51
.comm .heap,BOOT_HEAP_SIZE,4
52
.comm .stack,4096*2,4
53
54