Favor procs.size() over num_cores()
authorAndrew Waterman <waterman@cs.berkeley.edu>
Sat, 13 Jul 2013 01:22:25 +0000 (18:22 -0700)
committerAndrew Waterman <waterman@cs.berkeley.edu>
Sat, 13 Jul 2013 01:24:01 +0000 (18:24 -0700)
riscv/sim.cc

index 805429a1a257b3d15a5c5a9f3d9d090de4c65b36..8df943c45ec6c4fe200748584953df7adb2d835e 100644 (file)
@@ -40,13 +40,15 @@ sim_t::sim_t(int _nprocs, int mem_mb, const std::vector<std::string>& args)
 
   mmu = new mmu_t(mem, memsz);
 
-  for(size_t i = 0; i < num_cores(); i++)
+  if (_nprocs == 0)
+    _nprocs = 1;
+  for (size_t i = 0; i < _nprocs; i++)
     procs[i] = new processor_t(this, new mmu_t(mem, memsz), i);
 }
 
 sim_t::~sim_t()
 {
-  for(size_t i = 0; i < num_cores(); i++)
+  for (size_t i = 0; i < procs.size(); i++)
   {
     mmu_t* pmmu = &procs[i]->mmu;
     delete procs[i];
@@ -58,7 +60,7 @@ sim_t::~sim_t()
 
 void sim_t::send_ipi(reg_t who)
 {
-  if(who < num_cores())
+  if (who < procs.size())
     procs[who]->deliver_ipi();
 }