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; --- 52 unchanged lines hidden (view full) --- 61 DMASequencer(const Params *); 62 void init(); 63 64 public: 65 class MemSlavePort : public QueuedSlavePort 66 { 67 private: 68 SlavePacketQueue queue; |
69 70 public: 71 MemSlavePort(const std::string &_name, DMASequencer *_port, |
72 PortID id); |
73 void hitCallback(PacketPtr pkt); 74 void evictionCallback(const Address& address); 75 76 protected: 77 bool recvTimingReq(PacketPtr pkt); 78 79 Tick recvAtomic(PacketPtr pkt) 80 { panic("DMASequencer::MemSlavePort::recvAtomic() not implemented!\n"); } --- 53 unchanged lines hidden (view full) --- 134 bool m_usingRubyTester; 135 136 MemSlavePort slave_port; 137 138 DrainManager *drainManager; 139 System* system; 140 141 bool retry; |
142 bool m_is_busy; 143 uint64_t m_data_block_mask; 144 DMARequest active_request; 145}; 146 147#endif // __MEM_RUBY_SYSTEM_DMASEQUENCER_HH__ |