diff options
| author | Nathaniel Graff <nathaniel.graff@sifive.com> | 2019-03-07 21:32:52 +0000 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-03-07 21:32:52 +0000 | 
| commit | 7b036c07e40a6f3d3cf1ddfc5d88d3a36beb4e46 (patch) | |
| tree | c1459952c20e4534d33016d4fc2cf6729228c0e6 /bsp/env/start.S | |
| parent | 84781219c87c0b9148e318f3e358ef7de03e251c (diff) | |
| parent | def12d50a686774196c613a819e6afb744ee290e (diff) | |
Merge pull request #195 from sifive/remove-legacy
Remove legacy BSPs and Software
Diffstat (limited to 'bsp/env/start.S')
| -rw-r--r-- | bsp/env/start.S | 112 | 
1 files changed, 0 insertions, 112 deletions
diff --git a/bsp/env/start.S b/bsp/env/start.S deleted file mode 100644 index 4d1eb04..0000000 --- a/bsp/env/start.S +++ /dev/null @@ -1,112 +0,0 @@ -// See LICENSE for license details. -#include <sifive/smp.h> -#include <encoding.h> - -/* This is defined in sifive/platform.h, but that can't be included from - * assembly. */ -#define CLINT_CTRL_ADDR 0x02000000 - -	.section .init -	.globl _start -	.type _start,@function - -_start: -	.cfi_startproc -	.cfi_undefined ra -.option push -.option norelax -	la gp, __global_pointer$ -.option pop -	la sp, _sp - -#if defined(ENABLE_SMP) -	smp_pause(t0, t1) -#endif - -	/* Load data section */ -	la a0, _data_lma -	la a1, _data -	la a2, _edata -	bgeu a1, a2, 2f -1: -	lw t0, (a0) -	sw t0, (a1) -	addi a0, a0, 4 -	addi a1, a1, 4 -	bltu a1, a2, 1b -2: - -	/* Clear bss section */ -	la a0, __bss_start -	la a1, _end -	bgeu a0, a1, 2f -1: -	sw zero, (a0) -	addi a0, a0, 4 -	bltu a0, a1, 1b -2: - -	/* Call global constructors */ -	la a0, __libc_fini_array -	call atexit -	call __libc_init_array - -#ifndef __riscv_float_abi_soft -	/* Enable FPU */ -	li t0, MSTATUS_FS -	csrs mstatus, t0 -	csrr t1, mstatus -	and t1, t1, t0 -	beqz t1, 1f -	fssr x0 -1: -#endif - -#if defined(ENABLE_SMP) -	smp_resume(t0, t1) - -	csrr a0, mhartid -	bnez a0, 2f -#endif - -	auipc ra, 0 -	addi sp, sp, -16 -#if __riscv_xlen == 32 -	sw ra, 8(sp) -#else -	sd ra, 8(sp) -#endif - -	/* argc = argv = 0 */ -	li a0, 0 -	li a1, 0 -	call main -	tail exit -1: -	j 1b - -#if defined(ENABLE_SMP) -2: -	la t0, trap_entry -	csrw mtvec, t0 - -	csrr a0, mhartid -	la t1, _sp -	slli t0, a0, 10 -	sub sp, t1, t0 - -	auipc ra, 0 -	addi sp, sp, -16 -#if __riscv_xlen == 32 -	sw ra, 8(sp) -#else -	sd ra, 8(sp) -#endif - -	call secondary_main -	tail exit - -1: -	j 1b -#endif -	.cfi_endproc  | 
