31 #ifndef __DEV_NET_SINIC_HH__
32 #define __DEV_NET_SINIC_HH__
43 #include "params/Sinic.hh"
265 void devIntrClear(uint32_t interrupts = Regs::Intr_All);
327 #endif // __DEV_NET_SINIC_HH__
EventWrapper< Device,&Device::rxDmaDone > rxDmaEvent
PacketFifo::iterator rxFifoPtr
void unserialize(CheckpointIn &cp) override
Unserialize an object.
Dummy class to keep the Python class hierarchy in sync with the C++ object hierarchy.
void devIntrPost(uint32_t interrupts)
Interrupt management.
TxState
Transmit State Machine states.
void prepareRead(ContextID cpu, int index)
void transmit()
Retransmit event.
SinicParams Params
Construction/Destruction/Parameters.
struct Sinic::Device::@70 regs
device register file
void cpuIntrPost(Tick when)
void regStats() override
Register statistics for this object.
std::list< unsigned > VirtualList
virtual bool recvPacket(EthPacketPtr pkt)
EventWrapper< Device,&Device::rxKick > RxKickEvent
void command(uint32_t command)
Stats::Scalar maxVnicDistance
Declaration of Statistics objects.
This is a simple scalar statistic, like a counter.
void serialize(CheckpointOut &cp) const override
Serialization stuff.
bool rxFilter(const EthPacketPtr &packet)
receive address filter
uint64_t & regData64(Addr daddr)
EtherInt * getEthPort(const std::string &if_name, int idx) override
Additional function to return the Port of a memory object.
uint64_t Tick
Tick count type.
void prepareIO(ContextID cpu, int index)
Stats::Scalar numVnicDistance
Tick read(PacketPtr pkt) override
Memory Interface.
Stats::Formula avgVnicDistance
void unserialize(CheckpointIn &cp) override
Unserialize an object.
void resetStats() override
Reset statistics associated with this object.
Interface(const std::string &name, Device *d)
std::shared_ptr< EthPacketData > EthPacketPtr
void rxDmaDone()
DMA parameters.
void devIntrClear(uint32_t interrupts=Regs::Intr_All)
uint64_t Addr
Address type This will probably be moved somewhere else in the near future.
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.
Stats::Scalar totalVnicDistance
Statistics.
uint32_t & regData32(Addr daddr)
Tick write(PacketPtr pkt) override
IPR read of device register.
bool cpuIntrPending() const
std::ostream CheckpointOut
EventWrapper< Device,&Device::txKick > TxKickEvent
fifo_list::iterator iterator
void prepareWrite(ContextID cpu, int index)
void changeConfig(uint32_t newconfig)
device configuration
EventWrapper< Device,&Device::txEventTransmit > TxEvent
const SimObjectParams * _params
Cached copy of the object parameters.
PacketFifo::iterator rxIndex
void devIntrChangeMask(uint32_t newmask)
const std::string & name() const
Return port name (for DPRINTF).
RxState
Receive State Machine States.
virtual void drainResume() override
Resume execution after a successful drain.
std::vector< VirtualReg > VirtualRegs
const Params * params() const
int ContextID
Globally unique thread context ID.
void serialize(CheckpointOut &cp) const override
Serialization stuff.
EventWrapper< Base,&Base::cpuInterrupt > IntrEvent
EventWrapper< Device,&Device::txDmaDone > txDmaEvent