ruby: remove the cpu assumptions for the random tester
authorBrad Beckmann <Brad.Beckmann@amd.com>
Wed, 11 Jul 2012 05:51:54 +0000 (22:51 -0700)
committerBrad Beckmann <Brad.Beckmann@amd.com>
Wed, 11 Jul 2012 05:51:54 +0000 (22:51 -0700)
configs/example/ruby_random_test.py
src/cpu/testers/rubytest/CheckTable.cc

index eae3873b75a6391f68dd225b921407873dcfd2ef..3f6bd72e208fc4c970dc0d15ef688fad21415592 100644 (file)
@@ -90,8 +90,7 @@ if buildEnv['PROTOCOL'] == 'MOESI_hammer':
 
 tester = RubyTester(check_flush = check_flush,
                     checks_to_complete = options.checks,
-                    wakeup_frequency = options.wakeup_freq,
-                    num_cpus = options.num_cpus)
+                    wakeup_frequency = options.wakeup_freq)
 
 #
 # Create the M5 system.  Note that the Memory Object isn't
@@ -104,6 +103,8 @@ Ruby.create_system(options, system)
 
 assert(options.num_cpus == len(system.ruby._cpu_ruby_ports))
 
+tester.num_cpus = len(system.ruby._cpu_ruby_ports)
+
 #
 # The tester is most effective when randomization is turned on and
 # artifical delay is randomly inserted on messages
index b4860b62b425eb54241a7cf91c38826fbcf26f21..f10132c89b9a68c3142a4295f661964a96a5ecca 100644 (file)
@@ -106,6 +106,7 @@ CheckTable::addCheck(const Address& address)
 Check*
 CheckTable::getRandomCheck()
 {
+    assert(m_check_vector.size() > 0);
     return m_check_vector[random() % m_check_vector.size()];
 }