54,55c54,71
< CpuPort(const std::string &_name, RubyTester *_tester, int _idx)
< : MasterPort(_name, _tester), tester(_tester), idx(_idx)
---
> //
> // Currently, each instatiation of the RubyTester::CpuPort supports
> // only instruction or data requests, not both. However, for those
> // RubyPorts that support both types of requests, separate InstOnly
> // and DataOnly CpuPorts will map to that RubyPort
> //
> enum Type
> {
> // Port supports only instruction requests
> InstOnly,
> // Port supports only data requests
> DataOnly
> };
>
> CpuPort(const std::string &_name, RubyTester *_tester, int _idx,
> Type _type)
> : MasterPort(_name, _tester), tester(_tester), idx(_idx),
> type(_type)
58a75
> Type type;
93c110,111
< MasterPort* getCpuPort(int idx);
---
> MasterPort* getReadableCpuPort(int idx);
> MasterPort* getWritableCpuPort(int idx);
138a157
> int m_num_cpus;
140c159,160
< std::vector<CpuPort*> ports;
---
> std::vector<CpuPort*> writePorts;
> std::vector<CpuPort*> readPorts;
143c163,164
< int m_num_cpu_sequencers;
---
> int m_num_writers;
> int m_num_readers;
145a167
> int m_num_inst_ports;