fixes dump-ir handling

This commit is contained in:
Eyck Jentzsch 2023-10-22 23:19:09 +02:00
parent ffe730219d
commit bf4a6deb86
1 changed files with 3 additions and 2 deletions

View File

@ -48,6 +48,7 @@
#include <iostream> #include <iostream>
#include <sstream> #include <sstream>
#include <array> #include <array>
#include <numeric>
#include <iss/plugin/cycle_estimate.h> #include <iss/plugin/cycle_estimate.h>
#include <iss/plugin/instruction_count.h> #include <iss/plugin/instruction_count.h>
@ -126,7 +127,7 @@ public:
core_wrapper(core_complex *owner) : owner(owner) { } core_wrapper(core_complex *owner) : owner(owner) { }
void reset(uint64_t addr){vm->reset(addr);} void reset(uint64_t addr){vm->reset(addr);}
inline void start(){vm->start();} inline void start(bool dump = false){vm->start(std::numeric_limits<uint64_t>::max(), dump);}
inline std::pair<uint64_t, bool> load_file(std::string const& name){ inline std::pair<uint64_t, bool> load_file(std::string const& name){
iss::arch_if* cc = cpu->get_arch_if(); iss::arch_if* cc = cpu->get_arch_if();
return cc->load_file(name);}; return cc->load_file(name);};
@ -379,7 +380,7 @@ void core_complex::run() {
} }
quantum_keeper.reset(); quantum_keeper.reset();
cpu->set_interrupt_execution(false); cpu->set_interrupt_execution(false);
cpu->start(); cpu->start(dump_ir);
} while (cpu->get_interrupt_execution()); } while (cpu->get_interrupt_execution());
sc_stop(); sc_stop();
} }