diff options
-rw-r--r-- | isa/rv64mi/ipi.S | 20 |
1 files changed, 3 insertions, 17 deletions
diff --git a/isa/rv64mi/ipi.S b/isa/rv64mi/ipi.S index 457a9cd..a427b76 100644 --- a/isa/rv64mi/ipi.S +++ b/isa/rv64mi/ipi.S @@ -26,30 +26,16 @@ RVTEST_CODE_BEGIN 1:li a3, 1 bgeu a2, a3, 1b - # wait for all cores to boot - 1: lw a1, (a0) - bltu a1, a3, 1b - - # IPI dominoes - csrr a0, mhartid - 1: bnez a0, 1b - add a0, a0, 1 - rem a0, a0, a3 - csrw send_ipi, a0 + # send a self-IPI + csrwi mipi, 0 1: j 1b mtvec_handler: - csrr a0, mhartid - bnez a0, 2f + bnez a2, fail RVTEST_PASS TEST_PASSFAIL - 2: add a0, a0, 1 - rem a0, a0, a3 - csrw send_ipi, a0 - 1: j 1b - RVTEST_CODE_END .data |