DMASequencer.cc (6467:5670eee2a866) DMASequencer.cc (6876:a658c315512c)
1
2#include "mem/ruby/system/DMASequencer.hh"
3#include "mem/ruby/buffers/MessageBuffer.hh"
4#include "mem/ruby/slicc_interface/AbstractController.hh"
5
6/* SLICC generated types */
7#include "mem/protocol/SequencerMsg.hh"
8#include "mem/protocol/SequencerRequestType.hh"
9#include "mem/ruby/system/System.hh"
10
1
2#include "mem/ruby/system/DMASequencer.hh"
3#include "mem/ruby/buffers/MessageBuffer.hh"
4#include "mem/ruby/slicc_interface/AbstractController.hh"
5
6/* SLICC generated types */
7#include "mem/protocol/SequencerMsg.hh"
8#include "mem/protocol/SequencerRequestType.hh"
9#include "mem/ruby/system/System.hh"
10
11DMASequencer::DMASequencer(const string & name)
12 : RubyPort(name)
11DMASequencer::DMASequencer(const Params *p)
12 : RubyPort(p)
13{
14}
15
13{
14}
15
16void DMASequencer::init(const vector<string> & argv)
16void DMASequencer::init()
17{
17{
18 m_version = -1;
19 m_controller = NULL;
20 for (size_t i=0;i<argv.size();i+=2) {
21 if (argv[i] == "controller")
22 m_controller = RubySystem::getController(argv[i+1]);
23 else if (argv[i] == "version")
24 m_version = atoi(argv[i+1].c_str());
25 }
26 assert(m_controller != NULL);
27 assert(m_version != -1);
28
29 m_mandatory_q_ptr = m_controller->getMandatoryQueue();
30 m_is_busy = false;
31 m_data_block_mask = ~ (~0 << RubySystem::getBlockSizeBits());
32}
33
34int64_t DMASequencer::makeRequest(const RubyRequest & request)
35{
36 uint64_t paddr = request.paddr;
37 uint8_t* data = request.data;

--- 92 unchanged lines hidden (view full) ---

130{
131 issueNext();
132}
133
134void DMASequencer::printConfig(ostream & out)
135{
136
137}
18 m_is_busy = false;
19 m_data_block_mask = ~ (~0 << RubySystem::getBlockSizeBits());
20}
21
22int64_t DMASequencer::makeRequest(const RubyRequest & request)
23{
24 uint64_t paddr = request.paddr;
25 uint8_t* data = request.data;

--- 92 unchanged lines hidden (view full) ---

118{
119 issueNext();
120}
121
122void DMASequencer::printConfig(ostream & out)
123{
124
125}
126
127
128DMASequencer *
129DMASequencerParams::create()
130{
131 return new DMASequencer(this);
132}