aboutsummaryrefslogtreecommitdiff
path: root/spike_main
diff options
context:
space:
mode:
authorJerry Zhao <jerryz123@berkeley.edu>2023-06-02 12:07:22 -0700
committerJerry Zhao <jerryz123@berkeley.edu>2023-06-20 12:23:47 -0700
commit426a33e77438f956d0890391af7bb7ed9b7a20fc (patch)
treedacacab42178124d417087ecdab917ea1d1a5263 /spike_main
parent6456b5ad25a2b7efb6c4f9ccd28e00a5408eb743 (diff)
downloadspike-426a33e77438f956d0890391af7bb7ed9b7a20fc.zip
spike-426a33e77438f956d0890391af7bb7ed9b7a20fc.tar.gz
spike-426a33e77438f956d0890391af7bb7ed9b7a20fc.tar.bz2
sim_t: change plugin_devices to a vec of shared_ptrs
Diffstat (limited to 'spike_main')
-rw-r--r--spike_main/spike.cc7
1 files changed, 2 insertions, 5 deletions
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<std::pair<reg_t, abstract_device_t*>> plugin_devices;
+ std::vector<std::pair<reg_t, std::shared_ptr<abstract_device_t>>> plugin_devices;
std::unique_ptr<icache_sim_t> ic;
std::unique_ptr<dcache_sim_t> dc;
std::unique_ptr<cache_sim_t> 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<mmio_plugin_device_t>(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;
}