io_device.hh (2784:6cff1a1c2935) io_device.hh (2846:89fbe74d8ea8)
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;

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

77
78 virtual void recvFunctional(Packet *pkt) ;
79
80 virtual void recvStatusChange(Status status)
81 { peerStatus = status; }
82
83 virtual void getDeviceAddressRanges(AddrRangeList &resp, AddrRangeList &snoop);
84
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;

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

77
78 virtual void recvFunctional(Packet *pkt) ;
79
80 virtual void recvStatusChange(Status status)
81 { peerStatus = status; }
82
83 virtual void getDeviceAddressRanges(AddrRangeList &resp, AddrRangeList &snoop);
84
85 void resendNacked(Packet *pkt);
86
85 /**
86 * This class is used to implemented sendTiming() with a delay. When a delay
87 * is requested a new event is created. When the event time expires it
88 * attempts to send the packet. If it cannot, the packet is pushed onto the
89 * transmit list to be sent when recvRetry() is called. */
90 class SendEvent : public Event
91 {
92 PioPort *port;

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

108 void sendTiming(Packet *pkt, Tick time)
109 { new PioPort::SendEvent(this, pkt, time); }
110
111 /** This function is notification that the device should attempt to send a
112 * packet again. */
113 virtual void recvRetry();
114
115 public:
87 /**
88 * This class is used to implemented sendTiming() with a delay. When a delay
89 * is requested a new event is created. When the event time expires it
90 * attempts to send the packet. If it cannot, the packet is pushed onto the
91 * transmit list to be sent when recvRetry() is called. */
92 class SendEvent : public Event
93 {
94 PioPort *port;

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

110 void sendTiming(Packet *pkt, Tick time)
111 { new PioPort::SendEvent(this, pkt, time); }
112
113 /** This function is notification that the device should attempt to send a
114 * packet again. */
115 virtual void recvRetry();
116
117 public:
116 PioPort(PioDevice *dev, Platform *p);
118 PioPort(PioDevice *dev, Platform *p, std::string pname = "-pioport");
117
118 friend class PioPort::SendEvent;
119};
120
121
122class DmaPort : public Port
123{
124 protected:

--- 207 unchanged lines hidden ---
119
120 friend class PioPort::SendEvent;
121};
122
123
124class DmaPort : public Port
125{
126 protected:

--- 207 unchanged lines hidden ---