48 li a0, SR_U64 | SR_S64
52 # enable fp and accelerator
56 ## if that didn't stick, we don't have an FPU, so don't initialize it
96 lui a0, %hi(trap_entry)
97 add a0, a0, %lo(trap_entry)
101 add a0, a0, %lo(main)
104 # only allow core 0 to proceed
110 # jmp to main as a user program
116 trap_entry: # only check for SYS_exit, otherwise crash out
117 li a3, 1337 # magic "bad things" happened error code
119 li a2, 6 # syscall exception number
120 bne a1, a2, exit_error
122 li a1, 93 # SYS_exit number
123 bne v0, a1, exit_error
124 li a1, 1 # successful exit code
126 bne a3, a1, exit_error
127 csrw tohost, a1 # exit successfully (tohost == 1)