diff options
author | Albert Ou <albert@sifive.com> | 2016-12-07 15:00:51 -0800 |
---|---|---|
committer | Albert Ou <albert@sifive.com> | 2016-12-07 15:00:51 -0800 |
commit | fb1d8d0dcc27f3460b3e18f6b62832f6568e0214 (patch) | |
tree | 5ee951c81b64c591313e117c7ad3b1b07336aa5f /bsp/env/freedom-e300-arty/entry.S | |
parent | 7b76b28cf0c21e7baa2b6c8398f1395f08666fd7 (diff) |
Deduplicate freedom-e300-arty files
Diffstat (limited to 'bsp/env/freedom-e300-arty/entry.S')
l---------[-rw-r--r--] | bsp/env/freedom-e300-arty/entry.S | 82 |
1 files changed, 1 insertions, 81 deletions
diff --git a/bsp/env/freedom-e300-arty/entry.S b/bsp/env/freedom-e300-arty/entry.S index c8ec662..350d678 100644..120000 --- a/bsp/env/freedom-e300-arty/entry.S +++ b/bsp/env/freedom-e300-arty/entry.S @@ -1,81 +1 @@ -/*- - * Copyright (c) 2013-2015 Marko Zec, University of Zagreb - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * $Id$ - */ - -/* - * Copy data, clear BSS, set small data index register and jump into main(). - * - * Assumes that the loader has already properly: - * 1) set stack pointer - * 2) set return address - * 3) invalidated caches - */ - - .section .init - .globl _start - .type _start,@function - -_start: - la gp, _gp - la sp, _sp - - /* Load data sections */ - la s0, _data - la s1, _edata - la s2, _data_lma - j 2f -1: - lw t0, (s2) - sw t0, (s0) - addi s2, s2, 4 - addi s0, s0, 4 -2: - bltu s0, s1, 1b - - la s1, _end /* End of BSS section, word aligned */ - la s0, __bss_start /* Start of BSS section, word aligned */ - j bss_bzero_enter - - /* The loader doesn't bzero the BSS, so we must do it here. */ -bss_bzero_loop: - sw zero, (s0) - addi s0, s0, 4 -bss_bzero_enter: - bne s0, s1, bss_bzero_loop - - la s0, __init_array_start - la s1, __init_array_end - move s2, ra - j ctor_loop_enter - -ctor_loop: - lw a0, (s0) - addi s0, s0, 4 - jalr a0 -ctor_loop_enter: - bne s0, s1, ctor_loop - move ra, s2 - j _init +../freedom-e300-hifive1/entry.S
\ No newline at end of file |