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 ---