From c2abd82b7dad7dd4a69018f098c54316c2b4a5a1 Mon Sep 17 00:00:00 2001 From: SharzyL Date: Sun, 14 Apr 2024 18:59:51 +0800 Subject: [PATCH] [cosim] feat: write mcycle on spike_step --- ipemu/csrc/vbridge_impl.cc | 1 + tests/asm/smoke/smoke.asm | 3 +++ 2 files changed, 4 insertions(+) diff --git a/ipemu/csrc/vbridge_impl.cc b/ipemu/csrc/vbridge_impl.cc index 2c16f377f..b949fbc12 100644 --- a/ipemu/csrc/vbridge_impl.cc +++ b/ipemu/csrc/vbridge_impl.cc @@ -361,6 +361,7 @@ void VBridgeImpl::getCoverage() { return ctx->coveragep()->write(); } std::optional VBridgeImpl::spike_step() { auto state = proc.get_state(); + state->csrmap.at(CSR_MCYCLE)->write(get_t()); auto fetch = proc.get_mmu()->load_insn(state->pc); auto event = create_spike_event(fetch); diff --git a/tests/asm/smoke/smoke.asm b/tests/asm/smoke/smoke.asm index 7c458acf7..57e517f83 100644 --- a/tests/asm/smoke/smoke.asm +++ b/tests/asm/smoke/smoke.asm @@ -27,6 +27,9 @@ loop: addi a2, a2, -1 bnez a2, add_test + # read cycles + csrr t0, mcycle + ret will_not_be_executed: