DMASequencer.hh (8688:5ca9dd977386) DMASequencer.hh (9104:27d56b644e78)
1/*
2 * Copyright (c) 2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
30#define __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
31
32#include <ostream>
33
1/*
2 * Copyright (c) 2008 Mark D. Hill and David A. Wood
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are
7 * met: redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer;

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

26 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 */
28
29#ifndef __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
30#define __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
31
32#include <ostream>
33
34#include "mem/protocol/DMASequencerRequestType.hh"
34#include "mem/ruby/common/DataBlock.hh"
35#include "mem/ruby/system/RubyPort.hh"
36#include "params/DMASequencer.hh"
37
38struct DMARequest
39{
40 uint64_t start_paddr;
41 int len;

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

60 void descheduleDeadlockEvent() {}
61
62 /* SLICC callback */
63 void dataCallback(const DataBlock & dblk);
64 void ackCallback();
65
66 void printConfig(std::ostream & out);
67
35#include "mem/ruby/common/DataBlock.hh"
36#include "mem/ruby/system/RubyPort.hh"
37#include "params/DMASequencer.hh"
38
39struct DMARequest
40{
41 uint64_t start_paddr;
42 int len;

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

61 void descheduleDeadlockEvent() {}
62
63 /* SLICC callback */
64 void dataCallback(const DataBlock & dblk);
65 void ackCallback();
66
67 void printConfig(std::ostream & out);
68
69 void recordRequestType(DMASequencerRequestType requestType);
70
68 private:
69 void issueNext();
70
71 private:
72 bool m_is_busy;
73 uint64_t m_data_block_mask;
74 DMARequest active_request;
75 int num_active_requests;
76};
77
78#endif // __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__
71 private:
72 void issueNext();
73
74 private:
75 bool m_is_busy;
76 uint64_t m_data_block_mask;
77 DMARequest active_request;
78 int num_active_requests;
79};
80
81#endif // __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__