aboutsummaryrefslogtreecommitdiff
path: root/riscv/sim.cc
diff options
context:
space:
mode:
authorRupert Swarbrick <rswarbrick@lowrisc.org>2022-03-24 22:00:46 +0000
committerRupert Swarbrick <rswarbrick@lowrisc.org>2022-04-12 11:10:17 +0100
commit970466e6ebcf4957f131fde8b62ca10fb70b2bd6 (patch)
tree9d52c0ed159359019e2ed83f4e81acd48aa6321f /riscv/sim.cc
parent057139ab90b8e03b71825e8f2be7cab58fef0f90 (diff)
downloadspike-970466e6ebcf4957f131fde8b62ca10fb70b2bd6.zip
spike-970466e6ebcf4957f131fde8b62ca10fb70b2bd6.tar.gz
spike-970466e6ebcf4957f131fde8b62ca10fb70b2bd6.tar.bz2
Move start_pc into cfg_t
Diffstat (limited to 'riscv/sim.cc')
-rw-r--r--riscv/sim.cc5
1 files changed, 2 insertions, 3 deletions
diff --git a/riscv/sim.cc b/riscv/sim.cc
index 90fa210..4e3dd40 100644
--- a/riscv/sim.cc
+++ b/riscv/sim.cc
@@ -29,7 +29,7 @@ static void handle_signal(int sig)
}
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, mem_t*>> mems,
std::vector<std::pair<reg_t, abstract_device_t*>> plugin_devices,
const std::vector<std::string>& args,
std::vector<int> const hartids,
@@ -46,7 +46,6 @@ sim_t::sim_t(const cfg_t *cfg, const char* varch, bool halted, bool real_time_cl
mems(mems),
plugin_devices(plugin_devices),
procs(std::max(cfg->nprocs(), size_t(1))),
- start_pc(start_pc),
dtb_file(dtb_file ? dtb_file : ""),
dtb_enabled(dtb_enabled),
log_file(log_path),
@@ -334,7 +333,7 @@ void sim_t::set_rom()
{
const int reset_vec_size = 8;
- start_pc = start_pc == reg_t(-1) ? get_entry_point() : start_pc;
+ reg_t start_pc = cfg->start_pc.value_or(get_entry_point());
uint32_t reset_vec[reset_vec_size] = {
0x297, // auipc t0,0x0