aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--riscv/cfg.h6
-rw-r--r--riscv/sim.cc5
-rw-r--r--riscv/sim.h3
-rw-r--r--spike_main/spike.cc8
4 files changed, 11 insertions, 11 deletions
diff --git a/riscv/cfg.h b/riscv/cfg.h
index e0b9dcc..f0dea9f 100644
--- a/riscv/cfg.h
+++ b/riscv/cfg.h
@@ -30,17 +30,19 @@ class cfg_t
public:
cfg_t(std::pair<reg_t, reg_t> default_initrd_bounds,
const char *default_bootargs, size_t default_nprocs,
- const char *default_isa)
+ const char *default_isa, const char *default_priv)
: initrd_bounds(default_initrd_bounds),
bootargs(default_bootargs),
nprocs(default_nprocs),
- isa(default_isa)
+ isa(default_isa),
+ priv(default_priv)
{}
cfg_arg_t<std::pair<reg_t, reg_t>> initrd_bounds;
cfg_arg_t<const char *> bootargs;
cfg_arg_t<size_t> nprocs;
cfg_arg_t<const char *> isa;
+ cfg_arg_t<const char *> priv;
};
#endif
diff --git a/riscv/sim.cc b/riscv/sim.cc
index 39c6525..f3999a7 100644
--- a/riscv/sim.cc
+++ b/riscv/sim.cc
@@ -28,8 +28,7 @@ static void handle_signal(int sig)
signal(sig, &handle_signal);
}
-sim_t::sim_t(const cfg_t *cfg, const char* priv, const char* varch,
- bool halted, bool real_time_clint,
+sim_t::sim_t(const cfg_t *cfg, const char* varch, bool halted, bool real_time_clint,
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,
@@ -42,7 +41,7 @@ sim_t::sim_t(const cfg_t *cfg, const char* priv, const char* varch,
#endif
FILE *cmd_file) // needed for command line option --cmd
: htif_t(args),
- isa(cfg->isa(), priv),
+ isa(cfg->isa(), cfg->priv()),
cfg(cfg),
mems(mems),
plugin_devices(plugin_devices),
diff --git a/riscv/sim.h b/riscv/sim.h
index 84abada..fc20a2c 100644
--- a/riscv/sim.h
+++ b/riscv/sim.h
@@ -32,8 +32,7 @@ class remote_bitbang_t;
class sim_t : public htif_t, public simif_t
{
public:
- sim_t(const cfg_t *cfg, const char* priv, const char* varch,
- bool halted, bool real_time_clint,
+ sim_t(const cfg_t *cfg, const char* varch, bool halted, bool real_time_clint,
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, const std::vector<int> hartids,
diff --git a/spike_main/spike.cc b/spike_main/spike.cc
index 70a1012..3c6e14c 100644
--- a/spike_main/spike.cc
+++ b/spike_main/spike.cc
@@ -232,7 +232,6 @@ int main(int argc, char** argv)
const char *log_path = nullptr;
std::vector<std::function<extension_t*()>> extensions;
const char* initrd = NULL;
- const char* priv = DEFAULT_PRIV;
const char* varch = DEFAULT_VARCH;
const char* dtb_file = NULL;
uint16_t rbb_port = 0;
@@ -253,7 +252,8 @@ int main(int argc, char** argv)
cfg_t cfg(/*default_initrd_bounds=*/std::make_pair((reg_t)0, (reg_t)0),
/*default_bootargs=*/nullptr,
/*default_nprocs=*/1,
- /*default_isa=*/DEFAULT_ISA);
+ /*default_isa=*/DEFAULT_ISA,
+ /*default_priv=*/DEFAULT_PRIV);
auto const hartids_parser = [&](const char *s) {
std::string const str(s);
@@ -331,7 +331,7 @@ int main(int argc, char** argv)
parser.option(0, "l2", 1, [&](const char* s){l2.reset(cache_sim_t::construct(s, "L2$"));});
parser.option(0, "log-cache-miss", 0, [&](const char* s){log_cache = true;});
parser.option(0, "isa", 1, [&](const char* s){cfg.isa = s;});
- parser.option(0, "priv", 1, [&](const char* s){priv = s;});
+ parser.option(0, "priv", 1, [&](const char* s){cfg.priv = s;});
parser.option(0, "varch", 1, [&](const char* s){varch = s;});
parser.option(0, "device", 1, device_parser);
parser.option(0, "extension", 1, [&](const char* s){extensions.push_back(find_extension(s));});
@@ -445,7 +445,7 @@ int main(int argc, char** argv)
}
#endif
- sim_t s(&cfg, priv, varch, halted, real_time_clint,
+ sim_t s(&cfg, varch, halted, real_time_clint,
start_pc, mems, plugin_devices, htif_args,
std::move(hartids), dm_config, log_path, dtb_enabled, dtb_file,
#ifdef HAVE_BOOST_ASIO