1 /* 1 /* 2 * This file is subject to the terms and condi 2 * This file is subject to the terms and conditions of the GNU General Public 3 * License. See the file "COPYING" in the mai 3 * License. See the file "COPYING" in the main directory of this archive 4 * for more details. 4 * for more details. 5 * 5 * 6 * Copyright (C) 1994, 1995 Waldorf Electronic 6 * Copyright (C) 1994, 1995 Waldorf Electronics 7 * Written by Ralf Baechle and Andreas Busse 7 * Written by Ralf Baechle and Andreas Busse 8 * Copyright (C) 1995 - 1999 Ralf Baechle 8 * Copyright (C) 1995 - 1999 Ralf Baechle 9 * Copyright (C) 1996 Paul M. Antoine 9 * Copyright (C) 1996 Paul M. Antoine 10 * Modified for DECStation and hence R3000 sup 10 * Modified for DECStation and hence R3000 support by Paul M. Antoine 11 * Further modifications by David S. Miller an 11 * Further modifications by David S. Miller and Harald Koerfgen 12 * Copyright (C) 1999 Silicon Graphics, Inc. 12 * Copyright (C) 1999 Silicon Graphics, Inc. 13 */ 13 */ 14 14 15 #include <asm/asm.h> 15 #include <asm/asm.h> 16 #include <asm/regdef.h> 16 #include <asm/regdef.h> 17 17 18 LEAF(start) 18 LEAF(start) 19 /* Save boot rom start args */ 19 /* Save boot rom start args */ 20 move s0, a0 20 move s0, a0 21 move s1, a1 21 move s1, a1 22 move s2, a2 22 move s2, a2 23 move s3, a3 23 move s3, a3 24 24 25 /* Clear BSS */ 25 /* Clear BSS */ 26 PTR_LA a0, _edata 26 PTR_LA a0, _edata 27 PTR_LA a2, _end 27 PTR_LA a2, _end 28 1: PTR_S zero, 0(a0) 28 1: PTR_S zero, 0(a0) 29 PTR_ADDIU a0, a0, PTRSIZE 29 PTR_ADDIU a0, a0, PTRSIZE 30 bne a2, a0, 1b 30 bne a2, a0, 1b 31 31 32 PTR_LA a0, (.heap) /* heap a 32 PTR_LA a0, (.heap) /* heap address */ 33 PTR_LA sp, (.stack + 8192) /* stack 33 PTR_LA sp, (.stack + 8192) /* stack address */ 34 34 35 PTR_LA t9, decompress_kernel 35 PTR_LA t9, decompress_kernel 36 jalr t9 36 jalr t9 37 37 38 2: 38 2: 39 move a0, s0 39 move a0, s0 40 move a1, s1 40 move a1, s1 41 move a2, s2 41 move a2, s2 42 move a3, s3 42 move a3, s3 43 PTR_LI t9, KERNEL_ENTRY 43 PTR_LI t9, KERNEL_ENTRY 44 jalr t9 44 jalr t9 45 45 46 3: 46 3: 47 b 3b 47 b 3b 48 48 49 END(start) 49 END(start) 50 50 51 .comm .heap,BOOT_HEAP_SIZE,4 51 .comm .heap,BOOT_HEAP_SIZE,4 52 .comm .stack,4096*2,4 52 .comm .stack,4096*2,4
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.