| #if XLEN == 64 | |
| # define LREG ld | |
| # define SREG sd | |
| # define REGBYTES 8 | |
| #else | |
| # define LREG lw | |
| # define SREG sw | |
| # define REGBYTES 4 | |
| #endif | |
| #include "encoding.h" | |
| .global main | |
| main: | |
| nop | |
| j main | |
| write_regs: | |
| SREG x2, 0(x1) | |
| SREG x3, 8(x1) | |
| SREG x4, 16(x1) | |
| SREG x5, 24(x1) | |
| SREG x6, 32(x1) | |
| SREG x7, 40(x1) | |
| SREG x8, 48(x1) | |
| SREG x9, 56(x1) | |
| SREG x10, 64(x1) | |
| SREG x11, 72(x1) | |
| SREG x12, 80(x1) | |
| SREG x13, 88(x1) | |
| SREG x14, 96(x1) | |
| SREG x15, 104(x1) | |
| #ifndef RV32E | |
| SREG x16, 112(x1) | |
| SREG x17, 120(x1) | |
| SREG x18, 128(x1) | |
| SREG x19, 136(x1) | |
| SREG x20, 144(x1) | |
| SREG x21, 152(x1) | |
| SREG x22, 160(x1) | |
| SREG x23, 168(x1) | |
| SREG x24, 176(x1) | |
| SREG x25, 184(x1) | |
| SREG x26, 192(x1) | |
| SREG x27, 200(x1) | |
| SREG x28, 208(x1) | |
| SREG x29, 216(x1) | |
| SREG x30, 224(x1) | |
| SREG x31, 232(x1) | |
| #endif | |
| csrr x1, CSR_MSCRATCH | |
| all_done: | |
| j all_done | |
| .section .bss | |
| .balign 16 | |
| data: | |
| .fill 64, 8, 0 |