diff options
author | Rupert Swarbrick <rswarbrick@gmail.com> | 2022-04-11 11:07:08 +0100 |
---|---|---|
committer | Rupert Swarbrick <rswarbrick@lowrisc.org> | 2022-04-12 11:10:46 +0100 |
commit | 9f0cf3437051b1ff0da9f087d001f768c2242870 (patch) | |
tree | bb0767afe4ea19067db35aea4732018f6f05d766 /riscv | |
parent | 61b4f61a857de65d1a341f55597bfceeb7b7690d (diff) | |
download | spike-9f0cf3437051b1ff0da9f087d001f768c2242870.zip spike-9f0cf3437051b1ff0da9f087d001f768c2242870.tar.gz spike-9f0cf3437051b1ff0da9f087d001f768c2242870.tar.bz2 |
Remove nprocs from cfg_t
Now we have hartids, we can remove nprocs so that we have a single
source of truth.
Diffstat (limited to 'riscv')
-rw-r--r-- | riscv/cfg.h | 6 | ||||
-rw-r--r-- | riscv/sim.cc | 2 |
2 files changed, 3 insertions, 5 deletions
diff --git a/riscv/cfg.h b/riscv/cfg.h index 6410c81..1e40aed 100644 --- a/riscv/cfg.h +++ b/riscv/cfg.h @@ -54,13 +54,12 @@ 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_bootargs, const char *default_isa, const char *default_priv, const std::vector<mem_cfg_t> &default_mem_layout, const std::vector<int> default_hartids) : initrd_bounds(default_initrd_bounds), bootargs(default_bootargs), - nprocs(default_nprocs), isa(default_isa), priv(default_priv), mem_layout(default_mem_layout), @@ -70,13 +69,14 @@ public: 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; cfg_arg_t<std::vector<mem_cfg_t>> mem_layout; std::optional<reg_t> start_pc; cfg_arg_t<std::vector<int>> hartids; bool explicit_hartids; + + size_t nprocs() const { return hartids().size(); } }; #endif diff --git a/riscv/sim.cc b/riscv/sim.cc index d7585ca..6945c64 100644 --- a/riscv/sim.cc +++ b/riscv/sim.cc @@ -62,8 +62,6 @@ sim_t::sim_t(const cfg_t *cfg, const char* varch, bool halted, bool real_time_cl remote_bitbang(NULL), debug_module(this, dm_config) { - assert(cfg->hartids().size() == cfg->nprocs()); - signal(SIGINT, &handle_signal); sout_.rdbuf(std::cerr.rdbuf()); // debug output goes to stderr by default |