Files
eb001/tb/sw/src/slvStartup.S

68 lines
814 B
ArmAsm
Raw Normal View History

2024-10-28 15:51:12 +08:00
#include "tl2cdr.h"
2024-10-28 18:01:25 +08:00
.extern main
.extern int_svr_code
.extern plic_claim
.globl _prog_start
2024-10-28 18:01:25 +08:00
.section .text.init
_prog_start:
2025-01-15 15:44:29 +08:00
li x1, 0
li x2, 0
li x3, 0
li x4, 0
li x5, 0
li x6, 0
li x7, 0
li x8, 0
li x9, 0
li x10, 0
li x11, 0
li x12, 0
li x13, 0
li x14, 0
li x15, 0
#ifdef __RV32I_MARCH__
2025-01-15 15:44:29 +08:00
li x16, 0
li x17, 0
li x18, 0
li x19, 0
li x20, 0
li x21, 0
li x22, 0
li x23, 0
li x24, 0
li x25, 0
li x26, 0
li x27, 0
li x28, 0
li x29, 0
li x30, 0
li x31, 0
#endif
li sp, 0x40011000
li a0, 0
lui t0, %hi(plic_claim)
lw a1, %lo(plic_claim)(t0)
call int_svr_code
mv t0, a0 #trap_entry,RV32I
2025-01-15 15:44:29 +08:00
csrw mtvec, t0
li t0, 1 << 11
csrw mie, t0
csrr t0, mstatus
ori t0, t0, 1<<3
csrw mstatus, t0
2024-10-28 18:01:25 +08:00
call main
2024-10-28 15:51:12 +08:00
2024-10-28 18:01:25 +08:00
ecall
2024-10-28 15:51:12 +08:00