From 41051f8f3445c6617c092019d6adb362b31d2f83 Mon Sep 17 00:00:00 2001 From: Eyck-Alexander Jentzsch Date: Fri, 31 May 2024 10:43:38 +0200 Subject: [PATCH] fixes tohost handling --- src/iss/arch/riscv_hart_m_p.h | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/iss/arch/riscv_hart_m_p.h b/src/iss/arch/riscv_hart_m_p.h index 3b17016..dfbef36 100644 --- a/src/iss/arch/riscv_hart_m_p.h +++ b/src/iss/arch/riscv_hart_m_p.h @@ -293,7 +293,7 @@ public: void set_irq_num(unsigned i) { mcause_max_irq = 1 << util::ilog2(i); } - void set_semihosting_callback(semihosting_cb_t cb) { semihosting_cb = cb; }; + void set_semihosting_callback(semihosting_cb_t cb) { semihosting_cb = cb; }; protected: struct riscv_instrumentation_if : public iss::instrumentation_if { @@ -354,7 +354,7 @@ protected: bool tohost_lower_written = false; riscv_instrumentation_if instr_if; - semihosting_cb_t semihosting_cb; + semihosting_cb_t semihosting_cb; using mem_type = util::sparse_array; using csr_type = util::sparse_array::reg_t, 1ULL << 12, 12>; @@ -1125,9 +1125,6 @@ iss::status riscv_hart_m_p::write_mem(phys_addr_t paddr, unsigned le } this->reg.trap_state = std::numeric_limits::max(); this->interrupt_sim = hostvar; -#ifndef WITH_TCC - // throw(iss::simulation_stopped(hostvar)); -#endif break; case 0x0101: { char c = static_cast(hostvar & 0xff);