Browse Source

Instantiate disassembler after max_xlen is known

This fixes RVC disassembly.

It's done in a way that doesn't break 2cd60b277e
pull/233/head
Andrew Waterman 8 years ago
parent
commit
b6ec196e9e
  1. 6
      riscv/processor.cc

6
riscv/processor.cc

@ -24,12 +24,16 @@ processor_t::processor_t(const char* isa, simif_t* sim, uint32_t id,
: debug(false), halt_request(false), sim(sim), ext(NULL), id(id),
halt_on_reset(halt_on_reset), last_pc(1), executions(1)
{
disassembler = new disassembler_t(max_xlen);
parse_isa_string(isa);
register_base_instructions();
mmu = new mmu_t(sim, this);
disassembler = new disassembler_t(max_xlen);
if (ext)
for (auto disasm_insn : ext->get_disasms())
disassembler->add_insn(disasm_insn);
reset();
}

Loading…
Cancel
Save