Browse Source

Merge pull request #1 from dansmathers/dansmathers-patch-1

update set_msw/clear_msw/set_mtimer/clear_mtimer
pull/1434/head
Dan Smathers 3 years ago
committed by GitHub
parent
commit
179951a015
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
  1. 44
      arch_test_target/spike/model_test.h

44
arch_test_target/spike/model_test.h

@ -49,16 +49,50 @@
//RVTEST_IO_ASSERT_DFPR_EQ
#define RVMODEL_IO_ASSERT_DFPR_EQ(_D, _R, _I)
#ifndef RVMODEL_MCLINTBASE
#define RVMODEL_MCLINTBASE 0x02000000
#endif
#ifndef RVMODEL_MSIP_OFFSET
#define RVMODEL_MSIP_OFFSET 0x0
#endif
#ifndef RVMODEL_MTIMECMP_OFFSET
#define RVMODEL_MTIMECMP_OFFSET 0x4000
#endif
#ifndef RVMODEL_MTIMECMPH_OFFSET
#define RVMODEL_MTIMECMPH_OFFSET 0x4004
#endif
#define RVMODEL_SET_MSW_INT \
lui t0, ((RVMODEL_MCLINTBASE + RVMODEL_MSIP_OFFSET)>> 12); \
addi t0, t0, ((RVMODEL_MCLINTBASE + RVMODEL_MSIP_OFFSET) & 0xFFF); \
li t1, 1; \
li t2, 0x2000000; \
sw t1, 0(t2);
sw t1, (t0); \
#define RVMODEL_CLEAR_MSW_INT \
li t2, 0x2000000; \
sw x0, 0(t2);
lui t0, ((RVMODEL_MCLINTBASE + RVMODEL_MSIP_OFFSET)>> 12); \
addi t0, t0, ((RVMODEL_MCLINTBASE + RVMODEL_MSIP_OFFSET) & 0xFFF); \
sw x0, (t0); \
#define RVMODEL_SET_MTIMER_INT \
lui t0, ((RVMODEL_MCLINTBASE + RVMODEL_MTIMECMP_OFFSET)>> 12); \
addi t0, t0, ((RVMODEL_MCLINTBASE + RVMODEL_MTIMECMP_OFFSET) & 0xFFF); \
sw x0, (t0); \
lui t0, ((RVMODEL_MCLINTBASE + RVMODEL_MTIMECMPH_OFFSET)>> 12); \
addi t0, t0, ((RVMODEL_MCLINTBASE + RVMODEL_MTIMECMPH_OFFSET) & 0xFFF); \
sw x0, (t0); \
#define RVMODEL_CLEAR_MTIMER_INT
#define RVMODEL_CLEAR_MTIMER_INT \
addi t1,x0,1; \
neg t1,t1; \
lui t0, ((RVMODEL_MCLINTBASE + RVMODEL_MTIMECMPH_OFFSET)>> 12); \
addi t0, t0, ((RVMODEL_MCLINTBASE + RVMODEL_MTIMECMPH_OFFSET) & 0xFFF); \
sw t1, (t0); \
lui t0, ((RVMODEL_MCLINTBASE + RVMODEL_MTIMECMP_OFFSET)>> 12); \
addi t0, t0, ((RVMODEL_MCLINTBASE + RVMODEL_MTIMECMP_OFFSET) & 0xFFF); \
sw t1, (t0); \
#define RVMODEL_CLEAR_MEXT_INT

Loading…
Cancel
Save