162306a36Sopenharmony_ci/* 262306a36Sopenharmony_ci * This file is subject to the terms and conditions of the GNU General Public 362306a36Sopenharmony_ci * License. See the file "COPYING" in the main directory of this archive 462306a36Sopenharmony_ci * for more details. 562306a36Sopenharmony_ci * 662306a36Sopenharmony_ci * Copyright (C) 1994, 1995 Waldorf Electronics 762306a36Sopenharmony_ci * Written by Ralf Baechle and Andreas Busse 862306a36Sopenharmony_ci * Copyright (C) 1995 - 1999 Ralf Baechle 962306a36Sopenharmony_ci * Copyright (C) 1996 Paul M. Antoine 1062306a36Sopenharmony_ci * Modified for DECStation and hence R3000 support by Paul M. Antoine 1162306a36Sopenharmony_ci * Further modifications by David S. Miller and Harald Koerfgen 1262306a36Sopenharmony_ci * Copyright (C) 1999 Silicon Graphics, Inc. 1362306a36Sopenharmony_ci */ 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci#include <asm/asm.h> 1662306a36Sopenharmony_ci#include <asm/regdef.h> 1762306a36Sopenharmony_ci 1862306a36Sopenharmony_ci LEAF(start) 1962306a36Sopenharmony_ci /* Save boot rom start args */ 2062306a36Sopenharmony_ci move s0, a0 2162306a36Sopenharmony_ci move s1, a1 2262306a36Sopenharmony_ci move s2, a2 2362306a36Sopenharmony_ci move s3, a3 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci /* Clear BSS */ 2662306a36Sopenharmony_ci PTR_LA a0, _edata 2762306a36Sopenharmony_ci PTR_LA a2, _end 2862306a36Sopenharmony_ci1: sw zero, 0(a0) 2962306a36Sopenharmony_ci addiu a0, a0, 4 3062306a36Sopenharmony_ci bne a2, a0, 1b 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ci PTR_LA a0, (.heap) /* heap address */ 3362306a36Sopenharmony_ci PTR_LA sp, (.stack + 8192) /* stack address */ 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ci PTR_LA t9, decompress_kernel 3662306a36Sopenharmony_ci jalr t9 3762306a36Sopenharmony_ci 3862306a36Sopenharmony_ci2: 3962306a36Sopenharmony_ci move a0, s0 4062306a36Sopenharmony_ci move a1, s1 4162306a36Sopenharmony_ci move a2, s2 4262306a36Sopenharmony_ci move a3, s3 4362306a36Sopenharmony_ci PTR_LI t9, KERNEL_ENTRY 4462306a36Sopenharmony_ci jalr t9 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci3: 4762306a36Sopenharmony_ci b 3b 4862306a36Sopenharmony_ci 4962306a36Sopenharmony_ci END(start) 5062306a36Sopenharmony_ci 5162306a36Sopenharmony_ci .comm .heap,BOOT_HEAP_SIZE,4 5262306a36Sopenharmony_ci .comm .stack,4096*2,4 53