Skip to content

Commit

Permalink
Merge pull request #1434 from dansmathers/master
Browse files Browse the repository at this point in the history
 update model_test.h: set_msw/clear_msw/set_mtimer/clear_mtimer
  • Loading branch information
aswaterman authored Aug 24, 2023
2 parents d1680b7 + 179951a commit db20475
Showing 1 changed file with 42 additions and 8 deletions.
50 changes: 42 additions & 8 deletions arch_test_target/spike/model_test.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,16 +49,50 @@
//RVTEST_IO_ASSERT_DFPR_EQ
#define RVMODEL_IO_ASSERT_DFPR_EQ(_D, _R, _I)

#define RVMODEL_SET_MSW_INT \
li t1, 1; \
li t2, 0x2000000; \
sw t1, 0(t2);
#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; \
sw t1, (t0); \

#define RVMODEL_CLEAR_MSW_INT \
lui t0, ((RVMODEL_MCLINTBASE + RVMODEL_MSIP_OFFSET)>> 12); \
addi t0, t0, ((RVMODEL_MCLINTBASE + RVMODEL_MSIP_OFFSET) & 0xFFF); \
sw x0, (t0); \

#define RVMODEL_CLEAR_MSW_INT \
li t2, 0x2000000; \
sw x0, 0(t2);
#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

Expand Down

0 comments on commit db20475

Please sign in to comment.