Add an api to get the name for a CSR.
[riscv-isa-sim.git] / riscv / disasm.h
index a8da066feb6e11d32f3021ed9e8fed691316193e..94e007a12d32ff254a079313f9b798594cd2e0f2 100644 (file)
@@ -10,6 +10,7 @@
 
 extern const char* xpr_name[NXPR];
 extern const char* fpr_name[NFPR];
+extern const char* csr_name(int which);
 
 class arg_t
 {
@@ -60,14 +61,14 @@ class disasm_insn_t
 class disassembler_t
 {
  public:
-  disassembler_t();
+  disassembler_t(int xlen);
   ~disassembler_t();
-  std::string disassemble(insn_t insn);
+  std::string disassemble(insn_t insn) const;
   void add_insn(disasm_insn_t* insn);
  private:
   static const int HASH_SIZE = 256;
   std::vector<const disasm_insn_t*> chain[HASH_SIZE+1];
-  const disasm_insn_t* lookup(insn_t insn);
+  const disasm_insn_t* lookup(insn_t insn) const;
 };
 
 #endif