11b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin/* 21b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * This file is subject to the terms and conditions of the GNU General Public 31b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * License. See the file "COPYING" in the main directory of this archive 41b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * for more details. 51b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * 61b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * Copyright (C) 1994, 1995 Waldorf Electronics 71b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * Written by Ralf Baechle and Andreas Busse 81b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * Copyright (C) 1995 - 1999 Ralf Baechle 91b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * Copyright (C) 1996 Paul M. Antoine 101b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * Modified for DECStation and hence R3000 support by Paul M. Antoine 111b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * Further modifications by David S. Miller and Harald Koerfgen 121b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin * Copyright (C) 1999 Silicon Graphics, Inc. 131b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin */ 141b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin 151b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin#include <asm/asm.h> 161b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin#include <asm/regdef.h> 171b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin 181b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin .set noreorder 191b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin .cprestore 201b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin LEAF(start) 211b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjinstart: 221b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin /* Save boot rom start args */ 231b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin move s0, a0 241b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin move s1, a1 251b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin move s2, a2 261b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin move s3, a3 271b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin 281b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin /* Clear BSS */ 291b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin PTR_LA a0, _edata 301b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin PTR_LA a2, _end 311b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin1: sw zero, 0(a0) 321b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin bne a2, a0, 1b 331b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin addiu a0, a0, 4 341b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin 351b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin PTR_LA a0, (.heap) /* heap address */ 361b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin PTR_LA sp, (.stack + 8192) /* stack address */ 371b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin 381b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin PTR_LA ra, 2f 391b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin PTR_LA k0, decompress_kernel 401b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin jr k0 411b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin nop 421b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin2: 431b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin move a0, s0 441b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin move a1, s1 451b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin move a2, s2 461b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin move a3, s3 471b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin PTR_LI k0, KERNEL_ENTRY 481b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin jr k0 491b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin nop 501b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin3: 511b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin b 3b 521b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin nop 531b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin END(start) 541b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin 551b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin .comm .heap,BOOT_HEAP_SIZE,4 561b93b3c3e94be2605759735a89fc935ba5f58dcfWu Zhangjin .comm .stack,4096*2,4 57