#Assembly stub for C programs targeting RVController - Big-endian Flavor
#A product of Advanced Mesecons Devices, a Cheapie Systems company
#This is free and unencumbered software released into the public domain.
#See http://unlicense.org/ for more information

#This file should always be linked first.
#RVController has a default reset vector of 0,
#therefore _start should end up as the first thing in the file.

.section .text.startup
_start:

# Switch to big-endian mode (little-endian is default after reset)
li t0,0x20 # MBE
csrrs x0,0x310,t0 # 0x310 = mstatush

# Set up stack pointer
li sp,0x10000

# Call main function
call main

# Exit program
li a7,10
ecall

# Shouldn't ever get here, will crash if it does
ret

.globl _start
