source: svn/trunk/newcon3bcm2_21bu/dta/src/crt.S @ 2

Last change on this file since 2 was 2, checked in by phkim, 11 years ago

1.phkim

  1. revision copy newcon3sk r27
  • Property svn:executable set to *
File size: 1.5 KB
Line 
1/***************************************************************************
2 *     Copyright (c) 2003-2010, Broadcom Corporation
3 *     All Rights Reserved
4 *     Confidential Property of Broadcom Corporation
5 *
6 *  THIS SOFTWARE MAY ONLY BE USED SUBJECT TO AN EXECUTED SOFTWARE LICENSE
7 *  AGREEMENT  BETWEEN THE USER AND BROADCOM.  YOU HAVE NO RIGHT TO USE OR
8 *  EXPLOIT THIS MATERIAL EXCEPT SUBJECT TO THE TERMS OF SUCH AN AGREEMENT.
9 *
10 * $brcm_Workfile: $
11 * $brcm_Revision: $
12 * $brcm_Date: $
13 *
14 * Module Description: C runtime startup code. This file sets up initial stack,
15 *      clears BSS and calls main.
16 *
17 * Revision History:
18 *
19 * $brcm_Log: $
20 *
21 ***************************************************************************/
22#include "mips.h"
23#define CRT_STACK_SIZE 0x400
24#define START_STATUS  (C0_STATUS_CU0_BIT | C0_STATUS_BEV_BIT | C0_STATUS_EXL_BIT)
25
26        .set mips32
27        .extern _fbss
28        .extern _end
29        .data
30        .comm   crt_stack, CRT_STACK_SIZE
31        .text
32        .align 4
33        .globl start
34        .ent start
35start:
36        j start_crt
37        nop
38start_crt:
39        li      t0, START_STATUS
40        mtc0    t0, C0_STATUS
41        la sp, crt_stack + (CRT_STACK_SIZE - 8)
42        la a0, _fbss
43        la a1, _end
44        beq a1, a0, 2f
45        nop
461:
47        sw zero, 0(a0)
48                addi a0, a0, 4
49        bne  a0, a1, 1b
50                nop     
512:
52        move a0, zero
53        move a1, zero
54                jal bcm_main
55                nop
56loop:           
57        j loop
58        .end start
Note: See TracBrowser for help on using the repository browser.