io_device.hh (2738:5d7a31c7fa29) | io_device.hh (2784:6cff1a1c2935) |
---|---|
1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 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; --- 105 unchanged lines hidden (view full) --- 114 115 public: 116 PioPort(PioDevice *dev, Platform *p); 117 118 friend class PioPort::SendEvent; 119}; 120 121 | 1/* 2 * Copyright (c) 2004-2005 The Regents of The University of Michigan 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; --- 105 unchanged lines hidden (view full) --- 114 115 public: 116 PioPort(PioDevice *dev, Platform *p); 117 118 friend class PioPort::SendEvent; 119}; 120 121 |
122struct DmaReqState : public Packet::SenderState | 122class DmaPort : public Port |
123{ | 123{ |
124 /** Event to call on the device when this transaction (all packets) 125 * complete. */ 126 Event *completionEvent; | 124 protected: 125 struct DmaReqState : public Packet::SenderState 126 { 127 /** Event to call on the device when this transaction (all packets) 128 * complete. */ 129 Event *completionEvent; |
127 | 130 |
128 /** Where we came from for some sanity checking. */ 129 Port *outPort; | 131 /** Where we came from for some sanity checking. */ 132 Port *outPort; |
130 | 133 |
131 /** Total number of bytes that this transaction involves. */ 132 Addr totBytes; | 134 /** Total number of bytes that this transaction involves. */ 135 Addr totBytes; |
133 | 136 |
134 /** Number of bytes that have been acked for this transaction. */ 135 Addr numBytes; | 137 /** Number of bytes that have been acked for this transaction. */ 138 Addr numBytes; |
136 | 139 |
137 bool final; 138 DmaReqState(Event *ce, Port *p, Addr tb) 139 : completionEvent(ce), outPort(p), totBytes(tb), numBytes(0) 140 {} 141}; | 140 DmaReqState(Event *ce, Port *p, Addr tb) 141 : completionEvent(ce), outPort(p), totBytes(tb), numBytes(0) 142 {} 143 }; |
142 | 144 |
143class DmaPort : public Port 144{ 145 protected: | |
146 DmaDevice *device; 147 std::list<Packet*> transmitList; 148 149 /** The platform that device/port are in. This is used to select which mode 150 * we are currently operating in. */ 151 Platform *platform; 152 153 /** Number of outstanding packets the dma port has. */ --- 179 unchanged lines hidden --- | 145 DmaDevice *device; 146 std::list<Packet*> transmitList; 147 148 /** The platform that device/port are in. This is used to select which mode 149 * we are currently operating in. */ 150 Platform *platform; 151 152 /** Number of outstanding packets the dma port has. */ --- 179 unchanged lines hidden --- |