diff --git a/riscv/interactive.cc b/riscv/interactive.cc index 69f2461d..d24ec507 100644 --- a/riscv/interactive.cc +++ b/riscv/interactive.cc @@ -100,6 +100,8 @@ void sim_t::interactive() { if(funcs.count(cmd)) (this->*funcs[cmd])(cmd, args); + else + fprintf(stderr, "Unknown command %s\n", cmd.c_str()); } catch(trap_t t) {} } diff --git a/spike_main/disasm.cc b/spike_main/disasm.cc index 9eea77ed..65977fc6 100644 --- a/spike_main/disasm.cc +++ b/spike_main/disasm.cc @@ -74,7 +74,12 @@ struct : public arg_t { #define DECLARE_CSR(name, num) case num: return #name; #include "encoding.h" #undef DECLARE_CSR - default: return "unknown"; + default: + { + char buf[16]; + snprintf(buf, sizeof buf, "unknown_%03" PRIx64, insn.csr()); + return std::string(buf); + } } } } csr;