diff options
author | Christopher Celio <celio@eecs.berkeley.edu> | 2014-08-15 15:38:41 -0700 |
---|---|---|
committer | Christopher Celio <celio@eecs.berkeley.edu> | 2014-08-15 15:38:41 -0700 |
commit | 616cc32c30ac0684edfd50ed44fc78ed1bc20884 (patch) | |
tree | 3ad9cbea79da5a40a5a351e842e1e890a07ad298 /riscv/sim.cc | |
parent | e2c0c3021ac2fa7cad5866e0f100c2dbf2372986 (diff) | |
download | riscv-isa-sim-616cc32c30ac0684edfd50ed44fc78ed1bc20884.zip riscv-isa-sim-616cc32c30ac0684edfd50ed44fc78ed1bc20884.tar.gz riscv-isa-sim-616cc32c30ac0684edfd50ed44fc78ed1bc20884.tar.bz2 |
Added PC histogram option.
- Spits out all PCs (on 4B granularity) executed with count.
- Requires a compile time configuration option.
- Also requires a run-time flag.
Diffstat (limited to 'riscv/sim.cc')
-rw-r--r-- | riscv/sim.cc | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/riscv/sim.cc b/riscv/sim.cc index 59fe593..9490af3 100644 --- a/riscv/sim.cc +++ b/riscv/sim.cc @@ -40,8 +40,10 @@ sim_t::sim_t(size_t nprocs, size_t mem_mb, const std::vector<std::string>& args) debug_mmu = new mmu_t(mem, memsz); - for (size_t i = 0; i < procs.size(); i++) + for (size_t i = 0; i < procs.size(); i++) { procs[i] = new processor_t(this, new mmu_t(mem, memsz), i); + } + } sim_t::~sim_t() @@ -124,8 +126,17 @@ void sim_t::set_debug(bool value) debug = value; } +void sim_t::set_histogram(bool value) +{ + histogram_enabled = value; + for (size_t i = 0; i < procs.size(); i++) { + procs[i]->set_histogram(histogram_enabled); + } +} + void sim_t::set_procs_debug(bool value) { for (size_t i=0; i< procs.size(); i++) procs[i]->set_debug(value); } + |