summaryrefslogtreecommitdiff
path: root/pt/riscv_test.h
diff options
context:
space:
mode:
Diffstat (limited to 'pt/riscv_test.h')
-rw-r--r--pt/riscv_test.h82
1 files changed, 0 insertions, 82 deletions
diff --git a/pt/riscv_test.h b/pt/riscv_test.h
index 67d5ead..8137782 100644
--- a/pt/riscv_test.h
+++ b/pt/riscv_test.h
@@ -39,94 +39,12 @@ _interrupt_handler: \
srli a0, a0, 1; \
add a0, a0, -IRQ_TIMER; \
bnez a0, _skip; \
- srl a0, a0, XS_SHIFT; \
- andi a0, a0, 3; \
- beqz a0, _skip_vector_restore; \
- VECTOR_RESTORE; \
-_skip_vector_restore: \
csrr a0, mtime; \
addi a0, a0, TIMER_INTERVAL; \
csrw mtimecmp, a0; \
csrr a0, mscratch; \
eret; \
-#ifdef __riscv64
-
-#define VECTOR_RESTORE \
-_vector_restore: \
- la a0,regspill; \
- sd a1,0(a0); \
- sd a2,8(a0); \
- sd a3,16(a0); \
- sd a4,24(a0); \
- sd a5,32(a0); \
- sd a6,40(a0); \
- sd a7,48(a0); \
- vgetcfg a6; \
- vgetvl a7; \
- la a0,evac; \
- vxcptevac a0; \
- vsetcfg a6; \
- vsetvl a7,a7; \
- vxcpthold a0; \
- li a5,0; \
-_handler_loop: \
- ld a1,0(a0); \
- addi a0,a0,8; \
- blt a1,x0,_done; \
- srli a2,a1,32; \
- andi a2,a2,0x1; \
- beq a2,x0,_vcnt; \
-_vcmd: \
- beq a5,x0,_vcmd_skip; \
- venqcmd a4,a3; \
-_vcmd_skip: \
- li a5,1; \
- move a4,a1; \
- srli a3,a4,36; \
- andi a3,a3,0x1; \
-_vimm1: \
- srli a2,a4,35; \
- andi a2,a2,0x1; \
- beq a2,x0,_vimm2; \
- ld a1,0(a0); \
- addi a0,a0,8; \
- venqimm1 a1,a3; \
-_vimm2: \
- srli a2,a4,34; \
- andi a2,a2,0x1; \
- beq a2,x0,_end; \
- ld a1,0(a0); \
- addi a0,a0,8; \
- venqimm2 a1,a3; \
- j _end; \
-_vcnt: \
- ld a2,0(a0); \
- srli a2,a2,31; \
- andi a2,a2,0x2; \
- or a3,a3,a2; \
- venqcnt a1,a3; \
-_end: \
- j _handler_loop; \
-_done: \
- beq a5,x0,_done_skip; \
- venqcmd a4,a3; \
-_done_skip: \
- la a0,regspill; \
- ld a1,0(a0); \
- ld a2,8(a0); \
- ld a3,16(a0); \
- ld a4,24(a0); \
- ld a5,32(a0); \
- ld a6,40(a0); \
- ld a7,48(a0); \
-
-#else
-
-#define VECTOR_RESTORE
-
-#endif
-
//-----------------------------------------------------------------------
// Data Section Macro
//-----------------------------------------------------------------------