aboutsummaryrefslogtreecommitdiff
path: root/riscv/sim.cc
diff options
context:
space:
mode:
authorAndrew Waterman <andrew@sifive.com>2019-11-12 16:57:10 -0800
committerAndrew Waterman <andrew@sifive.com>2019-11-12 18:17:23 -0800
commit8ffefbc9a1f7730d14a2f694906bcc681cbca2e5 (patch)
tree4ddbd6759b51f7bf2427db7d45bbdf9f9daa541e /riscv/sim.cc
parent24e587d43315dabaac2b7b8a631d459fc12f3f14 (diff)
downloadspike-8ffefbc9a1f7730d14a2f694906bcc681cbca2e5.zip
spike-8ffefbc9a1f7730d14a2f694906bcc681cbca2e5.tar.gz
spike-8ffefbc9a1f7730d14a2f694906bcc681cbca2e5.tar.bz2
Add --priv option to control which privilege modes are available
Diffstat (limited to 'riscv/sim.cc')
-rw-r--r--riscv/sim.cc7
1 files changed, 4 insertions, 3 deletions
diff --git a/riscv/sim.cc b/riscv/sim.cc
index eca7057..7d6f3c1 100644
--- a/riscv/sim.cc
+++ b/riscv/sim.cc
@@ -25,7 +25,8 @@ static void handle_signal(int sig)
signal(sig, &handle_signal);
}
-sim_t::sim_t(const char* isa, const char* varch, size_t nprocs, bool halted,
+sim_t::sim_t(const char* isa, const char* priv, const char* varch,
+ size_t nprocs, bool halted,
reg_t start_pc, std::vector<std::pair<reg_t, mem_t*>> mems,
std::vector<std::pair<reg_t, abstract_device_t*>> plugin_devices,
const std::vector<std::string>& args,
@@ -51,7 +52,7 @@ sim_t::sim_t(const char* isa, const char* varch, size_t nprocs, bool halted,
if (hartids.size() == 0) {
for (size_t i = 0; i < procs.size(); i++) {
- procs[i] = new processor_t(isa, varch, this, i, halted);
+ procs[i] = new processor_t(isa, priv, varch, this, i, halted);
}
}
else {
@@ -60,7 +61,7 @@ sim_t::sim_t(const char* isa, const char* varch, size_t nprocs, bool halted,
exit(1);
}
for (size_t i = 0; i < procs.size(); i++) {
- procs[i] = new processor_t(isa, varch, this, hartids[i], halted);
+ procs[i] = new processor_t(isa, priv, varch, this, hartids[i], halted);
}
}