From 426a33e77438f956d0890391af7bb7ed9b7a20fc Mon Sep 17 00:00:00 2001 From: Jerry Zhao Date: Fri, 2 Jun 2023 12:07:22 -0700 Subject: sim_t: change plugin_devices to a vec of shared_ptrs --- ci-tests/testlib.c | 2 +- riscv/sim.cc | 4 ++-- riscv/sim.h | 4 ++-- spike_main/spike.cc | 7 ++----- 4 files changed, 7 insertions(+), 10 deletions(-) diff --git a/ci-tests/testlib.c b/ci-tests/testlib.c index 3d5438b..33eaede 100644 --- a/ci-tests/testlib.c +++ b/ci-tests/testlib.c @@ -28,7 +28,7 @@ int main() hartids, false, 4); - std::vector> plugin_devices; + std::vector>> plugin_devices; std::vector htif_args {"pk", "hello"}; debug_module_config_t dm_config = { .progbufsize = 2, diff --git a/riscv/sim.cc b/riscv/sim.cc index 4fa49b2..43c91f6 100644 --- a/riscv/sim.cc +++ b/riscv/sim.cc @@ -34,7 +34,7 @@ const size_t sim_t::INTERLEAVE; sim_t::sim_t(const cfg_t *cfg, bool halted, std::vector> mems, - std::vector> plugin_devices, + std::vector>> plugin_devices, const std::vector& args, const debug_module_config_t &dm_config, const char *log_path, @@ -67,7 +67,7 @@ sim_t::sim_t(const cfg_t *cfg, bool halted, bus.add_device(x.first, x.second); for (auto& x : plugin_devices) - bus.add_device(x.first, x.second); + bus.add_device(x.first, x.second.get()); debug_module.add_device(&bus); diff --git a/riscv/sim.h b/riscv/sim.h index a851643..ba95666 100644 --- a/riscv/sim.h +++ b/riscv/sim.h @@ -27,7 +27,7 @@ class sim_t : public htif_t, public simif_t public: sim_t(const cfg_t *cfg, bool halted, std::vector> mems, - std::vector> plugin_devices, + std::vector>> plugin_devices, const std::vector& args, const debug_module_config_t &dm_config, const char *log_path, bool dtb_enabled, const char *dtb_file, @@ -63,7 +63,7 @@ private: isa_parser_t isa; const cfg_t * const cfg; std::vector> mems; - std::vector> plugin_devices; + std::vector>> plugin_devices; std::vector procs; std::map harts; std::pair initrd_range; diff --git a/spike_main/spike.cc b/spike_main/spike.cc index 7290f38..f257582 100644 --- a/spike_main/spike.cc +++ b/spike_main/spike.cc @@ -336,7 +336,7 @@ int main(int argc, char** argv) bool dtb_enabled = true; const char* kernel = NULL; reg_t kernel_offset, kernel_size; - std::vector> plugin_devices; + std::vector>> plugin_devices; std::unique_ptr ic; std::unique_ptr dc; std::unique_ptr l2; @@ -416,7 +416,7 @@ int main(int argc, char** argv) std::string args(avail, '\0'); stream.readsome(&args[0], avail); - plugin_devices.emplace_back(base, new mmio_plugin_device_t(name, args)); + plugin_devices.emplace_back(base, std::make_shared(name, args)); }; option_parser_t parser; @@ -602,8 +602,5 @@ int main(int argc, char** argv) for (auto& mem : mems) delete mem.second; - for (auto& plugin_device : plugin_devices) - delete plugin_device.second; - return return_code; } -- cgit v1.1