31 #ifndef __DEV_NET_SINIC_HH__ 32 #define __DEV_NET_SINIC_HH__ 43 #include "params/Sinic.hh" 83 Base(
const Params *
p);
150 : RxData(0), RxDone(0), TxData(0), TxDone(0),
151 rxPacketOffset(0), rxPacketBytes(0), rxDoneData(0)
208 if (txState == txFifoBlock)
224 void changeConfig(uint32_t newconfig);
225 void command(uint32_t command);
255 void devIntrPost(uint32_t interrupts);
256 void devIntrClear(uint32_t interrupts = Regs::Intr_All);
257 void devIntrChangeMask(uint32_t newmask);
318 #endif // __DEV_NET_SINIC_HH__
Ports are used to interface objects to each other.
PacketFifo::iterator rxFifoPtr
const PortID InvalidPortID
Dummy class to keep the Python class hierarchy in sync with the C++ object hierarchy.
EventFunctionWrapper txEvent
TxState
Transmit State Machine states.
SinicParams Params
Construction/Destruction/Parameters.
virtual Tick read(PacketPtr pkt)=0
Pure virtual function that the device must implement.
void cpuIntrPost(Tick when)
const Params * params() const
std::list< unsigned > VirtualList
EventFunctionWrapper rxDmaEvent
virtual bool recvPacket(EthPacketPtr pkt)
Stats::Scalar maxVnicDistance
Declaration of Statistics objects.
This is a simple scalar statistic, like a counter.
EventFunctionWrapper * intrEvent
void serialize(CheckpointOut &cp) const override
Serialization stuff.
uint64_t & regData64(Addr daddr)
virtual Tick write(PacketPtr pkt)=0
Pure virtual function that the device must implement.
void regStats()
Callback to set stat parameters.
uint64_t Tick
Tick count type.
Stats::Scalar numVnicDistance
virtual void resetStats()
Callback to reset stats.
Stats::Formula avgVnicDistance
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Interface(const std::string &name, Device *d)
std::shared_ptr< EthPacketData > EthPacketPtr
Port & getPort(const std::string &if_name, PortID idx=InvalidPortID) override
Get a port with a given name and index.
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
virtual const std::string name() const
int64_t Counter
Statistics counter type.
A Packet is used to encapsulate a transfer between two objects in the memory system (e...
bool recvPacket(EthPacketPtr packet)
device ethernet interface
uint8_t & regData8(Addr daddr)
Base Ethernet Device declaration.
bool cpuIntrPending() const
Stats::Scalar totalVnicDistance
Statistics.
uint32_t & regData32(Addr daddr)
std::ostream CheckpointOut
fifo_list::iterator iterator
virtual void drainResume()
Resume execution after a successful drain.
const SimObjectParams * _params
Cached copy of the object parameters.
PacketFifo::iterator rxIndex
EventFunctionWrapper txDmaEvent
RxState
Receive State Machine States.
int16_t PortID
Port index/ID type, and a symbolic name for an invalid port id.
std::vector< VirtualReg > VirtualRegs
int ContextID
Globally unique thread context ID.