39,40c39,41
< int _num_cpu_sequencers, RubyTester* _tester)
< : m_num_cpu_sequencers(_num_cpu_sequencers), m_tester_ptr(_tester)
---
> int _num_writers, int _num_readers, RubyTester* _tester)
> : m_num_writers(_num_writers), m_num_readers(_num_readers),
> m_tester_ptr(_tester)
83c84
< int index = random() % m_num_cpu_sequencers;
---
> int index = random() % m_num_readers;
85c86
< safe_cast<RubyTester::CpuPort*>(m_tester_ptr->getCpuPort(index));
---
> safe_cast<RubyTester::CpuPort*>(m_tester_ptr->getReadableCpuPort(index));
96,97c97,98
< // 50% chance that the request will be an instruction fetch
< if ((random() & 0x1) == 0) {
---
> // if necessary, make the request an instruction fetch
> if (port->type == RubyTester::CpuPort::InstOnly) {
138c139
< int index = random() % m_num_cpu_sequencers;
---
> int index = random() % m_num_writers;
140c141
< safe_cast<RubyTester::CpuPort*>(m_tester_ptr->getCpuPort(index));
---
> safe_cast<RubyTester::CpuPort*>(m_tester_ptr->getWritableCpuPort(index));
169c170
< int index = random() % m_num_cpu_sequencers;
---
> int index = random() % m_num_writers;
171c172
< safe_cast<RubyTester::CpuPort*>(m_tester_ptr->getCpuPort(index));
---
> safe_cast<RubyTester::CpuPort*>(m_tester_ptr->getWritableCpuPort(index));
234c235
< int index = random() % m_num_cpu_sequencers;
---
> int index = random() % m_num_readers;
236c237
< safe_cast<RubyTester::CpuPort*>(m_tester_ptr->getCpuPort(index));
---
> safe_cast<RubyTester::CpuPort*>(m_tester_ptr->getReadableCpuPort(index));
240,241c241,242
< // 50% chance that the request will be an instruction fetch
< if ((random() & 0x1) == 0) {
---
> // If necessary, make the request an instruction fetch
> if (port->type == RubyTester::CpuPort::InstOnly) {
366c367
< m_initiatingNode = (random() % m_num_cpu_sequencers);
---
> m_initiatingNode = (random() % m_num_writers);